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: 37041
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 12 Stunden
- supadog
vor einem Tag
- POCJonah7
vor einem Tag
- flowi88
vor einem Tag
- dealtycoon
vor einem Tag
- VicenteWuc

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 64
Gesamt: 66
Team: 0
Team:  
Benutzer:  beabro60, Domke01
Freunde anzeigen

Empfehlungen

Werbung

Like Tree3Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 11.04.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Also das Problem der Brokererkennung wird wie folgt gecodet:

int Multiplier = 1;
if(Digits == 3 || Digits == 5) Multiplier = 10;
if(Digits == 6) Multiplier = 100;

TakeProfit *= Multiplier;
StopLoss *= Multiplier;
Slippage *= Multiplier;

TPValue = NormalizeDouble(TakeProfit * Point, Digits);
SLValue = NormalizeDouble(StopLoss * Point, Digits);

usw.
D.h. zuerst wird die Systemkonstante Digits abgefragt. Sollte es ein 4-Digit-Broker sein ändert sich nichts. Beim 5-Digit muß der Multiplier auf 10 gesetzt werden (angenommen, es existiert ein 6-Digit-Broker, dann muß mit 100 multipliziert werden).
Im nächsten Schritt werden die Pipwerte der Variablenangaben im EA-Kopf mit dem Multiplier multipliziert, um dann letztendlich mit der Systemkonstante Point multipliziert und auf die Anzahl der Nachkommastellen, vorgegeben durch Digits, gekürzt zu werden.
Die beiden Variablen TPValue und SLValue können nun im Programm an einer x-beliebigen Stelle benutzt werden, um von den aktuellen Bid- oder Ask-Werten addiert oder subtrahiert zu werden, um z.B. in der OrderSend() benutzbar zu sein.

traderdoc
JoeDormann likes this.
  #12 (permalink)  
Alt 21.04.13
Neues Mitglied
 
Registriert seit: Apr 2013
Beiträge: 11
CKAE befindet sich auf einem aufstrebenden Ast
Standard

Das funktioniert, danke Racki.

kann ich auch einer extern int mehrere Werte zu Weisen? und wenn ja, wie sieht das aus?.

z.B.
PHP-Code:
extern int CloseTime // jede Stunde und 5 Minuten wird eine Abfrage gestartet 
wenn ich jetzt aber jede Stunde und 5 und jede Stunde und 30 Minuten die Abfrage starten möchte, wie sieht das dann aus?

Ich habe probiert:

PHP-Code:
extern int CloseTime 530;
extern int CloseTime "5&&30";
extern int CloseTime = [530]; 
usw., aber das funzt nicht
  #13 (permalink)  
Alt 21.04.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

extern int CloseTime1 = 5;
extern int CloseTime2 = 30;
  #14 (permalink)  
Alt 21.04.13
Neues Mitglied
 
Registriert seit: Apr 2013
Beiträge: 11
CKAE befindet sich auf einem aufstrebenden Ast
Standard

geht das auch in einer extern int?

z.B.
extern int CloseTime = 5, 30;

?
  #15 (permalink)  
Alt 22.04.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nein, wenn dann nur als Array, aber nicht als extern.
Das geht nur so:

extern CloseT1 = 5;
extern CloseT2 = 30;

int CloseTime[x] //x Anzahl der Elemente, also in dem Falle 2

CloseTime[0] = CloseT1;
CloseTime[1] = CloseT2;
CKAE likes this.
  #16 (permalink)  
Alt 28.04.13
Neues Mitglied
 
Registriert seit: Apr 2013
Beiträge: 11
CKAE befindet sich auf einem aufstrebenden Ast
Standard hat geklappt! Traderdoc

gibt es einen Befehl mit dem man den EA nach einer bestimmten Aktion, einfach neu Starten kann?

Sowas wie restart.... und der EA fängt von vorne an?

Danke euch...
  #17 (permalink)  
Alt 28.04.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nein, über den Code kannst Du das nicht erreichen.
Wobei die Frage zu klären wäre, was verstehst Du unter "von vorne"?
Und v.a. Warum sollte er wieder von vorne beginnen?
Was ist Dein Ziel dahinter?
  #18 (permalink)  
Alt 28.04.13
Neues Mitglied
 
Registriert seit: Apr 2013
Beiträge: 11
CKAE befindet sich auf einem aufstrebenden Ast
Standard

Der EA startet, kauft einen trade und schliesst ihn dann irgendwann! z.b. um 15:43 Uhr.
Nach dem schliessen sind keine trades mehr im Mark! Also soll der EA im Falle keiner offenen Positionen von vorne beginnen, da er in der Startphase ja einen trade eröffnet.
  #19 (permalink)  
Alt 28.04.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Na das ist doch was ganz anderes.
Natürlich wird der EA wieder einen Trade öffnen, sobald die von Dir gestellten Bedingungen erfüllt sind.

Von vorne würde nach meiner Betrachtung nämlich bedeuten, dass der EA incl. Der init()-Funktion aus dem Programm heraus gestartet wird und das geht nicht.
In Deinem Falle läge der Sachverhalt aber ganz anders und das zu Deinem Gunsten.

traderdoc
Thema geschlossen

Lesezeichen

Stichworte
ea, erster ea, erster expert advisor, expert advisor, metatrader, mql4, mql4 lernen, programmieren, programmierung metatrader


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 11:39 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.
-----------------------------------------------------------------------------------------------------------------------------