Jump to content


Photo

Skript Take Profit Abstand = Stop Loss Abstand


Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.

  • Please log in to reply
2 replies to this topic

#1 rotu

rotu

    Runners

  • Rookie
  • PipPip
  • 27 posts
  • 97 thanks

Posted 02 May 2016 - 10:01 PM

Hallo,
 
ich bin auf der Suche nach einem Skript für Mt4, welches einen take profit - von einer pending oder einer schon ausgeführten order - so modifiziert, dass dieser genauso viele Pips von der Order entfernt ist, wie der gesetzte stop loss und somit ein Chance-Risiko-Verhältnis von 1:1 erzielt werden kann.
 
Ich habe ein "modify take profit" Skript gefunden, dessen Code so aussieht:

//+------------------------------------------------------------------+//| 0-A-TP-2000                                                      |//| Copyright 2012, File45.                                          |//+------------------------------------------------------------------+#property copyright "Copyright 2012, File45"#property link      "http://codebase.mql4.com/en/author/file45"#property show_inputs//+------------------------------------------------------------------+//| script program start function                                    |//+------------------------------------------------------------------+extern string _ = "Key in TP points below";extern int Take_Profit = 0;double itotal,pp;     int start(){     itotal=OrdersTotal();   for(int cnt=itotal-1;cnt>=0;cnt--)    {      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);            if (OrderSymbol()==Symbol() && OrderType()==OP_BUY)      {         if (Take_Profit == 0)         {             ModifyTakeProfit(0);         }         else         {             ModifyTakeProfit(OrderOpenPrice() + Take_Profit*Point);         }       }            if (OrderSymbol()==Symbol() && OrderType()==OP_SELL)      {         if (Take_Profit == 0)         {             ModifyTakeProfit(0);         }                else         {               ModifyTakeProfit(OrderOpenPrice() - Take_Profit*Point);         }              }     }   return(0);}void ModifyTakeProfit(double idTakeProfit) {   bool fmTP;   fmTP=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),idTakeProfit,0,CLR_NONE);}

 


Leider weiß ich aufgrund mangelnder mql-Kenntnisse nicht, wie ich in dem Skript einstellen kann, dass der Takeprofit genauso weit von der Order weggesetzt wird, wie der stop loss.
 
Kann mir jemand konkret sagen, wie das Skript geändert werden müsste, damit ich mein oben beschriebenes Vorhaben realisieren kann (falls das mit diesem Skript überhaupt möglich ist)?
 
 
Vielen Dank im Voraus.
 
Viele Grüße.


Edited by rotu, 02 May 2016 - 10:08 PM.

  • 0

Thanked by 1 Member:
Vola

#2 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,206 posts
  • 13785 thanks
  • Wohnsitz:O-Town

Posted 02 May 2016 - 10:04 PM

1. Durchlaufen aller offenen Positionen mittels for Schleife

2. Auslesen des OrderOpenPrice und des Order StoppLoss

3. Berechnung der Differenz

4. Modifizierung der Order und Setzen des TakeProfit

 

1. und 4. ist bereits vorhanden. Was noch fehlt ist 2. und 3. wink.gif.

Die ModifyTakeProfit müssten bspw. geändert werden in: ModifyTakeProfit(2*OrderOpenPrice()-OrderStopLoss());

Der externe TakeProfit kann dann natürlich weg und die else Bedingung wird dadurch auch hinfällig.


  • 0

Wann kaufen? Schau in den Investment Kalender auf Marktgedanken.

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 3 Members:
oldschuren , rotu , Vola

#3 rotu

rotu

    Runners

  • Rookie
  • PipPip
  • 27 posts
  • 97 thanks

Posted 06 May 2016 - 11:49 AM

Skript läuft. Auf conglom-o ist immer Verlass! Vielen Dank : )


  • 1

Thanked by 2 Members:
Vola , oldschuren

Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users