Ich habe nach dem Code gefragt, der den höchsten offenen Preis findet. Tut er das? Tut er das auch bei Slippage?
Was meinen Sie, was das bedeutet?
Ich habe Sie gebeten, den Code zu zeigen, der prüft, ob der Bid 10 Pips über dem letzten Open liegt. Warum öffnen Sie einen Sell, wenn der Markt 10 Punkte über einem beliebigen Auftrag liegt (nicht dem höchsten).
Entscheiden Sie sich, ob Sie 10 Punkte oder 10 Pips wollen.
und überprüfen Sie auch diese Bedingung, die ich hinzugefügt habe, wenn ich richtig bin..............
double highest_open_price=0;
int highest_Ticket=-1;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
&& OrderMagicNumber()==0// my magic number
&& OrderSymbol()==Symbol() // and my pair.
&& OrderOpenPrice()>=highest_open_price)
{
highest_open_price=OrderOpenPrice();
highest_Ticket=OrderTicket();
}
RefreshRates();
if (Bid>=highest_open_price+10*Point)
highest_Ticket=OrderSend(Symbol(),OP_SELL,mylot(),Bid,0,0,0,"My Comment",0,0,Red);
}
Bitte posten Sie keinen Code mit fehlenden }
das ist verwirrend
Testen Sie Ihren EA im Strategietester und Sie werden sehen, ob Sie Recht haben oder nicht.
jetzt sehen, wie ich berechnet meine pips seit hoch ist, bin ich richtig..........
double highest_open_price=0;
int highest_Ticket=-1;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
&& OrderMagicNumber()==0// my magic number
&& OrderSymbol()==Symbol() // and my pair.
&& OrderOpenPrice()>=highest_open_price)
{
highest_open_price=OrderOpenPrice();
highest_Ticket=OrderTicket();
}
int look_pips=0;
for(pos=OrdersTotal()-1; pos>=0; pos--)
highest_open_price=MathAbs(High[pos]-Low[pos])/Point; //pips levels of the barif (Bid>=highest_open_price && look_pips >=my_pips)
Print("The last price movement more than ",my_pips);
RefreshRates();
highest_Ticket=OrderSend(Symbol(),OP_SELL,mylot(),Bid,0,0,0,"My Comment",0,0,Red);
erinnern my_pips ist in extern double my_pips =10; und auch nicht berechnet haben, um 5stellige Makler passen werde ich hinzufügen, dass letztere.
Sie erhalten den Wert fürhighest_open_price in der ersten Schleife
Dann durchlaufen Sie die Aufträge erneut und geben einen anderen Wert ein
warum?????
Es tut mir leid, dass ich einen Fehler gemacht habe, ich wollte es umschreiben, bevor ich Ihren Beitrag gesehen habe. Ich habe gerade daran gearbeitet, um es in den Tick-Wert zu ändern......
Jetzt verwende ich den Tickwert zur Berechnung der Pips.....
double highest_open_price=0;
int highest_Ticket=-1;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
&& OrderMagicNumber()==0// my magic number
&& OrderSymbol()==Symbol() // and my pair.
&& OrderOpenPrice()>=highest_open_price)
{
highest_open_price=OrderOpenPrice();
highest_Ticket=OrderTicket();
}
double tickvalue = (MarketInfo(Symbol(),MODE_TICKVALUE));
if(Digits == 5 || Digits == 3){
tickvalue = tickvalue*10;
}
if (Bid>=highest_open_price + tickvalue*10)
Print("The last price movement more than ",tickvalue);
RefreshRates();
highest_Ticket=OrderSend(Symbol(),OP_SELL,mylot(),Bid,0,0,0,"My Comment",0,0,Red);
now to add my comment on this tick value. one thing i know is -----10pips is a movement of price upward or down to definite number point stored while 10tick
is count of moving price without storing number
else 10tick can complete in 1 candle far below pips. while 10pips can complete in more than 20bars/candle or even 1bar/candle.
conclusion i dont think i got it right?
please point me through
in addition double MYPIP= MarketInfo(Symbol(), MODE_DIGITS); can it work on this case to get pip
jetzt habe ich den Code zusammengefügt höchste erhaltene Pips ist erhalten...
dann habe ich es zurück getestet, aber das Ergebnis stimmte nicht mit dem Code überein, warum?
die ich dem Code noch hinzufügen muss, oder liegt es daran, dass ich den Markt geschlossen habe...danke
oder sollte double PipDecimal = (MarketInfo(Symbol(),MODE_DIGITS)); berücksichtigt werden.
double highest_open_price=0;
int highest_Ticket=-1;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
&& OrderMagicNumber()==0// my magic number
&& OrderSymbol()==Symbol() // and my pair.
&& OrderOpenPrice()>=highest_open_price)
{
highest_open_price=OrderOpenPrice();
highest_Ticket=OrderTicket();
}
double PipDecimal=Point;
if(Digits == 5 || Digits == 3)
PipDecimal = PipDecimal*10;
if (Bid>=highest_open_price + PipDecimal *10)
Print("The last price movement more than ",PipDecimal);
RefreshRates();
highest_Ticket=OrderSend(Symbol(),OP_SELL,mylot(),Bid,0,0,0,"My Comment",0,0,Red);
if (Bid>=highest_open_price + PipDecimal *10)
{
Print("The last price movement more than ",PipDecimal);
RefreshRates();
highest_Ticket=OrderSend(Symbol(),OP_SELL,mylot(),Bid,0,0,0,"My Comment",0,0,Red);
}
Ohne die geschweiften Klammern wird bei jedem Tick ein neuer Handel eröffnet
Ja, ich will 10 Pips.
und überprüfen Sie auch diese Bedingung, die ich hinzugefügt habe, wenn ich richtig bin..............
Bitte posten Sie keinen Code mit fehlenden }
das ist verwirrend
Testen Sie Ihren EA im Strategietester und Sie werden sehen, ob Sie Recht haben oder nicht.
WHRoeder hat mich darauf hingewiesen und ich habe es korrigiert, danke für den Hinweis.
Ich denke, WHRoeder: ist richtig in seinem Punkt über Punkt und Pips, jetzt hoch ist bekam ich denke, Pips sollte berücksichtigt werden
jetzt sehen, wie ich berechnet meine pips seit hoch ist, bin ich richtig..........
erinnern my_pips ist in extern double my_pips =10; und auch nicht berechnet haben, um 5stellige Makler passen werde ich hinzufügen, dass letztere.Ich habe keine Ahnung, was Sie zu tun versuchen
Sie erhalten den Wert fürhighest_open_price in der ersten Schleife
Dann durchlaufen Sie die Aufträge erneut und geben einen anderen Wert ein
warum?????
Ich habe keine Ahnung, was Sie zu tun versuchen
Sie erhalten den Wert fürhighest_open_price in der ersten Schleife
Dann durchlaufen Sie die Aufträge erneut und geben einen anderen Wert ein
warum?????
Es tut mir leid, dass ich einen Fehler gemacht habe, ich wollte es umschreiben, bevor ich Ihren Beitrag gesehen habe. Ich habe gerade daran gearbeitet, um es in den Tick-Wert zu ändern......
Jetzt verwende ich den Tickwert zur Berechnung der Pips.....
Vielen Dank für Ihre Korrekturen ich schätze.
jetzt habe ich den Code zusammengefügt höchste erhaltene Pips ist erhalten...
dann habe ich es zurück getestet, aber das Ergebnis stimmte nicht mit dem Code überein, warum?
die ich dem Code noch hinzufügen muss, oder liegt es daran, dass ich den Markt geschlossen habe...danke
oder sollte double PipDecimal = (MarketInfo(Symbol(),MODE_DIGITS)); berücksichtigt werden.
Ohne die geschweiften Klammern wird bei jedem Tick ein neuer Trade eröffnet
Das ist großartig! Es hat gut funktioniert... perfekt erkannt.
Aber das einzige Problem ist, dass bei der zweiten Bestellung nach der ersten erfolgreichen Bestellung wieder mehrere Bestellungen geöffnet werden.
bitte gibt es etwas, was ich falsch gemacht habe.