|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Nur Position eröffnen wenn Spread <= x ist
Hallo,
ich wollte diese if Bedingung in meinen EA einbauen aber irgendwie funzt das nicht. Die Bedingung lautet: Code:
extern integer maxSpread; if(SymbolInfoInteger(Symbol(), SYMBOL_SPREAD) <= maxSpread){ if(OrderSend(Symbol(), OP_BUY, lotsize, Ask, 3, stoploss, takeprofit)){ Print... } } Kann man das nicht ausfiltern bei welchem Spread Positionen eröffnet werden sollen? LG, Daniela |
|
|||
Globale Variable:
Code:
extern int Max_Spread = 40; Code:
Spread=Ask-Bid; double S = Spread; double MS = Max_Spread; Code:
S<=MS |
|
|||
Genau das habe ich doch gerade geschrieben, nur in richtig
Der Spread ist doch kein double |
|
|||
Das wird daran liegen, dass beim 5-DigitBroker der Wert des Spreads z.B. mit 30 angegeben wird. Der "wahre" Spread beträgt aber nur 3!
D.h. wenn bei Deiner Eingabe z.B. 2 für eben 2 "wahre" Pips steht, dann müßte bei einem 5-DigitBroker intern die 2 mit 10 multipliziert werden. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
ich weiß jetzt woran es lag. zu der zeit wo der wert geprüft wurde war er <= und bei der orderausführung hatte er sich geändert. Innerhalb eines ticks. wow ok das wusste ich noch nicht
|
|
|||
Jetzt mal ohne Witz, läuft das Programm bei einem 4- oder 5-DigitBroker und was steht so in der Regel bei der Variablen maxSpread drin?
Akzeptiert der Compiler den Variablentyp "integer"? traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
|
|
|||
Trotzdem muss man wohl den Max Spread als int angeben. Mein Irrtum.
|
|
|||
Zitat:
Wie konnte also das Programm überhaupt bei Dir laufen? Ne, warum sollte man zwingend maxSpread als int angeben? Die Frage wäre eher, lohnt sich der "Aufwand" mit dem double? traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
das integer war mein fehler beim abtippen :P
natürlich steht dort int und maxSpread möchte ich angeben weil der spread manchmal dermaßen schwankt dass der EA dann auf dauer nicht mehr profitabel wäre wenn permanent positionen mit spread > 5 eröffnet werden. LG |
Lesezeichen |
Stichworte |
if bedingung, mql4, programmierung, programmierung metatrader, spread |
|
|