[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 478
Ich bitte um Hilfe, ich habe mich schon umgebracht, ich finde es nicht heraus!!! Ich brauche, dass bei Erreichung +20 p., SL des Auftrages auf den Preis der Eröffnung umgestellt wurde, d.h. Funktion gibt 77 aus
for(i=(OrdersTotal()-1); i>=0; i--) // перебор ордеров
{
if (!OrderSelect(i, SELECT_BY_POS))
{
continue;
}
if (OrderSymbol()!=Instr||OrderMagicNumber()!=MN)
continue;
if(OrderStopLoss()==OrderOpenPrice())
break;
if ( OrderProfit()>=(MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub) )
return(77);
}
Ich möchte, dass der SL der Order auf den Eröffnungskurs zurückgesetzt wird, wenn er +20 Pips erreicht, d.h. die Funktion zeigt 77
20 p wird nicht auf diese Weise berechnet, sondern Sie müssen die Funktion OrderOpenPrice() verwenden und sie mit dem aktuellen Preis vergleichen, d. h., wenn die Order einen positiven oder Null-Gewinn erreicht, möchten Sie wahrscheinlich, dass das Ergebnis 77 ist, d. h:
for(i=(OrdersTotal()-1); i>=0; i--) // перебор ордеров
{
if (!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol()!=Instr||OrderMagicNumber()!=MN) continue;
if(OrderStopLoss()==OrderOpenPrice()) break;
if ( OrderProfit()>=0)) return(77);
}
die Funktion OrderProfit() gibt den Ordergewinn in der Einzahlungswährung zurück, nicht in Pips
Können Sie mir sagen, ob es möglich ist, dass ein EA Indikatordaten (von denjenigen, die dies zulassen) von einem anderen Indikator erhält. Eine solche Gelegenheit habe ich bei den Preistypen nicht gefunden.
20p wird nicht auf diese Weise berechnet, Sie müssen die Funktion OrderOpenPrice() verwenden und sie mit dem aktuellen Preis vergleichen. Offensichtlich möchten Sie, dass das Ergebnis 77 zurückgegeben wird, wenn der Auftrag einen positiven Gewinn oder Null erreicht, dann sieht es so aus:
die Funktion OrderProfit() gibt den Ordergewinn in der Einzahlungswährung zurück, nicht in Pips
Das ist ungefähr das, was ich dachte, ich berechne keine 20 Pips, sie werden in der Bezub-Variable eingestellt. Ich versuche, den aktuellen Gewinn der Order in der Einzahlungswährung (OrderProfit()) und die geforderten 20 Punkte in der Einzahlungswährung ((MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub) zu vergleichen
demlin: Das habe ich mir auch gedacht, ich rechne nicht mit 20 p. Sie sind in der Bezub-Variable festgelegt. Ich versuche, den aktuellen Ordergewinn in der Einzahlungswährung (OrderProfit()) und den erforderlichen Wert von 20 p in der Einzahlungswährung ((MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub) zu vergleichen.
dann haben Sie vergessen, den aktuellen Preis zu berücksichtigen und wie viele Pips sich der Preis seit der Auftragserteilung bewegt hat:
ZZZEROXXX: Bitte teilen Sie mir mit, ob ich Indikatordaten (die, die es erlauben) von einem anderen Indikator erhalten kann. Bei den Preistypen habe ich eine solche Möglichkeit nicht gefunden.
Ich habe Ihren Plan ausprobiert. Alert ergibt einen (OrderOpenPrice() -Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub-Wert von -0,033. Obwohl der Gewinn 21 Pence beträgt! Ist das normal?
demlin: Ich habe Ihr System getestet. Alarm erzeugt für (OrderOpenPrice() -Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub Werte -0,033. Obwohl der Gewinn 21 Pence beträgt! Ist das normal?
Tut mir leid, ich schreibe, ohne es zu überprüfen, ich habe es hier falsch verstanden, es sollte so funktionieren:
Auch das sind noch keine schönen Zahlen. Ich glaube nicht, dass es um die Formel geht. Der Ausdruck (MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub) selbst ergibt im Grunde 20 für den Euro. Der Punkt liegt irgendwo in der for-Schleife
Auch das sind noch keine schönen Zahlen. Ich glaube nicht, dass es um die Formel geht. Der Ausdruck (MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub) selbst ergibt grundsätzlich 20 für EURUSD. Es befindet sich irgendwo in der for-Schleife
der Link https://www.mql5.com/ru/code hat ein ganzes Lager voller ähnlicher Exemplare
Sie haben einen Link zu einem großen Abschnitt angegeben )))
Das ist witzig.
Guten Tag!
Ich bitte um Hilfe, ich habe mich schon umgebracht, ich finde es nicht heraus!!! Ich brauche, dass bei Erreichung +20 p., SL des Auftrages auf den Preis der Eröffnung umgestellt wurde, d.h. Funktion gibt 77 aus
Ich kann es nicht zum Laufen bringen.
Ich möchte, dass der SL der Order auf den Eröffnungskurs zurückgesetzt wird, wenn er +20 Pips erreicht, d.h. die Funktion zeigt 77
20 p wird nicht auf diese Weise berechnet, sondern Sie müssen die Funktion OrderOpenPrice() verwenden und sie mit dem aktuellen Preis vergleichen, d. h., wenn die Order einen positiven oder Null-Gewinn erreicht, möchten Sie wahrscheinlich, dass das Ergebnis 77 ist, d. h:
die Funktion OrderProfit() gibt den Ordergewinn in der Einzahlungswährung zurück, nicht in Pips20p wird nicht auf diese Weise berechnet, Sie müssen die Funktion OrderOpenPrice() verwenden und sie mit dem aktuellen Preis vergleichen. Offensichtlich möchten Sie, dass das Ergebnis 77 zurückgegeben wird, wenn der Auftrag einen positiven Gewinn oder Null erreicht, dann sieht es so aus:
die Funktion OrderProfit() gibt den Ordergewinn in der Einzahlungswährung zurück, nicht in PipsDas habe ich mir auch gedacht, ich rechne nicht mit 20 p. Sie sind in der Bezub-Variable festgelegt. Ich versuche, den aktuellen Ordergewinn in der Einzahlungswährung (OrderProfit()) und den erforderlichen Wert von 20 p in der Einzahlungswährung ((MarketInfo(Symbol (),MODE_TICKVALUE)*Bezub) zu vergleichen.
dann haben Sie vergessen, den aktuellen Preis zu berücksichtigen und wie viele Pips sich der Preis seit der Auftragserteilung bewegt hat:
(OrderOpenPrice() -Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub
Bitte teilen Sie mir mit, ob ich Indikatordaten (die, die es erlauben) von einem anderen Indikator erhalten kann. Bei den Preistypen habe ich eine solche Möglichkeit nicht gefunden.
iCustom()
https://book.mql4.com/ru/samples/shareddann haben Sie vergessen, den aktuellen Preis zu berücksichtigen und wie viele Pips sich der Preis seit der Auftragserteilung bewegt hat:
(OrderOpenPrice() -Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub
Ich habe Ihr System getestet. Alarm erzeugt für (OrderOpenPrice() -Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Bezub Werte -0,033. Obwohl der Gewinn 21 Pence beträgt! Ist das normal?
Tut mir leid, ich schreibe, ohne es zu überprüfen, ich habe es hier falsch verstanden, es sollte so funktionieren:
Verkauf:(OrderOpenPrice()-Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot/Punkt
Kaufen: (Ask-OrderOpenPrice())*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot/Punkt
Tut mir leid, ich schreibe, ohne es zu überprüfen, ich habe es hier falsch verstanden, es sollte so funktionieren:
Verkauf:(OrderOpenPrice()-Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot/Punkt
Kaufen: (Ask-OrderOpenPrice())*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot/Punkt
Tut mir leid, ich schreibe, ohne es zu überprüfen, ich habe es hier falsch verstanden, es sollte so funktionieren:
Verkauf:(OrderOpenPrice()-Bid)*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot/Punkt
Kaufen: (Ask-OrderOpenPrice())*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot/Punkt