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: 43252
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: 247
Gesamt: 247
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree3Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 11.04.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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: 2.733
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: 2.733
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: 2.733
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: 2.733
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 12:07 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.
-----------------------------------------------------------------------------------------------------------------------------