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: 36909
Benutzer: 6.082
Aktive Benutzer: 493
Links: 80
Wir begrüßen unseren neuesten Benutzer: idur
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 10 Stunden
- idur
vor einem Tag
- DarthTrade...
vor einem Tag
- Eren
vor einem Tag
- Rene1504
vor einem Tag
- ibdafx

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 45
Gesamt: 48
Team: 0
Team:  
Benutzer:  beabro60, Domke01, traderdoc
Freunde anzeigen

Empfehlungen

Werbung

Like Tree3Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #21 (permalink)  
Alt 17.12.15
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard

Hi Adlerauge,

danke für Dein Lob, dass ich Dir einen lauffähigen EA kostenlos geliefert habe! Aber Du bist Anfänger, da helfe ich gern!

Der EA hat sogar gestern Abend bei der Zinsentscheidung, der FED einen
kleinen Demogewinn gemacht! Ein sensationelles Teil!

Bei dem Code von GoS musst Du natürlich berücksichtigen, dass der sofort nicht mehr funktioniert, sobald der EA neu initalisiert wird und auch nicht, wenn der EA mehr als einmal auf einem Account installiert wird, für verschiedene Währunspaare zum Beispiel!

Den Einwurf von traderdoc bgl. der 4- oder 5-Stellen-Konten, Digits und
Points und Allem, was damit zusammenhängt, verstehe ich natürlich zur Genüge.

Von der Problematik kann ich ein Lied singen, das wird für Dich aber erst relevant, wenn Du ein wenig fortgeschritten bist!

Ich wünsch Dir viel Erfolg!
  #22 (permalink)  
Alt 17.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@Adlerauge, ne dann hast Du mein Post nicht verstanden. Also nix mit virtueller Schublade! Gerade wenn Du einen 5-Digitbroker hast, mußt!! Du den Code so benutzen, wie er in meinem Post steht, sonst gibt es evtl. Probleme mit einer zu kleinen Slippage, aber auf jeden Fall mit zu kleinen SL und TP. Die in den Variablen stehenden 50 Pips werden zu realen 5Pips!! Und das willst Du doch bestimmt nicht, oder?

@TLO Trader, wie sind hier nicht im Sangesverein und singen Lieder, sondern programmieren einen sauberen Code! Und der sog. Einwurf hat nichts mit Fortgeschrittensein zu tun, sondern sind Basics, die unverzichtbar sind. Wenn Du das nicht im Code Deines "lauffähigen" EAs berücksichtigst, dann kannst Du das sensationelle Teil in die "Tonne treten".

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #23 (permalink)  
Alt 17.12.15
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard

traderdoc, du bist aber humorlos!

Bitte lies den Thread mal von Anfang an, Adlerauge hat vor 2 Wochen mit der MQL4-Programmierung begonnen und wollte etwas Hilfestellung. Hier geht es nicht um die Entwicklung eines verkaufsfähigen EA, in dem alle Eventualitäten berücksichtigt werden müssen, sondern darum, einem Anfänger in der Materie etwas unter die Arme zu greifen!

Und das mit den 5 Pips SL und TP funktioniert doch, also was gibt´s zu meckern? Hier geht die Diskussion doch schon los: Was ist eigentlich ein Pip? Für mich immer noch die 4. Stelle hinter dem Komma, für manche aber auch die 5. Stelle. Das hängt auch vom Broker ab. Aber ich denke, das hat Adlerauge schon gesehen, er möchte ja einen EA für seine Strategie selber programmieren und nicht die "eierlegende Wollmilchsau" erschaffen.

Also halte Dich bitte ein bisschen zurück mit Deinen herablassenden Kommentaren, hier geht es ja in erster Linie um Trading und nicht um die perfekte C++-Programmierung!
  #24 (permalink)  
Alt 17.12.15
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 95
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

hi traderdoc,

dass 50 Punkte bei einem 5-stelligem Broker 5 Pips sind, weiss ich... damit komme ich klar ;-)

Ich habe aber eine andere Frage an Dich:

du hast geschrieben, dass die Zaehler_History so gezählt werden sollte:

for(Zaehler_History=OrdersHistoryTotal()-1;Zaehler_History>=0;Zaehler_History--)

Warum -1 ?
Wie funktioniert die Zählweise genau? Mir erschliesst sich die Logik dahinter noch nicht....

Ich danke Dir!
  #25 (permalink)  
Alt 17.12.15
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 95
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

lol TLO,
noch ein bisschen Feintuning und der EA läuft bei jeder Grossbank....

Ich werde nun versuchen mich um mein Ausgangsproblem zu kümmern, was da lautete:

if (der EA 2 Negativ-Trades in Folge gemacht hat)
{
dann...
}

...mal sehen, ob ich mir das jetzt zurechtbasteln kann....
  #26 (permalink)  
Alt 17.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TLO Trader Beitrag anzeigen
traderdoc, du bist aber humorlos!

Bitte lies den Thread mal von Anfang an, Adlerauge hat vor 2 Wochen mit der MQL4-Programmierung begonnen und wollte etwas Hilfestellung. Hier geht es nicht um die Entwicklung eines verkaufsfähigen EA, in dem alle Eventualitäten berücksichtigt werden müssen, sondern darum, einem Anfänger in der Materie etwas unter die Arme zu greifen!

Und das mit den 5 Pips SL und TP funktioniert doch, also was gibt´s zu meckern? Hier geht die Diskussion doch schon los: Was ist eigentlich ein Pip? Für mich immer noch die 4. Stelle hinter dem Komma, für manche aber auch die 5. Stelle. Das hängt auch vom Broker ab. Aber ich denke, das hat Adlerauge schon gesehen, er möchte ja einen EA für seine Strategie selber programmieren und nicht die "eierlegende Wollmilchsau" erschaffen.

Also halte Dich bitte ein bisschen zurück mit Deinen herablassenden Kommentaren, hier geht es ja in erster Linie um Trading und nicht um die perfekte C++-Programmierung!
@TLO Trader, Du bist aber dünnhäutig!
Genau! Gerade weil er ein Anfänger baut man nicht solche Fehler ein, sondern stellt ihn gleich auf das richtige Gleis. Und es geht auch nicht um die Frage, ob das ein verkaufsfähiger EA werden soll, sondern darum hier einen sauberen Code abzuliefern.
Was ein Pip ist, ist klar definiert, unabhängig vom Broker!
Meine Kommentare sind zielgerichtet! Und wer keinen ordentlich funktionierenden EA hat, der sollte sich bemühen einen zu haben oder sollte händisch traden. denn der Markt verzeiht keine Fehler, weder händische noch programmtechnische.

@Adlerauge, mittels OrdersHistoryTotal() wird die Gesamtzahl der in der Historie liegenden Orders ermittelt, z.B. 10. Da die Orders die Indizierung 0 bis 9 bekommen, kann dieses Datenfeld nur bis zum Element mit dem Index 9 gehen und nicht 10 - also muß da OrdersHistoryTotal() - 1 stehen!
Dasselbe würde für OrdersTotal() gelten.
Zusätzlich solltest Du Dir angewöhnen, double-Variablen, die v.a. in Orderfunktionen einfließen, immer mit NormalizeDouble() zu normieren. Häufig genug droht sonst der Fehler 130.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #27 (permalink)  
Alt 17.12.15
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Adlerauge Beitrag anzeigen
hi traderdoc,

dass 50 Punkte bei einem 5-stelligem Broker 5 Pips sind, weiss ich... damit komme ich klar ;-)

Ich habe aber eine andere Frage an Dich:

du hast geschrieben, dass die Zaehler_History so gezählt werden sollte:

for(Zaehler_History=OrdersHistoryTotal()-1;Zaehler_History>=0;Zaehler_History--)

Warum -1 ?
Wie funktioniert die Zählweise genau? Mir erschliesst sich die Logik dahinter noch nicht....

Ich danke Dir!
Erlaube mir mal, anstelle von traderdoc zu antworten.
Die Logik erschliesst sich eigentlich keinem, da habe ich auch lange drüber gebrütet! Im Prinzip zählt man vom (Höchstwert -1) auf 0 runter, man könnte natürlich (was logischer wäre) vom Höchstwert auf 1 runterzählen. Ich habe aber noch nie festgestellt, das da was nicht funktioniert. Im Prinzip geht es immer nur darum, ob Du von unten nach oben oder von oben nach unten zählst.

Aber vielleicht weiss traderdoc ja noch was dazu.

P.S.: Hab den EA mal gestern Abend bei den zu erwartenden schnellen Kursausbrüchen bei der Bekanntgabe der Fed-Zinsentscheidung beobachtet, und er blieb doch tatsächlich im Gewinn! Kann am Momentum-Indikator liegen, den man jetzt noch mt einem 2. Indikator
"puffern" müsste.

Ich werde mal an dieser Strategie arbeiten!
  #28 (permalink)  
Alt 17.12.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TLO Trader Beitrag anzeigen
Die Logik erschliesst sich eigentlich keinem, da habe ich auch lange drüber gebrütet! Im Prinzip zählt man vom (Höchstwert -1) auf 0 runter, man könnte natürlich (was logischer wäre) vom Höchstwert auf 1 runterzählen. Ich habe aber noch nie festgestellt, das da was nicht funktioniert. Im Prinzip geht es immer nur darum, ob Du von unten nach oben oder von oben nach unten zählst.
Die Logik erschließt sich jedem, der sauber programmiert. Denn ein Array mit der Arraygröße 10 wird nun mal von 0 bis 9 (also 10 - 1) indiziert. Da die Orders in der Historie auch in einem Array liegen, welches von 0 bis OrdersHistorieTotal()-1 geht, schreibt man rückwärtszählend eben dann:
for (int i = OrdersHistoryTotal()-1; i >= 0; i--)
oder vorwärtszählend:
for (int i = 0; i < OrdersHistoryTotal(); i++) {

Definitv muß das Feld mit dem Index 0 mit in die for-Schleife, sonst fehlt eine Order!
Ich spreche hier wieder vom sauberen Programmieren, weil der Zugriff auf das Element mit dem Index 10, bei einem selbst definierten Array mit der Arraygröße 10, unweigerlich zu einer Fehlermeldung: "array out of range in ..." führt, mit der Folge, dass der EA nicht mehr weiterarbeitet, solange dieser Fehler im Code enthalten ist.
MetaQuotes war beim Überschreiten des Index im Falle des OrdersHistoryTotal() so gnädig, den Fehler vorher abzufangen!

Und damit sich u.a. @Adlerauge, den sauberen Zugriff auf ein Array von vornherein angewöhnt, steht da eben:
for (int i = OrdersHistoryTotal()-1; i >= 0; i--)

Das sollte aber nun zur Erklärung reichen.

traderdoc
asfranz likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #29 (permalink)  
Alt 17.12.15
Benutzerbild von asfranz
Mitglied
 
Registriert seit: Nov 2015
Ort: Rheda -Wiedenbrück
Beiträge: 84
asfranz befindet sich auf einem aufstrebenden Ast
Standard Sauber Erklärt;

Hallo,

@traderdock das haste sauber Erklärt, das habe so ja ich verstanden...

Gruß Franz

_____________________
Erfolg bedeutet die Umwandlung von Wissen in positives Handeln.
  #30 (permalink)  
Alt 18.12.15
Gesperrter Benutzer
 
Registriert seit: Dec 2015
Beiträge: 53
TLO Trader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von asfranz Beitrag anzeigen
Hallo,

@traderdock das haste sauber Erklärt, das habe so ja ich verstanden...

Gruß Franz

Das hat traderdoc wirklich schön erklärt! Das ist eben der Unterschied zwischen Programmiererlogik und Menschenlogik. Der Mensch fängt bei 1 an zu zählen und der Programmier bei 0.

Wer hat dieses Desaster eigentlich erfunden, ohne das Alles viel einfacher wäre? War das Bill Gates? Oder gar der Weihnachtsmann?

Wie auch immer, ich wünsche Euch Allen schon mal frohe Festtage!

Thema geschlossen

Lesezeichen

Stichworte
2 verlust trades, bedingung verlust trades, mql4, programmierung, programmierung metatrader, verlust


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 06:27 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.
-----------------------------------------------------------------------------------------------------------------------------