Hi,
ich programmiere gerade einen EA und möchte, dass er auf FX und CFD läuft.
Ich möchte auch, dass er bei verschiedenen Brokern läuft (zB GKFX und AdmiralMarkets).
Bisher habe ich zB für SL, TP, usw. immer Wert*_Point genommen.
Jetzt habe ich aber das Problem, dass die Broker unterschiedliche Nachkommastellen usw. haben.
Wie / womit kann ich denn die Berechnung korrigieren?
Wenn ich zB einen SL von 200 Pkt setzen möchte... bei dem einen Broker ist das eine andere "Einheit" wie bei dem anderen
Hängt diese (fehlerhafte) Berechnung mit _Point oder _MODE_DIGITS oder ... zusammen?
Ich hoffe ich werde nicht gesteinigt... ABER... ich verstehe den Zusammenhang zwischen Nachkommastelle, Kontraktgröße nicht so richtig
ps. Nutze MQL4
ein Point ist immer ein Point
das mit 3 oder 5 Nachkommastellen hat sich längst überholt, früher gab es broker, die hatten bei EURUSD als Beispiel nut 4 Kommastellen, bei USDJPY nur 2
das gibts eigentlich eh nicht mehr. alle haben 3 oder 5 Nachkommastellen
und ein Point ist immer die letzte Nachkommastelle, egal wieviele es gibt
ein Point ist immer ein Point
das mit 3 oder 5 Nachkommastellen hat sich längst überholt, früher gab es broker, die hatten bei EURUSD als Beispiel nut 4 Kommastellen, bei USDJPY nur 2
das gibts eigentlich eh nicht mehr. alle haben 3 oder 5 Nachkommastellen
und ein Point ist immer die letzte Nachkommastelle, egal wieviele es gibt
Und wie verhält sich das dann bei zB dem DAX30 in meinem EA?
Bsp.:
Kontraktgröße --> GKFX und Admiral haben beide die gleiche Kontraktgröße = 100.000
Mode_DIGITS --> GKFX hat 1.0 ; Admiral hat 2.0
folglich ist _Point --> GKFX 0.1 ; Admiral 0.01
Wenn ich also beim DAX30 beispielhaft die Differenz von 13.400 zu 13.500 ermitteln möchte, sind es bei GKFX 1.000 _Point und bei Admiral 10.000 _Point
Ich meine das ist ja eigentlich logisch da _Point sich auf eine andere Anzahl NK Stellen bezieht.... aber gedanklich hängt bei mir drin, dass es ja "nur" 100 Pkt Differenz sind
Ist mein Fehler dass ich hier Punkte, Pips, Ticks usw. durcheinander werfe?
Und wie verhält sich das dann bei zB dem DAX30 in meinem EA?
Bsp.:
Kontraktgröße --> GKFX und Admiral haben beide die gleiche Kontraktgröße = 100.000
Mode_DIGITS --> GKFX hat 1.0 ; Admiral hat 2.0
folglich ist _Point --> GKFX 0.1 ; Admiral 0.01
Wenn ich also beim DAX30 beispielhaft die Differenz von 13.400 zu 13.500 ermitteln möchte, sind es bei GKFX 1.000 _Point und bei Admiral 10.000 _Point
Ich meine das ist ja eigentlich logisch da _Point sich auf eine andere Anzahl NK Stellen bezieht.... aber gedanklich hängt bei mir drin, dass es ja "nur" 100 Pkt Differenz sind
Ist mein Fehler dass ich hier Punkte, Pips, Ticks usw. durcheinander werfe?
genau das ist der Grund, warum man immer mit Point arbeiten soll. Ein Point ist immer die letzte Kommastelle.
das Arbeiten mit Pips ist was ewig gestriges.
ein Point beim Dax ist genauso die letzte Kommastelle wie beim EURUSD
genau das ist der Grund, warum man immer mit Point arbeiten soll. Ein Point ist immer die letzte Kommastelle.
das Arbeiten mit Pips ist was ewig gestriges.
ein Point beim Dax ist genauso die letzte Kommastelle wie beim EURUSD
ich habe im EA immer * _Point genutzt...
deswegen bin ich verwirrt warum er dann bei den beiden Brokern auf unterschiedliche Levels (SL,TP, usw.) kommt. Muss ich irgendwo noch vorgeben, wenn MODE_DIGITS ==1 oder ==2 , dann mach das so und so?
oder vorgeben wenn es FX ist oder CFD dass er _Point anders berechnet?
Man sagt doch immer, der DAX ist zB um 100 Pkt gestiegen... eben von 13.400 auf 13.500... das ist dann aber das nicht das korrekte wenn man einen EA macht, oder?
Ist das der Moment, wo man dann mit dem adjustieren der Pkt anfangen muss?
if (Digits == 5 || Digits == 3) ....
ich habe im EA immer * _Point genutzt...
deswegen bin ich verwirrt warum er dann bei den beiden Brokern auf unterschiedliche Levels (SL,TP, usw.) kommt. Muss ich irgendwo noch vorgeben, wenn MODE_DIGITS ==1 oder ==2 , dann mach das so und so?
oder vorgeben wenn es FX ist oder CFD dass er _Point anders berechnet?
Man sagt doch immer, der DAX ist zB um 100 Pkt gestiegen... eben von 13.400 auf 13.500... das ist dann aber das nicht das korrekte wenn man einen EA macht, oder?
Ist das der Moment, wo man dann mit dem adjustieren der Pkt anfangen muss?
wenn man im Fernsehen sagt das der Dax um 100 Punkte gestiegen ist, dann stimmt deine Aussage so
aber im Metatrader sind das dann nur
bei einstelligen Brokern
13.410.0
bei zweistelligen brokern
13.401.00
siehst Du den Unterschied? Darum immer Point verwenden und keine Unterscheidung.
Die Abfrage ob 3 oder 5 Stellen würde ja auch nur Forex betreffen, auf die restlichen CFD hat das 0 Auswirkung
das kommt daher, das früher UJ nur 2 Kommastellen hatte und EU nur 4
da gab es dann die Umstellung und es gab dann in vielen EA die Abfrage wieviele Kommastellen es gibt, damit man SL und TP immer in Pips eingegeben kann.
Nachdem es keine 2/4 Digit Broker mehr gibt, und falls doch, dann Hände weg, ist die Abfrage sinnlos und es ist immer Besser gleich in Point zu rechnen.
Wo ist der Unterschied ob ich beim SL 10 Pips oder 100 Point als sl eingebe?
wenn man im Fernsehen sagt das der Dax um 100 Punkte gestiegen ist, dann stimmt deine Aussage so
aber im Metatrader sind das dann nur
bei einstelligen Brokern
13.410.0
bei zweistelligen brokern
13.401.00
siehst Du den Unterschied? Darum immer Point verwenden und keine Unterscheidung.
Die Abfrage ob 3 oder 5 Stellen würde ja auch nur Forex betreffen, auf die restlichen CFD hat das 0 Auswirkung
das kommt daher, das früher UJ nur 2 Kommastellen hatte und EU nur 4
da gab es dann die Umstellung und es gab dann in vielen EA die Abfrage wieviele Kommastellen es gibt, damit man SL und TP immer in Pips eingegeben kann.
Nachdem es keine 2/4 Digit Broker mehr gibt, und falls doch, dann Hände weg, ist die Abfrage sinnlos und es ist immer Besser gleich in Point zu rechnen.
Wo ist der Unterschied ob ich beim SL 10 Pips oder 100 Point als sl eingebe?
Ja also bei FX ist es bei den Brokern gleich, mir geht's darum, dass ich den EA auch auf CFD laufen lassen möchte, der Einfachheit-Halber aber dort dann auch zB SL = 200 eingeben möchte.
Ich hab das jetzt mal so gelöst (siehe unten)... was denkst du / ihr darüber? Gut oder Schlecht?
double Points = _Point; if(MarketInfo(Symbol(),MODE_PROFITCALCMODE)==0) Points = _Point; //Forex if(MarketInfo(Symbol(),MODE_PROFITCALCMODE)==1 && MarketInfo(Symbol(),MODE_DIGITS)==1) Points = _Point*10; //CFD mit 1 NK Stelle if(MarketInfo(Symbol(),MODE_PROFITCALCMODE)==1 && MarketInfo(Symbol(),MODE_DIGITS)==2) Points = _Point*100; //CFD mit 2 NK Stellen
Ja also bei FX ist es bei den Brokern gleich, mir geht's darum, dass ich den EA auch auf CFD laufen lassen möchte, der Einfachheit-Halber aber dort dann auch zB SL = 200 eingeben möchte.
Du musst den SL ja sowieso immer an dein Symbol anpassen
wenn du jetzt einen broker hast, der 2 Kommastellen am dax bietet und du hast einen Kurs von
13400,00
und du willst long gehen, mit 200 echten punkten als stop, dann musst du 20000 eingeben, dann setzt er dir den Stop auf
13200,00
wenn du einen mit einer kommastelle hast, dann musst du den stop auf 2000 eingeben damit du auf 13200,0 kommst
da hat die Abfrage, ob du 3 oder 5 Kommastellen hast genau 0 sinn
wie gesagt, die Abfrage war für Forex früher
angenommen du hattest einen 4 digits broker und der Kurs war 1,3000 mit 100 Pips stop, dann war der Stop auf 1,2900, jetzt hast du den selben EA auf einem 5 Digits Broker
der Kurs war dann logischerweise 1,30000 und du hast 100 Pips stop dann hast du mit der Abfrage,
_Digits == 5
einfach den
SL = _Pips *10 gerechnet und du warst wieder dort
nachdem es diese Broker meines Wissens eh nicht mehr gibt, was nur 4 Kommastellen auf EURUSD anbieten, ist die Abfrage Sinnlos und ich geb gleich alles in Point ein
demzufolge geb ich gleich 1000 Point als stop ein und es passt dabei
Für Future CFD kann das nie passen
ich hab einen Broker, der bietet Dax mit 2 Kommastellen und DaxCash mit einer an
da kann das sowieso nie hinkommen
- www.mql5.com
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hi,
ich programmiere gerade einen EA und möchte, dass er auf FX und CFD läuft.
Ich möchte auch, dass er bei verschiedenen Brokern läuft (zB GKFX und AdmiralMarkets).
Bisher habe ich zB für SL, TP, usw. immer Wert*_Point genommen.
Jetzt habe ich aber das Problem, dass die Broker unterschiedliche Nachkommastellen usw. haben.
Wie / womit kann ich denn die Berechnung korrigieren?
Wenn ich zB einen SL von 200 Pkt setzen möchte... bei dem einen Broker ist das eine andere "Einheit" wie bei dem anderen
Hängt diese (fehlerhafte) Berechnung mit _Point oder _MODE_DIGITS oder ... zusammen?
Ich hoffe ich werde nicht gesteinigt... ABER... ich verstehe den Zusammenhang zwischen Nachkommastelle, Kontraktgröße nicht so richtig
ps. Nutze MQL4