Expert Advisors: Flat Channel

 

Flat Channel:

Kurzbeschreibung

Flat Channel

Autor: Vladimir Karputov

 

Die Autoren sind gut! Gute Arbeit, das Ziel erreicht - profitable flachen Expert Advisor. Jetzt habe ich es auf unserem Markt getestet, insbesondere auf Si-12.18, es gibt einen guten Gewinn! Ich habe lange nach einem solchen Expert Advisor gesucht.

Es gibt ein paar Kommentare: 1. Es dauert zu lange, um zu zeichnen, die ganze Logik ist in OnTick, es ist nicht ein Tick, können Sie CBarDetector mit Periode M1 oder M5 verwenden. Ich habe es mit M5 gemacht - es ist viel mehr Spaß zu arbeiten. 2. Ich würde gerne eine minimale bis maximale Kanalbreite in der Dynamik haben, abhängig von der aktuellen Marktvolatilität.

 
Rashit Ibatullin:

Die Autoren sind gut! Gute Arbeit, das Ziel erreicht - profitable flachen Expert Advisor. Jetzt habe ich es auf unserem Markt getestet, insbesondere auf Si-12.18, es gibt einen guten Gewinn! Ich habe lange nach einem solchen Expert Advisor gesucht.

Es gibt ein paar Kommentare: 1. Es dauert zu lange, um zu zeichnen, die ganze Logik ist in OnTick, es ist nicht tick-basiert, Sie können CBarDetector mit Periode M1 oder M5 verwenden. Ich habe es mit M5 gemacht - es ist viel mehr Spaß zu arbeiten. 2. Ich würde gerne eine minimale bis maximale Kanalbreite in der Dynamik haben, abhängig von der aktuellen Marktvolatilität.

Um schnell im visuellen Modus zu testen, müssen Sie die Kommentarausgabe im Code deaktivieren:

/*   Comment("\nСоветник "+__FILE__+" весь в работе:  ",TimeControl(),
           "\nДень:  ",Dayof(STimeCurrent),
           "\nТорговый счёт:  ",m_account.Login(),
           "\nCompany:  ",m_account.Company(),
           "\nEquity:  ",m_account.Equity(),
           "\nВремя по GMT:  "+TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS),
           "\nSpread:  ",m_symbol.Spread(),
           "\nStopLevel:  ",m_symbol.StopsLevel(),
           "\nПлечо:  ",m_account.Leverage()
           );*/
//--- wir arbeiten nur zum Zeitpunkt der Geburt eines neuen Balkens
 

Vielen Dank an diejenigen, die diesen EA implementiert haben!

Ich nehme diesen EA Zeile für Zeile auseinander, um ihn an Moex anzupassen (er ist schließlich für Forex konzipiert), daher habe ich eine Frage zum Code.

//--- FreezeLevel -> für anhängige Aufträge und Änderungen

   double freeze_level=m_symbol.FreezeLevel()*m_symbol.Point();
   if(freeze_level==0.0)
      freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;
   freeze_level*=1.1;
   
   
   
   
//--- StopsLevel -> für TakeProfit und StopLoss
   double stop_level=m_symbol.StopsLevel()*m_symbol.Point();
   if(stop_level==0.0)
      stop_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;
   stop_level*=1.1;
   

warum gibt es Multiplikation, genau mit 3 und dann mit 1,1?

 
refounder83:

Vielen Dank an diejenigen, die diesen EA eingeführt haben!

Ich nehme diesen EA Zeile für Zeile auseinander, um ihn an moex anzupassen (er ist schließlich für Forex konzipiert), daher habe ich eine Frage zum Code.

warum gibt es eine Multiplikation, genau mit 3 und dann mit 1,1?

Ich kenne Forex, ich kenne Börse. Aber ich weiß nicht, was zum Teufel moex ist.

 
Sie selbst haben gestern ein Thema mit dem Titel ---- Expert Advisor for moex. Erhalten Sie den Preis ?
 
Ich möchte nur die Logik des Codes verstehen und ihn an die Börse anpassen.
 
refounder83:
Ich möchte nur die Logik des Codes verstehen und ihn an die Börse anpassen

1. bitte beachten Sie: wenn ich jemandem antworte, benutze ich die Schaltfläche "Antworten".

Um den Code genau zu schreiben, müssen Sie zunächst alles über die Level SYMBOL_TRADE_STOPS_LEVEL und SYMBOL_TRADE_FREEZE_LEVEL vom technischen Support des Brokers in Erfahrung bringen: Sind diese Level für alle Symbole gleich Null? Was bedeutet "Null" - ist es ein gleitendes Level oder gibt es wirklich kein Level.

 
Vladimir Karputov:

1- Bitte beachten Sie: Wenn ich jemandem antworte, benutze ich die Schaltfläche "Antworten".

Um den Code genau zu schreiben, sollten Sie sich zunächst beim technischen Support des Brokers über die Level SYMBOL_TRADE_STOPS_LEVEL und SYMBOL_TRADE_FREEZE_LEVEL informieren: Sind diese Level für alle Symbole gleich Null? Was bedeutet "Null" - ist es ein gleitendes Level oder gibt es wirklich kein Level.

Ich habe dem technischen Support des Brokers geschrieben, dass diese Levels nicht übertragen werden.

 
refounder83:

Ich habe dem technischen Support des Brokers geschrieben, dass diese Levels nicht gesendet werden.

Dann einfach ignorieren sie (vorübergehend auskommentieren die Zeilen, in denen diese Ebenen gelernt werden).

 
Vladimir Karputov:

Dann ignorieren Sie sie einfach (kommentieren Sie die Zeilen, in denen diese Stufen gelernt werden, vorübergehend aus).

Können Sie mir sagen, ob die Zeitsteuerung in diesem EA nicht funktioniert? Es gibt Zeilen in der TimeControl-Prozedur.

  if(!InpTimeControl)
      return(true);

d.h. wenn der Wert von InpTimeControl falsch ist, gibt er trotzdem true an die TimeControl-Prozedur zurück?

bool TimeControl(void)
  {
   if(!InpTimeControl)
      return(true);
      
   MqlDateTime STimeCurrent;
   datetime time_current=TimeCurrent();
   if(time_current==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(time_current,STimeCurrent);
   if(InpStartHour<InpEndHour) // Intraday-Zeitintervall
     {

      if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else if(InpStartHour>InpEndHour) // Zeitintervall mit dem Übergang in einen Tag
     {

      if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else
      return(false);
//---
   return(false);
  }