Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 137
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo zusammen, wie schreibe ich meine Bedingung? Ich muss eine Stop-Loss-Order platzieren, nachdem der Kurs den Stop-Loss-Abstand überschritten hat.
für Buy.....
if( )
{
------------
}
für Sell.....
Funktion zur Übertragung von STB nach Breakeven werden das Orderticket und der Abstand in Pips an die Funktion übergeben
{
double sl=0.0;
if(OrderSelect(ticket,SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
if(Bid>=OrderOpenPrice() && Bid-OrderOpenPrice()>=distance*_Point) sl=OrderOpenPrice();
if(OrderStopLoss()!=0 && OrderStopLoss()>=OrderOpenPrice())return;
}
if(OrderType()==OP_SELL)
{
if(Ask<=OrderOpenPrice() && OrderOpenPrice()-Ask>=distance*_Point) sl=OrderOpenPrice();
if(OrderStopLoss()!=0 && OrderStopLoss()<=OrderOpenPrice())return;
}
ResetLastError();
if(sl<=0)return;
if(!OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0))
{
int error=GetLastError();
rezult=StringConcatenate(OrderSymbol(),": error modifying StopLoss order ",OrderTicket()," ",TypeToStr(OrderType())," №- ",error);
Print(rezult);
}
}
}
...
Es wird keine Malerei geben)
Die Suchlogik selbst ist schwer, und wie man sie einfacher machen kann, weiß ich noch nicht.
Vitaly, ich habe ursprünglich versucht, Ihnen zu erklären, dass es nicht die Berechnungen sind, die den Prüfer verlangsamen, sondern die grafischen Objekte in der visuellen Prüfung. Machen Sie es so, wie er es rät
Sie können es im Indikator rollen, ohne zu zeichnen). Und es ist besser, eine Wahl zu treffen. Hopfen - Zeichnung, Hopfen - keine Zeichnung:)
und sehen Sie den Unterschied in der Geschwindigkeit.
Es ist nicht einmal die Zeichnung, die sich verzögert, es ist nur das Vorhandensein von Grafiken auf dem Diagramm.
Es ist nicht einmal die Zeichnung, die die Arbeit verlangsamt, sondern nur das Vorhandensein von Grafiken auf dem Diagramm.
Vitaly, ich habe ursprünglich versucht, Ihnen zu erklären, dass es nicht die Berechnungen sind, die den Prüfer verlangsamen, sondern die grafischen Objekte in der visuellen Prüfung. Tu, was er sagt
und sehen Sie den Unterschied in der Geschwindigkeit.
Es ist nicht einmal die Zeichnung, die sich verzögert, es ist nur das Vorhandensein von Grafiken auf dem Diagramm.
Ich teste die Funktion ganz ohne Grafiken, das Diagramm wurde nur erstellt, um die Korrektheit der Berechnungen beim Schreiben des Codes zu sehen - es war rein technisch und ist längst aus dem Code entfernt worden. Während der Prüfung ist die Karte leer.
Also, wenn ich keine Funktion habe, "fliegt" das Testen, aber verbinden Sie Funktion - es geht langsam.
P.S. Ich brauche im Prinzip keine grafischen Objekte. Vergessen Sie Grafiken - ich habe sie nicht und werde sie nicht haben!
Ich teste die Funktion ganz ohne Diagramm. Das Diagramm wurde nur erstellt, um zu sehen, ob die Berechnungen beim Schreiben des Codes korrekt waren - es war rein technisch und wurde vor langer Zeit aus dem Code entfernt. Während der Prüfung ist die Karte leer.
Also, wenn ich keine Funktion habe, "fliegt" das Testen, aber verbinden Sie Funktion - es geht langsam.
P.S. Ich brauche im Prinzip keine grafischen Objekte. Vergessen Sie Grafiken - ich habe sie nicht und werde sie nicht haben!
Haben Sie hier nachgesehen?
Cool, ich werde versuchen, die Funktionen in den EA einzubauen. Ich werde das Ergebnis später veröffentlichen.
Ich danke Ihnen!!!
Bitte helfen Sie mir zu verstehen, wie man den Code korrekt schreibt, um den Index der um 4:00 und 15:00 Uhr geöffneten Bars zu erhalten
Das ist die eine.
int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Das sind zwei.
int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Das ist die eine.
int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Das sind zwei.
int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);