|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
|
|
|||
OK und jetzt rechnest du das mal nach!
---Leopold--- |
|
|||
Ich steh im Augenblick total auf dem Schlauch
|
|
|||
dann gehn wir das mal durch:
double tp =NormalizeDouble((entry - (KerzeStopp2 * Profit)) * Point,_Digits); beispielwerte: entry = 12000 KerzeStopp2 = 12500 Profit = 2 dein Take Profit wäre dann: 12000 - (12500 * 2) = -13000 ---Leopold--- |
|
|||
Hi Tull,
dein Fehler liegt hier: TP soll immer höher als entry sein (wenn Buy). tp=entry+iLow*Multiplikator*Point; 1. Fehler: iLow erfordert nicht "*Point", weil es ist nicht Punkten. 2. Fehler: iLow von einige Kerze kann niedriger als entry sein. Gruß Bobs |
|
|||
Hallo,
mein Beispiel war aber von der Sell Order. Außerdem ist es mir darum gegengen, dass er darüber nachdenkt was genau er da ausrechnet. ---Leopold--- |
|
|||
Guten Morgen,
also soweit ist es mir das jetzt klar aber wenn ich einen TP gröer als 1 eingebe, dann macht er keine Short und wenn TP kleiner als 1, dann macht er keine Longs. Wenn ich TP von 2 eingebe, dann verdoppelt er mir als TP nur das Low der der Kerze. Zum Beispiel Entry 12.000 Low 11.500 TP 23.000 ??? und dass passiert immer, egal wie ich es schreibe. Ich vermute dass ich irgendwo anders einen Fehler eingebaut haben muss |
|
|||
// Stop Loss
extern int Stoploss=100;// //Take Profit extern int Takeprofit=0;// //Stop Loss double B_SL=NormalizeDouble(M_CB-Stoploss*_Point,_Digits);//einfacher Buy SL, der bei Open Buy gesendet werden soll. double S_SL=NormalizeDouble(M_CA+Stoploss*_Point,_Digits) ;//einfacher Sell SL, der bei Open Sell gesendet werden soll. if(Stoploss==0){//SL auf 0 stellen, um irgendwelche Missverständnisse zu vermeiden B_SL=0; S_SL=0;} //------------------------------------------------------------------------------------------------------------- //SLs genauso groß wie Minstoplevels machen, wenn sie kleiner sind: double MSL=MarketInfo(Symbol(),MODE_STOPLEVEL); if(B_SL<MSL)B_SL=MSL; if(S_SL<MSL)S_SL=MSL; //------------------------------------------------------------------------------------------------------------- //Take Profit double B_TP=NormalizeDouble(M_CB+Takeprofit*_Point,_Digit s);//einfacher Buy TP, der bei Open Buy gesendet werden soll. double S_TP=NormalizeDouble(M_CA-Takeprofit*_Point,_Digits);//einfacher Sell TP, der bei Open Sell gesendet werden soll. if(Takeprofit==0){//TP auf 0 stellen, um irgendwelche Missverständnisse zu vermeiden B_TP=0; S_TP=0;} |
|
|||
Was genau soll mit "Profit" multipliziert werden??
Ich denke mal nicht der StopLoss Kurs, sondern das Risiko. ---Leopold--- |
Lesezeichen |
|
|