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: 3824
Beiträge: 36916
Benutzer: 6.081
Aktive Benutzer: 495
Links: 80
Wir begrüßen unseren neuesten Benutzer: DarthTrader
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 14 Stunden
- DarthTrade...
vor 16 Stunden
- Eren
vor einem Tag
- Rene1504
vor einem Tag
- ibdafx
vor einem Tag
- Batangenyo

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

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 07.12.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard Allroundformel für StopLossBetrag

Hallo,

ich möchte im EA angezeigt bekommen, wie groß der Betrag des Stops ist.

An sich nicht schwer, jedoch wird es schwer sollte ein größeres Spektrum genutzt werden. Verschiedene Digits, Basiswerte, Broker. Jeder Broker hat andere Spezifikationen.

Gibt es da eine Allroundmöglichkeit?

Gruss, Raul
  #2 (permalink)  
Alt 07.12.15
GoS GoS ist offline
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 73
GoS befindet sich auf einem aufstrebenden Ast
Standard

Hi,
im Forex ist das mit "Beträgen angezeigt bekommen" immer so ne Sache, da man keinen fixen Betrag ausrechnen kann. Das liegt einerseits daran, daß die TickValue NICHT fest ist und andererseits, wenn du Währungspaare handelst, die nicht auf deine Kontowährung lauten, dann wird dieser nicht fixe Wert der TickValue auch noch von einem weiteren nicht fixen Währungspaar, das man dann zur Umrechnung benötigt, beeinflusst.
Ich habe mich damit schonmal längere Zeit auseinandergesetzt; und bin dann zu dem Schluss gekommen:
PHP-Code:
if(AccountEquity() >= gd_sysBalanceTargetAllPositionsExit(); 
tuts erstmal auch

Wenn ich mal Zeit dafür habe, denk ich das ganze aber nochmal durch...
  #3 (permalink)  
Alt 07.12.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Das heisst, zu komplex, weil nicht wirklich standardisiert. Schade.
  #4 (permalink)  
Alt 07.12.15
GoS GoS ist offline
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 73
GoS befindet sich auf einem aufstrebenden Ast
Standard

... aber schon machbar !!
Man muss hald ständig die TickValue berechnen, und evtl. auch noch die des Symbols zum umrechnen, und dann annäherungsweise den Betrag des SL oder was man eben berechnet haben will.
Und man muss wissen, dieser Wert ist NICHT fix.
  #5 (permalink)  
Alt 07.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nun, da gibt es eigentlich nicht viel zu berechnen:

SL-Wert = LotSize * MarketInfo(Symbol(), MODE_TICKVALUE) * SLPips;

Die SLPips sollten bei einem 4-Digitbroker "normal" angegeben werden, wie man 1Pip auch definiert und bei einem 5-Digitbroker dann entsprechend mit einer Stelle rechts mehr, also statt 10Pips dann 100, weil dann der Tickvalue auch nur 1/10tel des Wertes beim 4-DB wäre.

traderdoc
Ca$hDigger likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #6 (permalink)  
Alt 07.12.15
GoS GoS ist offline
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 73
GoS befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc: Diese Formel ist die grobe Annäherung und wäre korrekt, wenn sich das TickValue nicht bei JEDEM Tick ändern würde. Ich geb mal ein Beispiel:

Alle X-USD Symbole haben das selbe aktuelle TV, also z.B.:
EURUSD(5Digits) hat bei Bid 1.08510 ein TV von 0.92157 pro Lot
oder bei 1.08500 TV: 0.92165
oder bei 1.08490 TV: 0.92174
usw.

Wenn du also JETZT (bei einem Bid von 1.08510) mit deiner Formel den SL-Wert berechnest, kommt ein anderer Wert raus, als wie wenn du 10 Sekunden später bei einem Bid von 1.08490 den SL-Wert berechnest.

Mach den Test:
Eröffne eine Position, berechne über den aktuellen TickValue den SL und schau, was passiert: Umso weiter der SL entfernt ist, desto ungenauer war die Berechnung.
  #7 (permalink)  
Alt 07.12.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

So wie traderdoc es angegeben hat, ist es im Moment auch. Problem ist, wenn die Funktion zusätzlich für den Dax benutzt wird.

Große Unterschiede bei den Brokern z.B. Activtrades und FXCM. Ticksize, Tickvlaue und Digits sind hier so unterschiedlich, dass es zu keinem Ergebniss kommt.
Ich werde dazu noch etas posten, wenn ich wieder am Programmier-PC bin.

PHP-Code:
double WertProPip NormalizeDouble( ( 0.0001 Close[0] ) * 1000006);
double StopLossInBetrag = ( WertProPip StopLoss ) * Lot
  #8 (permalink)  
Alt 07.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von GoS Beitrag anzeigen
@traderdoc: Diese Formel ist die grobe Annäherung und wäre korrekt, wenn sich das TickValue nicht bei JEDEM Tick ändern würde. Ich geb mal ein Beispiel:

Alle X-USD Symbole haben das selbe aktuelle TV, also z.B.:
EURUSD(5Digits) hat bei Bid 1.08510 ein TV von 0.92157 pro Lot
oder bei 1.08500 TV: 0.92165
oder bei 1.08490 TV: 0.92174
usw.

Wenn du also JETZT (bei einem Bid von 1.08510) mit deiner Formel den SL-Wert berechnest, kommt ein anderer Wert raus, als wie wenn du 10 Sekunden später bei einem Bid von 1.08490 den SL-Wert berechnest.

Mach den Test:
Eröffne eine Position, berechne über den aktuellen TickValue den SL und schau, was passiert: Umso weiter der SL entfernt ist, desto ungenauer war die Berechnung.
Meine Formel ist keine grobe Annäherung sondern 100% korrekt!
Desweiteren wird der Tickvalue bei Währungspaaren wo nicht! die Accountwährung im Nenner steht immer! mit dem Bidkurs schwanken, weil der Tickvalue sich auf die Währung im Nenner bezieht und dann umgerechnet werden muß in Deine Accountwährung.
Dann nimm einfach den EURUSD und einen $-Account und Du wirst sehen, dass der Tickvalue immer 10 oder 1 ist, je nach Brokertyp.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #9 (permalink)  
Alt 07.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Wozu WertProPip ausrechnen lassen?
Über MarketInfo(Symbol(), MODE_TICKVALUE) ist doch alles und zu jeder Zeit klar definiert.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #10 (permalink)  
Alt 08.12.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Guten Morgen,

hier habe ich von den zwei Demokonten das Beispiel der Spezifikationen, im Anhang.

Bei FXCM wurde das als Future angegeben und hat kein TICKVALUE. Bei ActivTrades erhalte ich einen falschen Wert.
Von daher denke ich, wird es ohne Unterscheidungen von Broker und Werten nicht gehen.
Für einfache Währungspaare, ist es meist einheitlich.

Gruss, Raul
Angehängte Grafiken
Dateityp: jpg fxcm-dax.JPG (55,6 KB, 12x aufgerufen)
Dateityp: jpg actv-dax.JPG (62,5 KB, 9x aufgerufen)
Thema geschlossen

Lesezeichen

Stichworte
anzeige stoploss, betrag sl, betrag stoploss, mql4, programmierung, programmierung metatrader, sl, stoploss


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 15:14 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.
-----------------------------------------------------------------------------------------------------------------------------