Erste Programmierversuche...HILFE Fehlermeldung!
Hallo liebe MQL4 Experten. Ich benötige bei folgendem Fehler Eure Hilfe.
Ich - ein blutiger Programmieranfänger - kann mit folgendem Fehler leider relativ wenig anfangen... Und jetzt kommt Ihr ins Spiel. Könnt ihr mir verraten, was ich falsch mache?! // Moving Average double MAlang = iMA(NULL,0,MA_lang,0,MODE_SMA,PRICE_CLOSE,1); double MAlangVorperiode = iMA(NULL,0,MA_lang,0,MODE_SMA,PRICE_CLOSE,2); double MAkurz = iMA(NULL,0,MA_kurz,0,MODE_SMA,PRICE_CLOSE,1); double MAkurzVorperiode = iMA(NULL,0,MA_kurz,0,MODE_SMA,PRICE_CLOSE,2); // RSI double RSI = iRSI(Symbol(),0,RSI_Perioden,PRICE_CLOSE,0); double RSI1 = iRSI(Symbol(),0,RSI_Perioden,PRICE_CLOSE,1); // Handelssignale ermitteln if(NeuePeriodeBegonnen == true) { // Buy Signal if(MAkurz>MAlang && MAkurzVorperiode<=MAlangVorperiode && RSI>RSI_BuyLevel && RSI1<RSI_BuyLevel); { LongSignal = true; } else LongSignal = false; Hier erhalte ich beim Kompilieren die Fehlermeldung " 'else' - illegal 'else' without matching 'if' ... Letzten Endes soll der Quote zum Ausdruck bringen: "Wenn die oben genannten Bedingungen erfüllt worden sind, handelt es sich um ein LongSignal. Wenn die Bedingungen nicht vollständig erfüllt sind, gibt es kein entsprechendes LongSignal. |
Code:
// Handelssignale ermitteln Beim Codeschreiben hier immer den #-Button oben in der Icon-Leiste drücken und vor und nach mathematischen Operationszeichen eine Leerstelle einfügen, damit man den Code besser lesen kann. Desweiteren klar strukturierte Klammern setzen. traderdoc |
Sehr cool traderdoc, danke. Jetzt ist die Fehlermeldung futsch. Wenn die Strategie jetzt noch aufgeht wäre das der Knaller. Aber ein Schritt nach dem anderen :)
|
Das if() kannst Du noch sehr schön kürzen:
Code:
LongSignal = ( MAkurz>MAlang && MAkurzVorperiode<=MAlangVorperiode && RSI>RSI_BuyLevel && RSI1<RSI_BuyLevel ); Analoges gilt für das äußere if, das Ganze wird zu: Code:
if( NeuePeriodeBegonnen ) LongSignal = ( MAkurz>MAlang && MAkurzVorperiode<=MAlangVorperiode && RSI>RSI_BuyLevel && RSI1<RSI_BuyLevel ); LG Mat |
Hey Mat,
vielen Dank für deinen (sehr guten) Hinweis. Je kürzer und einfacher es am Ende ist, desto besser :) |
Code:
if( NeuePeriodeBegonnen ) LongSignal = ( MAkurz>MAlang && MAkurzVorperiode<=MAlangVorperiode && RSI>RSI_BuyLevel && RSI1<RSI_BuyLevel ); Der boolean-Vergleich entfällt bei mir auch permanent. Für die if else-Schleife können man nun auch noch schreiben: Code:
if (NeuePeriodeBegonnen) { // Buy Signal traderdoc |
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:05 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