Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3822
Beiträge: 36902
Benutzer: 6.068
Aktive Benutzer: 492
Links: 80
Wir begrüßen unseren neuesten Benutzer: supadog
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 10 Stunden
- supadog
vor einem Tag
- POCJonah7
vor einem Tag
- flowi88
vor einem Tag
- dealtycoon
vor einem Tag
- VicenteWuc

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 43
Gesamt: 43
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 07.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard 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...
    }
}
So und beim Print lasse ich mir den Spread genauso nochmal ausgeben wie er oben angegeben ist und da bekomme ich dann auch Werte über dem gewünschten Wert.
Kann man das nicht ausfiltern bei welchem Spread Positionen eröffnet werden sollen?



LG, Daniela
  #2 (permalink)  
Alt 07.04.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 565
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Globale Variable:
Code:
extern int Max_Spread = 40;
Nach Start:
Code:
Spread=Ask-Bid;
double S = Spread;
double MS = Max_Spread;
Order Bedingung:
Code:
S<=MS
  #3 (permalink)  
Alt 07.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

Genau das habe ich doch gerade geschrieben, nur in richtig
Der Spread ist doch kein double
  #4 (permalink)  
Alt 07.04.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

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.
  #5 (permalink)  
Alt 07.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

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
  #6 (permalink)  
Alt 07.04.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

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.
  #7 (permalink)  
Alt 07.04.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 565
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Top-SecreT Beitrag anzeigen
Der Spread ist doch kein double
Aber Bid und Ask.
  #8 (permalink)  
Alt 07.04.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 565
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Trotzdem muss man wohl den Max Spread als int angeben. Mein Irrtum.
  #9 (permalink)  
Alt 07.04.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
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
Natürlich akzeptiert der Compiler das nicht.
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.
  #10 (permalink)  
Alt 11.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

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

Lesezeichen

Stichworte
if bedingung, mql4, programmierung, programmierung metatrader, spread


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------