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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43254
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

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: 1.178
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: 2.733
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: 2.733
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: 1.178
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: 1.178
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: 2.733
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 16:43 Uhr.





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