SimpleDailyRangeBreakExpert - Seite 11

 

Ich frage mich, warum dieser "3600"-Wert zur Startzeit hinzugefügt wird. Das macht die Sache mit der Zeitverschiebung für mich unklar. Vielleicht kann Igorad helfen.

string TimeTrade = "00:00";

StartTime = StrToTime(TimeTrade) + TimeShift*3600;

if(CurTime() >= StartTime && CurTime() <= StartTime+3600)

{

if ( OrderOpenDate() < StrToTime(TimeToStr( StartTime,TIME_DATE)))

{

if( ScanTrades()>0 && !BuyInTrade && !SellInTrade) PendOrdDel();

Today = StrToTime(TimeToStr( StartTime,TIME_DATE));

if (Today != PrevDay )

{ DaysInTrade = DaysInTrade+1;

//Print(" Days=",DaysInTrade,"Today=",TimeToStr(Today,TIME_DATE),"PrevDay=", TimeToStr(PrevDay,TIME_DATE)) ;

}

if( TradePeriod > 0 )CloseOrdbyTime();

}

if(ScanTrades()<1 && Today != PrevDay )

{

spread= MarketInfo(Symbol(),MODE_SPREAD)*Point;

digit = MarketInfo(Symbol(),MODE_DIGITS);

Lotsi = MoneyManagement ( MM, Lots, MMRisk, LossMax);

//if (TrailingStop > 0) InitialStop=true;

ArrayCopyRates(rates_h1, Symbol(), PERIOD_H1);

open = rates_h1[0][1];

high=0; low=10000000;

for (i=24;i>=1;i--)

{

high = MathMax( high, rates_h1[3]);

low = MathMin( low , rates_h1[2]);

}

range =(high-low);

if ( Monday == 1 ) if(DayOfWeek()==1){BuyOrdOpen(); SellOrdOpen();}

if ( Tuesday == 1 ) if(DayOfWeek()==2){BuyOrdOpen(); SellOrdOpen();}

if ( Wednesday== 1 ) if(DayOfWeek()==3){BuyOrdOpen(); SellOrdOpen();}

if ( Thursday == 1 ) if(DayOfWeek()==4){BuyOrdOpen(); SellOrdOpen();}

if ( Friday == 1 ) if(DayOfWeek()==5){BuyOrdOpen(); SellOrdOpen();}

DaysInTrade = 0;

}

}
 

Dieser 3600 Wert scheint die Umrechnung von Stunden in Sekunden zu sein. Das bedeutet, dass es für mich, dass ich beginnen @ 09:00 Broker-Zeit (gmt+0). mein Problem ist anderswo.

 

Hallo Flytox,

ich werde mir diesen EA jetzt mal ansehen (normalerweise nehme ich die Statements einmal pro Tag und poste etwas Interessantes). Ich werde diesen EA mit metaEditor öffnen, um zu sehen:

- vielleicht verwendet dieser EA eine Tracert-Datei;

- oder vielleicht sind einige Paare im Code als EURUSD anstelle von EURUSDm für IBFX angegeben.

Wie auch immer, wenn Sie die Zeit auf 9 einstellen, sollte EA alle profitablen Orders um 9 schließen und neue Pending Orders (ebenfalls um 9) öffnen.

Ich werde mir das jetzt ansehen.

 

Ich habe andere EAs auf demselben Konto geschlossen (TPE, TS,) und SBS hat schließlich um 9:00 Uhr (Brokerzeit) ausstehende Aufträge platziert. Die EAs, die ich entfernt habe, hatten unterschiedliche magische Nummern. Gibt es eine bekannte Inkompatibilität zwischen SBS123 und anderen EAs?

 

Ich schaute in den Code dieses 1.23 und sah kein Problem: dieser EA verwendet keine Datei von außen und keine Indikatoren. Also, es muss mit IBFX funktionieren.

Ich verwende diese EA/Einstellung (Standardeinstellung (siehe diesen Beitrag). Es ist die Einstellung für GMT+3 Broker. Und ich habe EURUSD und GBPUSD mit TimeShift=9 (09 Uhr für LiteForex Serverzeit, die jetzt GMT+3 ist), USDJPY mit TimeShift=10 und USDCHF mit TimeShift=7. Dies ist für GMT+3.

Wenn IBFX GMT+0 hat, kann es sich um folgendes handeln:

EURUSD und GBPUSD mit TimeShift=6 und so weiter.

 

Hallo ND,

hast du meinen vorherigen Beitrag gesehen, der sich mit möglichen Konflikten befasst, wenn andere EAs auf demselben MT4 (demselben Konto) sind?

 
Flytox:
Ich habe andere EAs auf demselben Konto geschlossen (TPE, TS,) und SBS hat schließlich um 9:00 Uhr (Brokerzeit) Pending Orders platziert. Die EAs, die ich entfernt habe, hatten unterschiedliche magische Nummern. Gibt es eine bekannte Inkompatibilität zwischen SBS123 und anderen EAs?

Inkompatibilität? Nein.

Es kann der Fall sein, dass 2 EAs den Auftrag modifizieren wollen, oder den Auftrag genau in der gleichen Zeit in Minuten und Sekunden schließen/öffnen wollen. Aber das ist nicht der Normalfall. Grundsätzlich ist es unmöglich, mehr als 3 EAs in einer Kopie von Metatrader zu verwenden (EAs können sich gegenseitig "unterbrechen"). 1 oder 2 oder vielleicht 3 EAs in einer Kopie von Metatrader können in Ordnung sein, aber es hängt auch mit den Zeitrahmen zusammen: zum Beispiel können wir einen Scalper auf M5 zusammen mit einem EA verwenden, der auf dem D1-Zeitrahmen arbeitet und so weiter. Weil Metatrader als Programm nicht 2 Dinge gleichzeitig tun kann: es kann nicht eine Order ändern und die andere schwebende Order genau in der gleichen Zeit in Minuten/Sekunden löschen.

In Bezug auf diese SBS_V1.23 so EA wird versuchen, ausstehende Bestellung zu löschen und öffnen Sie eine neue viele Male, bis es getan wird. SBS_V1.21 ist das gleiche: wenn Metatrader kann nicht löschen schwebende Ordnung jetzt, so Metatrader wird versuchen, es zu tun 1 Minuten später, wenn Fehler - 1 Minuten später noch einmal, bis der Job erledigt sein wird. Ich denke also, dass es keine Inkompatibilität gibt.

Ähnliche EAs sind SBS_v1.21 und TPE EA.

Weniger risikoreich ist SBS_v1.21, risikoreicher ist TPE und risikoreicher als TPE ist SBS_v1.23 (nur sortiert nach den Riks für Trader in Bezug auf die Starteinlagengröße).

Wenn Sie für jeden EA eine andere magische Zahl verwenden, gibt es keinen Konflikt.

Natürlich, wenn Sie 5 EAs in einer Kopie von Metatrader testen, so kann es alles sein, auch mit unterschiedlichen magischen Zahl. 5 EAs in einem Metatrader ist zu viel.

Dateien:
sbs121.zip  18 kb
tpe12.zip  17 kb
 

Vielen Dank für Ihre Antworten, ND.

 

Hier finden Sie aktualisierte Erklärungen für 2 Versionen.

Siehe diesen Beitrag und die Excel-Datei für die Erklärungen vom Beginn des Testzeitraums https://www.mql5.com/en/forum/173383/page79

Dateien:
sbs121_1.zip  18 kb
sbs123.zip  50 kb
 

Hier finden Sie eine aktualisierte Erklärung für die Version SBS 1.23.

Dateien:
sbs23.zip  35 kb
Grund der Beschwerde: