|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
if-Anweising in MQL4
Hallo!
Ich befinde mich noch am Anfang der MQL4-Programmierung und habe deshalb eine Frage: meine if-Anweisung ist irgendwie falsch geschrieben. Bei zwei oder mehreren offen Positionen werden keine weiteren gesetzt. Das Script soll immer nur eine neue Position bis zum nächsten Signal setzen, wenn der RSIWert>70 ist. Was muss ich nun ändern? Danke! if (RSIWert>70&&OrdersTotal()<2) // dann Order OrderSend ("EURUSD",OP_SELL,3.0,Bid,3,0,Bid-20*_Point,"RSI",55,0,Red); |
|
|||
Zitat:
Code:
if ( RSIWert > 70 // RSI über 70 => also 71,72,73,.... && OrdersTotal() < 2 // Anzahl aller Orders weniger als 2 => also 0 oder 1 ) Du mußt Dir die Bedingung wirklich haarklein überlegen. Zitat:
Das ist alles, was ich Dir hier erst mal als Anregung geben kann. AVT |
|
|||
Hi,
ich denke die Funktion OrdersTotal ist die falsche, oder? Wenn der RSIWert>70 ist, dann eine Position öffnen. Kurs geht <70 und irgendwann wieder >70, nun eine neue Position öffnen. So soll es sein, ich weiß nur nicht wie... |
|
|||
Code:
datetime OldBar; //in die globalen Variablen schreiben if (OldBar != Time[0]) { if (iRSI(NULL, 0, 14, PRICE_CLOSE, 2) < 70 && iRSI(NULL, 0, 14, PRICE_CLOSE, 1) > 70) { //Action } OldBar = Time[0]; } traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Code:
datetime Bar15M; if (Bar15M!= iTime(NULL,PERIOD_M15,0)) { if (iRSI(NULL, PERIOD_M15, 14, PRICE_CLOSE, 2) < 70 && iRSI(NULL,PERIOD_M15, 14, PRICE_CLOSE, 1) > 70) { .................. } Bar15M= iTime(NULL,PERIOD_M15,0); } statt Time[0] / iTime(NULL,PERIOD_M15,14,PRICE_CLOSE,1) nehmen. So kannst Du mehrere TimeFrames auswerten. |
Lesezeichen |
|
|