Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Problem bei TP (http://www.expert-advisor.com/forum/showthread.php?t=6159)

Tullermore 24.07.18 11:53

Zitat:

Zitat von Leopold (Beitrag 41281)
KerzeStopp2 ist wahrscheinlich iHigh(...) oder?

Ja, das ist er

Leopold 24.07.18 12:33

OK und jetzt rechnest du das mal nach!


---Leopold---

Tullermore 24.07.18 13:15

Ich steh im Augenblick total auf dem Schlauch:confused:

Leopold 24.07.18 13:19

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---

Bobs 25.07.18 07:39

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

Leopold 25.07.18 07:56

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---

Tullermore 26.07.18 09:23

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

MA-EA 26.07.18 09:31

// 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;}

Leopold 26.07.18 09:38

Was genau soll mit "Profit" multipliziert werden??
Ich denke mal nicht der StopLoss Kurs, sondern das Risiko.

---Leopold---

Leopold 26.07.18 09:42

@MA-EA: Das aktuelle Problem liegt da wo anders denke ich.

---Leopold---


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:49 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum