Fehler, Irrtümer, Fragen - Seite 1418

 
Hallo zusammen!
Ich habe vor kurzem mit der Programmierung begonnen und bin auf ein solches Problem gestoßen: Der StopLoss ist nicht gesetzt. Können Sie uns mitteilen, wo der Fehler liegt?
int start()
{
if(CountTrades()==0)
{
double ima=iMA(Symbol(),PERIOD_H1,14,0,MODE_SMA,PRICE_CLOSE,1);
if(Ask>ima)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,",Magic,0,Blue);
if(Ticket>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0)
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits);
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0);
}
}
}
sonst if(Gebot<ima)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,",Magic,0,Red);
if(Ticket>0)
{
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0)
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits);
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0);
}
}
}
sonst
{
int order_type=FindLastOrderType();
if(auftragsart==OP_BUY)
{
price=FindLastPrice(OP_BUY);
if(Ask<=Preis-Schritt*Punkt)
{
lastlot = FindLastLots(OP_BUY);
lastlot = NormalizeDouble(lastlot * Multiplier, 2);
ticket=OrderSend(Symbol(),OP_BUY,lastlot,Ask,Slippage,0,0,",Magic,0,Blue);
if(Ticket>0)
ModifyOrders(OP_BUY);
}
}
else if(Auftragsart==OP_SELL)
{
price=FindLastPrice(OP_SELL);
if(Gebot<=Preis+Step*Punkt)
{
lastlot=FindLastLots(OP_SELL);
}
lastlot=NormalizeDouble(lastlot*Multiplikator,2);
ticket=OrderSend(Symbol(),OP_SELL,lastlot,Bid,Slippage,0,0,",Magic,0,Red);
if(Ticket>0)
ModifyOrders(OP_SELL);
}
}
}
zurück(0);
}
Vielen Dank im Voraus)))
 
Сергей Верещак:
if(Ask>ima)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,",Magic,0,Blue);
if(Ticket>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
bool modify1=OrderModify(ticket,OrderOpenPrice(),0,TP,0); Take Profit und Stop Loss mit 0 setzen
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits);
bool modify=OrderModify(ticket,OrderOpenPrice(),SL,0,0); Stop Loss und Take Profit auf Null setzen, d.h. die zuvor gesetzten löschen
}
}
}

Vielen Dank im Voraus)))
Greifen Sie zu, geben Sie Tipps ...
 
Vladimir Pastushak:
Hau rein, ich habe dir einen Tipp gegeben ...
Danke Wolodja. Ich werde graben, ich werde es früher herausfinden)))
 
Vladimir Pastushak:
Hau rein, ich habe dir einen Tipp gegeben ...

Dann bringen wir es auf den Standard des "neuen" MQL4 und MQL5.

//TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);
 
Alexey Volchanskiy:

Dann bringen wir es auf den Standard des "neuen" MQL4 und MQL5.

//TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*_Point,_Digits);

Am 15. Mai dieses Jahres gibt es einen Beitrag von Renat Fatkhullin mit dem folgenden Text:

Unterstriche, um ihren veralteten Status anzuzeigen. Solche einfachen Variablen, die global deklariert sind, können nicht verwendet werden, sondern sehen aus wie normale lokale Variablen.

Um die Sprache und den Code sauber zu halten, sollten wir zu Symbol(), Period() wechseln. Es geht nur um die Rücksichtnahme und darum, das Erbe des alten Systems loszuwerden.

Bei Bedarf können Sie den Beitrag mit dem zitierten Punkt durchsuchen. Dies war die Antwort von Renat auf eine der Fragen eines Mitglieds der Gemeinschaft, die wie folgt begann

In MT4 sind die Variablen Point, Digits... In MT5 beginnen die gleichen Variablen mit einem Unterstrich...


P./S.: Ausgehend von der Tatsache, dass Unterstriche veraltet sind (veraltet oder missbilligt oder für die Verwendung in der Zukunft nicht empfohlen), ist die Verwendung von Punkt() und Ziffern() ohne Unterstriche daher veraltet. /* In MQL4 erzeugt eine solche Verwendung von Point() und Digits() mit Klammern nach ihren Namen, wie in MQL5, keine Fehler bei der Arbeit und keine Fehler oder Warnungen beim Kompilieren.

 

Hallo, ich habe eine sehr interessante Frage, ich habe 3 MT4 Plattformen auf meinem Computer, ¹1 ist die wichtigste, wo ich ein echtes Konto eröffnet. Nr. 2 und 3 - Hilfsmittel, zum Testen von EAs, werden Demo-Konten eröffnet. Wenn ich versuche, ein Signal von https://www.mql5.com zu kopieren (ich wähle ein Signal aus, drücke auf "Kopieren starten", dann erscheint ein Fenster mit der Aufforderung, MetaTrader4 zu starten und eine Plattform zu abonnieren, ich drücke auf dieses Fenster), öffnet sich Plattform Nummer 3 anstelle von Plattform Nummer 1. Wie kann ich sie korrigieren? Wie öffnet man den Bahnsteig Nummer 1?

 
Mihail Kuzmin:

Hallo, ich habe eine sehr interessante Frage, ich habe 3 MT4 Plattformen auf meinem Computer, ¹1 ist die wichtigste, wo ich ein echtes Konto eröffnet. Nr. 2 und 3 - Hilfsmittel, zum Testen von EAs, werden Demo-Konten eröffnet. Wenn ich versuche, ein Signal von https://www.mql5.com zu kopieren (ich wähle ein Signal aus, drücke auf "Kopieren starten", dann öffnet sich ein Fenster mit der Aufforderung, MetaTrader4 zu starten und eine Plattform zu abonnieren), öffne ich Plattform Nummer 3 statt Plattform Nummer 1. Wie kann ich sie korrigieren? Wie kann ich den Bahnsteig Nummer 1 öffnen?

Wenn Sie einen "Zoo" von mehreren Terminals haben, sollten Sie das Signal direkt von dem Terminal suchen, das Sie kopieren möchten.
 
Karputov Vladimir:
Wenn Sie einen "Zoo" von mehreren Terminals haben, müssen Sie das Signal direkt von dem Terminal suchen, auf das Sie kopieren wollen.
Das Terminal funktioniert nicht, sondern gibt eine Fehlermeldung aus...
 
Mihail Kuzmin:
Das Terminal funktioniert nicht und gibt eine Fehlermeldung aus...
Welche Art von Fehler? Was tun Sie und in welcher Reihenfolge?
 
Karputov Vladimir:
Welche Art von Fehler? Was tun Sie, in welcher Reihenfolge?

Ich benutze die Website jetzt seit einem Monat, ich habe mich über die Website angemeldet, und dieses Mal öffnet sich aus irgendeinem Grund eine völlig andere Plattform.

Ich hatte mich erst vor einem Monat über die Website für ein Signal angemeldet, und es eröffnete die Plattform, die ich brauchte.

Grund der Beschwerde: