Ich habe meinen ersten Expert Advisor aus den freundlicherweise zur Verfügung gestellten Codes gebaut (besonderen Dank anMakarFX_ für Motivation und Code)
Alles funktioniert, wie es sollte, aber es gibt ein Problem. Ich weiß nicht, wo ich danach suchen soll.
Der Algorithmus sieht folgendermaßen aus:
es gibt ein Signal - Auftrag wird eröffnet
Schließen Sie ihn mit einer Stop- oder Take-Order in Punkten oder nach Erreichen der Gewinn- und Verlustgrenzen in den Depotwährungen CountLoss und CountProfit. (je nachdem, was zuerst eintritt)
wenn ein Stop - der nächste Auftrag mit einer Marge, wenn ein Take, CountProfit, CountLoss - das Lot wird auf den Ausgangswert zurückgesetzt
Wenn der Stop Loss auf CountLoss gesetzt ist, wird der nächste Auftrag z.B. mit dem Mindestlot statt mit dem Startlot eröffnet:
in den externen Variablen wird das Startlos 0,02 gesetzt, der nächste Auftrag bei CountLoss wird das Los 0,01 sein.
Ich habe meinen ersten Expert Advisor aus den freundlicherweise zur Verfügung gestellten Codes gebaut (besonderen Dank anMakarFX_ für Motivation und Code)
Alles funktioniert, wie es sollte, aber es gibt ein Problem. Ich weiß nicht, wo ich danach suchen soll.
Der Algorithmus sieht wie folgt aus:
es gibt ein Signal - Auftrag wird eröffnet
Schließen Sie ihn mit einer Stop- oder Take-Order in Punkten oder nach Erreichen der Gewinn- und Verlustgrenzen in den Depotwährungen CountLoss und CountProfit. (je nachdem, was zuerst eintritt)
wenn ein Stop - der nächste Auftrag mit einer Marge, wenn ein Take, CountProfit, CountLoss - das Lot wird auf den Ausgangswert zurückgesetzt
Wenn der Stop Loss auf CountLoss gesetzt ist, wird der nächste Auftrag z.B. mit dem Mindestlot statt mit dem Startlot eröffnet:
in den externen Variablen wird das Startlos 0,02 gesetzt, der nächste Auftrag bei CountLoss wird das Los 0,01 sein.
Kann mir jemand sagen, wo der Fehler liegt?
Sehen Sie, was ich in der Funktion double Lots() geändert habe
Wird einmal gedruckt, wenn es einen Verlusthandel gibt
Danke für diesen Gedanken. Ich habe den Zeitpunkt des Abschlusses der aktuellen Bestellung mit dem Zeitpunkt des Abschlusses der vorherigen Bestellung verglichen, und alles lief wie gewünscht. Ich habe auch die Funktion genutzt, um eine Order in die entgegengesetzte Richtung mit einem Stop-Loss zu eröffnen, obwohl das nicht viel gebracht hat.
Petronet: Danke, ich habe die Idee verstanden. Ich habe den Zeitpunkt des Abschlusses der aktuellen Bestellung mit dem Zeitpunkt des Abschlusses der vorherigen Bestellung verglichen, und alles lief wie gewünscht. Ich habe auch die Funktion der Eröffnung eines Auftrags in die entgegengesetzte Richtung mit einem Stop-Loss gemacht, obwohl es nicht viel geholfen hat.
Guten Tag zusammen. Ich versuche, die Berechnung von Gewinn und Stop mit dem atr-Indikator zu implementieren. Die Haltestelle funktioniert gut. Der Gewinn wird jedoch immer auf denselben Wert gesetzt. Hier ist der Code für die Gewinnberechnung
if(Tip_tp == en_TP_po_atr)// ЕСЛИ ПРОФИТ ПО АТР//-------------------------------------------------------------------------------------------------+
{
tp =NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits);// ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif(tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp=NormalizeDouble(tp*1.5,Digits); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
tp= NormalizeDouble(tp*Point, Digits());// НОРМАЛИЗУЕМ ПРОФИТ, ЧТОБЫ РАБОТАЛО НА ЛЮБЫХ КАТИРОВКАХ//+--КОНЕЦ РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+
Was ist der Fehler, dass der Gewinn immer den gleichen Wert hat? Hm?
Guten Tag zusammen. Ich versuche, die Berechnung von Gewinn und Stop mit dem atr-Indikator zu implementieren. Die Haltestelle funktioniert gut. Der Gewinn wird jedoch immer auf denselben Wert gesetzt. Hier ist der Code für die Gewinnberechnung
Was ist der Fehler, dass der Gewinn immer den gleichen Wert hat? Hm?
// ЕСЛИ ПРОФИТ ПО АТР//-------------------------------------------------------------------------------------------------+if(Tip_tp == en_TP_po_atr)
{
tp =NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits);// ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif(tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp=NormalizeDouble(tp*1.5,Digits); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
//+--КОНЕЦ РАСЧЁТА ПРОФИТА---------------------------------------------------------------------- Разделитель ---+
Vielen Dank für Ihre Hilfe - ich habe einen Teil des Codes geändert und alles hat funktioniert. Aber können Sie den Fehler in Worten beschreiben, da ich ihm mit dem Auge nicht entgehen kann?
DanilaMactep: Vielen Dank für Ihre Hilfe - ich habe einen Teil des Codes geändert - alles hat funktioniert. Aber können Sie in Worten beschreiben, was der Fehler war, da ich mit dem Auge nicht weiterkomme?
Ihr Code wurde aufgeteilt
В этой части кода ты задаешь tp значение АТРif(Tip_tp == en_TP_po_atr)// ЕСЛИ ПРОФИТ ПО АТР//-------------------------------------------------------------------------------------------------+
{
tp =NormalizeDouble(iATR(NULL,PeriodForWork_sl,atr_sl_period,1),Digits);// ПРИСВАЕВАЕМ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССАif(tp<stoplevel) // ЕСЛИ ПРОФИТ МЕНЬШЕ ЧЕМ МИНИМАЛЬНО ДОПУСТИМЫЙ УРОВЕНЬ ЕГО УСТАНОВКИ ТО
{
tp=NormalizeDouble(tp*1.5,Digits); // ПРОФИТУ ПРИСВАЕВАЕМ МИНИМАЛЬНО ДОПУСТИМУЮ ВЕЛИЧИНУ ЕГО УСТАНОВКИ
}
}
А в этой части ты обнуляешь предыдущее действие и задаешь непонятно что...
tp= NormalizeDouble(tp*Point, Digits());// НОРМАЛИЗУЕМ ПРОФИТ, ЧТОБЫ РАБОТАЛО НА ЛЮБЫХ КАТИРОВКАХ
Guten Tag, bitte helfen Sie mir, mein Terminal wieder zum Laufen zu bringen - der Markt funktioniert nicht. Ich möchte einen kostenlosen Indikator vom Markt herunterladen und kann es nicht.
Ich habe das Passwort geändert, neu gestartet, aber nichts funktioniert.
Das Programm protokolliert Folgendes
2021.08.23 11:54:18.236 MQL5 Market hat das Produkt 'MACD Intraday Trend' nicht heruntergeladen(www.mql5.com:443 send failed [426: ])
Ich habe meinen ersten Expert Advisor aus den freundlicherweise zur Verfügung gestellten Codes gebaut (besonderen Dank anMakarFX_ für Motivation und Code)
Alles funktioniert, wie es sollte, aber es gibt ein Problem. Ich weiß nicht, wo ich danach suchen soll.
Der Algorithmus sieht folgendermaßen aus:
es gibt ein Signal - Auftrag wird eröffnet
Schließen Sie ihn mit einer Stop- oder Take-Order in Punkten oder nach Erreichen der Gewinn- und Verlustgrenzen in den Depotwährungen CountLoss und CountProfit. (je nachdem, was zuerst eintritt)
wenn ein Stop - der nächste Auftrag mit einer Marge, wenn ein Take, CountProfit, CountLoss - das Lot wird auf den Ausgangswert zurückgesetzt
Wenn der Stop Loss auf CountLoss gesetzt ist, wird der nächste Auftrag z.B. mit dem Mindestlot statt mit dem Startlot eröffnet:
in den externen Variablen wird das Startlos 0,02 gesetzt, der nächste Auftrag bei CountLoss wird das Los 0,01 sein.
Kann mir jemand sagen, wo der Fehler liegt?
Ich habe meinen ersten Expert Advisor aus den freundlicherweise zur Verfügung gestellten Codes gebaut (besonderen Dank anMakarFX_ für Motivation und Code)
Alles funktioniert, wie es sollte, aber es gibt ein Problem. Ich weiß nicht, wo ich danach suchen soll.
Der Algorithmus sieht wie folgt aus:
es gibt ein Signal - Auftrag wird eröffnet
Schließen Sie ihn mit einer Stop- oder Take-Order in Punkten oder nach Erreichen der Gewinn- und Verlustgrenzen in den Depotwährungen CountLoss und CountProfit. (je nachdem, was zuerst eintritt)
wenn ein Stop - der nächste Auftrag mit einer Marge, wenn ein Take, CountProfit, CountLoss - das Lot wird auf den Ausgangswert zurückgesetzt
Wenn der Stop Loss auf CountLoss gesetzt ist, wird der nächste Auftrag z.B. mit dem Mindestlot statt mit dem Startlot eröffnet:
in den externen Variablen wird das Startlos 0,02 gesetzt, der nächste Auftrag bei CountLoss wird das Los 0,01 sein.
Kann mir jemand sagen, wo der Fehler liegt?
Sehen Sie, was ich in der Funktion double Lots() geändert habe
Wird einmal gedruckt, wenn es einen Verlusthandel gibt
Danke, ich habe die Idee verstanden. Ich habe den Zeitpunkt des Abschlusses der aktuellen Bestellung mit dem Zeitpunkt des Abschlusses der vorherigen Bestellung verglichen, und alles lief wie gewünscht. Ich habe auch die Funktion der Eröffnung eines Auftrags in die entgegengesetzte Richtung mit einem Stop-Loss gemacht, obwohl es nicht viel geholfen hat.
Genauer gesagt...
Guten Tag zusammen. Ich versuche, die Berechnung von Gewinn und Stop mit dem atr-Indikator zu implementieren. Die Haltestelle funktioniert gut. Der Gewinn wird jedoch immer auf denselben Wert gesetzt. Hier ist der Code für die Gewinnberechnung
Was ist der Fehler, dass der Gewinn immer den gleichen Wert hat? Hm?
Guten Tag zusammen. Ich versuche, die Berechnung von Gewinn und Stop mit dem atr-Indikator zu implementieren. Die Haltestelle funktioniert gut. Der Gewinn wird jedoch immer auf denselben Wert gesetzt. Hier ist der Code für die Gewinnberechnung
Was ist der Fehler, dass der Gewinn immer den gleichen Wert hat? Hm?
Sehen Sie, was ich in der Funktion double Lots() geändert habe
Super! Vielen Dank!
Vielen Dank für Ihre Hilfe - ich habe einen Teil des Codes geändert - alles hat funktioniert. Aber können Sie in Worten beschreiben, was der Fehler war, da ich mit dem Auge nicht weiterkomme?
Ihr Code wurde aufgeteilt
Ich habe das Passwort geändert, neu gestartet, aber nichts funktioniert.
Das Programm protokolliert Folgendes
2021.08.23 11:54:18.236 MQL5 Market hat das Produkt 'MACD Intraday Trend' nicht heruntergeladen(www.mql5.com:443 send failed [426: ])
Mit freundlichen Grüßen, Olga