Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 12.03.15
Benutzerbild von Nap$ter
Nap$ter Nap$ter ist offline
Neues Mitglied
 
Registriert seit: Jan 2015
Beiträge: 21
Nap$ter befindet sich auf einem aufstrebenden Ast
Exclamation Wo ist der Fehler?

Ahoi zusammen.

Habe hier einen einfachen Indikator der mir einen Alarm ausgibt, wenn eine Kerze größer als 15 Pips (einstellbar) ist. Leider kommt das Signal die ganze Zeit endloss sobald die 15 Pips erreicht sind.... Ein Signal pro Kerze reicht natürlich aus. Wo ist der Fehler?
Kann mal jemand drüber schauen, reatliv überschaubarer Quellcode.


Code:
....
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Lime
#property indicator_width1 1

extern double distance = 0.0015;
extern string Alert = "off";

double v1[];
double val1;
double whichBar;
int i;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexArrow(0,233);
   SetIndexStyle(0,DRAW_ARROW , EMPTY);
   SetIndexDrawBegin(0, i-1);
   SetIndexBuffer(0, v1);
   SetIndexLabel(0,"Candle bigger than Distance");
   
//----

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   i = Bars;
   while(i >= 0)
     {   
       val1 = (High[i]-Low[i]);
       //----
       if(val1 > distance) {
           v1[i] = Low[i]-0.0005;
       }
       else{
           v1[i] = 0;
       }
       //----
       i--;
     }
 
if(Alert == "on" && v1[0] != 0){
      Alert("Candle Size Alert on "+Symbol()+" at "+TimeToStr(TimeCurrent(),TIME_SECONDS));
   }      
   return(0);
  }
   
   
//----
//+------------------------------------------------------------------+
Würde mich über eine Antwort freuen.

PS: Habe den Indikator mal angehängt falls ihn jemand im MT4 anschauen möchte.
Angehängte Dateien
Dateityp: mq4 Candle Size_chart_neu_2.mq4 (2,0 KB, 4x aufgerufen)