Jemand weiß, warum ich die 130 Fehler, ich habe sichergestellt, dass meine SL ist breit genug und dass es auf der rechten Seite des Marktes (dh unter für einen Kauf) ist. Jede Hilfe wäre sehr willkommen und eine große Erleichterung* Seufzer
if(BUYING)
{
if(stoploss > 0) //SL wird auf 35 gesetzt
realSL = Ask - (stoploss * Point);
if(Gewinnmitnahme > 0)
realTP = Ask + takeprofit * Point;
//BUYING!!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") fehlgeschlagen mit Fehler #", GetLastError());
Alert("CODE_TEST: BUY BUY BUY");
Vielen Dank an alle,
Pat
Versuchen Sie dies... Ich glaube, Sie verwechseln Bid und Ask.
if(KAUFEN)
{
if(stoploss > 0) //SL wird auf 35 gesetzt
realSL = Bid-(stoploss * Point);
if(Gewinnmitnahme > 0)
realTP = Bid+ takeprofit * Point;
//BUYING!!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") fehlgeschlagen mit Fehler #", GetLastError());
Alert("CODE_TEST: BUY BUY BUY");
************************************
Faustregel... wenn Sie auf Ask einsteigen, steigen Sie mit Bid aus, wenn Sie auf Bid einsteigen, steigen Sie mit Ask aus
LongStop = Bid-(stoploss*Point)
LongLimit =Geld+(Limit*Punkt)
LongEntry= ASK
LongTrail = Bid-(stoploss*Point)
ShortStop = Ask+(stoploss*Point)
ShortLimit =Ask-(Grenze*Punkt)
ShortEintrag= BID
ShortTrail = Ask+(stoploss*Point)
Seewolf
Versuchen Sie dies... Ich glaube, Sie verwechseln die Begriffe Bid und Ask
if(KAUFEN)
{
if(stoploss > 0) //SL wird auf 35 gesetzt
realSL = Bid-(stoploss * Point);
if(Gewinnmitnahme > 0)
realTP = Bid+ takeprofit * Point;
//BUYING!!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") fehlgeschlagen mit Fehler #", GetLastError());
Alert("CODE_TEST: BUY BUY BUY");
************************************
Faustregel... wenn Sie zum Ask einsteigen, steigen Sie mit Bid aus, wenn Sie zum Bid einsteigen, steigen Sie mit Ask aus
LongStop = Bid-(stoploss*Point)
LongLimit =Geld+(Limit*Punkt)
LongEinstieg= ASK
LongTrail = Bid-(stoploss*Point)
ShortStop = Ask+(stoploss*Point)
ShortLimit =Ask-(Grenze*Punkt)
ShortEintrag= BID
ShortTrail = Ask+(stoploss*Point)
Seewolf
Danke für Ihre Antwort, Seawolf. Wenn ich also in meinem ursprünglichen Code kaufe, sollte ich dann nicht den Briefkurs für meine Berechnung verwenden, weil das der Preis ist, den ich zahlen muss?
Es ist der Preis, den Sie bezahlen, wenn Sie einsteigen, aber Sie müssen den Spread decken, so dass Sie den anderen Preis bezahlen, wenn Sie aussteigen... die Tatsache, dass Sie den Ask für Einstiege UND Ausstiege verwenden, ist absolut falsch.
Befolgen Sie die Faustregel, die ich Ihnen gegeben habe, und alles wird gut funktionieren... Ich weiß, dass es sehr verwirrend sein kann, deshalb habe ich es auf meine weiße Tafel geschrieben und nach vielen Jahren des Handels und der Programmierung, beziehe ich mich immer noch fast täglich darauf. Ich habe viele Artikel gefunden, in denen es nicht einmal richtig steht, also fühlen Sie sich nicht schlecht.
Hallo
Obwohl der ursprüngliche Code falsch ist, weil Sie Bid anstelle von Ask zum Kauf verwenden, sollte er dennoch funktionieren, wenn der Stoploss wirklich 35 Punkte beträgt. Vergewissern Sie sich, dass das System, auf dem Sie laufen, nicht auf 5 Dezimalstellen umgestellt wurde, sonst sollte der Stoploss bei 350 Punkten liegen. Bei Interbank wurden in der Demo 5 Dezimalstellen verwendet, im Live-System waren es 4.
Jemand weiß, warum ich die 130 Fehler, ich habe sichergestellt, dass meine SL breit genug ist und dass es auf der rechten Seite des Marktes (dh unter für einen Kauf) ist. Jede Hilfe wäre sehr willkommen und eine große Erleichterung* Seufzer
if(BUYING)
{
if(stoploss > 0) //SL ist auf 35 gesetzt
realSL = Ask - (stoploss * Point);
if(takeprofit > 0)
realTP = Ask + takeprofit * Point;
//BUYING!!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") failed with error #", GetLastError());
Alert("CODE_TEST: BUY BUY BUY");
Vielen Dank an alle,
Pat
Nun, ich kann kategorisch feststellen, dass Seawolf und Ruptor aus ihrem kollektiven Hintern sprechen.
Bei einer OP_BUY-Order ist es absolut richtig, den Ask-Kurs zu verwenden, um den Einstiegskurs und die Stopps zu generieren.
Sie müssen jedoch die Werte in Ihren Stops überprüfen, indem Sie eine Print("realSL =, "DoubleToStr(realSL,Digits)," realTP=",DoubleToStr(realTP,Digits)) Anweisung direkt vor dem Senden Ihrer Order verwenden, um sicherzustellen, dass die Werte Ihren Erwartungen entsprechen. Wenn sie Ihren Erwartungen entsprechen, sollten Sie die akzeptablen Werte mit Hilfe der Funktion MarketInfo() mit der Kennung MODE_STOPLEVEL überprüfen.
Nun, ich kann kategorisch sagen, dass Seawolf und Ruptor aus ihrem kollektiven Hintern sprechen.
Für eine OP_BUY-Order ist es absolut richtig, den Ask-Kurs zu verwenden, um den Einstiegskurs und die Stopps zu generieren.
Sie müssen jedoch die Werte in Ihren Stops überprüfen, indem Sie eine Print("realSL =, "DoubleToStr(realSL,Digits)," realTP=",DoubleToStr(realTP,Digits)) Anweisung direkt vor dem Senden Ihrer Order verwenden, um sicherzustellen, dass die Werte Ihren Erwartungen entsprechen. Wenn sie Ihren Erwartungen entsprechen, sollten Sie die akzeptablen Werte mit der Funktion MarketInfo() mit der Kennung MODE_STOPLEVEL überprüfen.
Danke Cloudbreaker, ich wusste, dass ich mit dem Bezahlen des Ask richtig lag, ich habe nirgendwo angegeben, dass ich auch den Ask bezahle, wenn ich aus dem Trade herauskomme, den SL-Wert auszudrucken ist eine großartige Idee, vielen Dank für all Ihre Anregungen.
Vielen Dank Cloudbreaker, ich wusste, ich war richtig mit der Zahlung der Nachfrage, nirgends habe ich jemals angeben, dass ich auch zahlen die Nachfrage aus dem Handel, Drucken der SL-Wert ist eine tolle Idee, ich danke Ihnen für alle Ihre Eingabe.
Allright Cloud, dies war ein Lauf für mein Geld, aber ich denke, ich habe es gelöst, aus irgendeinem Grund sowohl die TP & SL wurden retruned als 1,0 (viel zu klein), so habe ich meine Variablen durch den gesamten Prozess und bemerken, ich deklariert die takeprofit und stoploss Werte als Doppel-und teh realSL realTP Werte als Integer, Ändern realTP & realSL zu verdoppeln das Problem behoben, noch einmal danke.

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Jemand weiß, warum ich die 130 Fehler, ich habe sichergestellt, dass meine SL breit genug ist und dass es auf der rechten Seite des Marktes (dh unter für einen Kauf) ist. Jede Hilfe wäre sehr willkommen und eine große Erleichterung* Seufzer
if(KAUFEN)
{
if(stoploss > 0) //SL wird auf 35 gesetzt
realSL = Ask - (stoploss * Point);
if(Gewinnmitnahme > 0)
realTP = Ask + takeprofit * Point;
//BUYING!!
ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, slippage, realSL, realTP, nameEA, 887722,0,Red);
if(ticket < 0)
Print("OrderSend (",nameEA,") schlug mit Fehler #", GetLastError()) fehl;
Alert("CODE_TEST: BUY BUY BUY");
Vielen Dank an alle,
Pat