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: 4978
Beiträge: 43462
Benutzer: 7.223
Aktive Benutzer: 73
Links: 84
Wir begrüßen unseren neuesten Benutzer: Mane
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982

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

Empfehlungen

Like Tree2Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #31 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard

Oh sorry, - ich werde mich bemühen !
(Frage anbei: Wie kann ich meine codes kopieren und hier im Forum einfügen, so, dass dann auch die Tabs erhalten bleiben?)

Und was den Grundaufbau der EA`s angeht, so sind diese weitestgehend von bereits bestehenden und gut funktionierenden EA´s übernommen. Eigentlich sollten hier nur die (mich zermürbenden) Timer integriert werden !

LG. piptrade
  #32 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard

Kurzer Nachtrag:

Ein Beitrag an Top-SecreT ist irgendwie nicht gespeichert worden !!??, deshalb hier die Wiederholung:


Frage: An welcher Stelle wird denn start() ausgeführt?
Antwort: Nur an dieser Stelle - und nur in diesem Umfang! - Und das ist sicher schon der erste gravierende Fehler ?

Frage: Und der error kommt weil du bei start() nicht in jedem Fall einen int zurückgibst.
Da fehlt ein return 1 wenn TradingTime() true liefert.

Antwort: Wäre diese Form und die Stelle der Einordnung so richtig ?

int start() {
if (TradingTime() == false) return(0);
else return(1)
}


Zumindest ergibt sich jetzt kein error bzw. warning mehr !
LGp
  #33 (permalink)  
Alt 29.04.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von piptrade Beitrag anzeigen
Und was den Grundaufbau der EA`s angeht, so sind diese weitestgehend von bereits bestehenden und gut funktionierenden EA´s übernommen.
Das kann nicht sein, dass in einem Programm zweimal Init() vorkommt bzw. start() und OnTick().

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #34 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

Meine ifs schreibe ich so:

Code:
if(Bedingung){
   // tue dies
} else {
   // tue das
}
Ob deine Schreibweise funktioniert kann ich nicht sagen.
  #35 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard

"if" und "else" und die Klammern ! - ich hab`s sofort korrigiert:

int start() {
if (TradingTime() == false) { return(0);
}
else { return(1);
}
}


und alles kompelliert = 0 error, 0 warnings ! Und jetzt wieder testen.

LGp
  #36 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

Wird nach wie vor nicht funktionieren da du traderdocs Post nicht beachtet hast.
  #37 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard

Habe zwischenzeitlich nochmals die codes der Referenz-EA`s ( 1. MAsample aus dem MT4 von Meta Qoutes und 2. 36-teilige Videoserie auf YouTube ) geprüft - und siehe da, es fehlen tatsächlich eine Unmenge von Klammern; - und dennoch funktionieren diese Dinger.
Was soll ich nun tun ? - Alle fehlenden Klammern ergänzen - oder, was ich besser finden würde - das ursprüngliche, was ja tadellos funktioniert, so belassen. Im letzteren Falle, würde ich dann den "sauberen Timer" einfach nur integrieren wollen. - Geht das, - wenn ja, helft mir bitte dabei.

LG. piptrade
  #38 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Die Struktur eines EAs sieht wie folgt aus:

int OnInit()
...
void OnDeinit()
...
void OnTick()

Man aber auch viele grobe Fehler vermeiden, wenn man mal das Handbuch zu Rate zieht.
Und bitte, den Code mittel Button # über dem Textfeld eingeben. Das kann doch keiner auf Dauer lesen.

traderdoc

Das ist erstmal wichtig. Kümmer dich zuerst darum.
  #39 (permalink)  
Alt 29.04.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@piptrade, sorry, Deine Herangehensweise ist nicht zielführend. Ich glaube mit Deinem Kenntnisstand wirst Du so einen EA nicht hinbekommen. Kein Fahrlehrer würde seinen Schüler in der zweiten Stunde auf die Autobahn schicken bzw. in den dicksten Berufsverkehr. Das braucht Zeit.
Dein brachiales Vorgehen wird Dich nicht viel weiter bringen, weil Du die Basics unzureichend besitzt und damit die Zusammenhänge nur unvollständig erfassen wirst.
Es ist doch noch kein Meister vom Himmel gefallen. Also lass es langsam, aber strukturiert angehen.
Gucke Dir einfache EAs an, analysiere jeder Zeile! und v.a. stecke die Nase in die Dokumentation.
So und jetzt drücke ich mal den #-Button über dem Text:

Code:
if (Du_diesen_Button_drückst) {
   //Dann wird Dein Code
   //auch schön lesbar dargestellt
} else {
//steht 
//das
//alles
//wieder
//schlecht
//lesbar
//untereinander
}
traderdoc
asfranz and Top-SecreT like this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #40 (permalink)  
Alt 29.04.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 157
piptrade befindet sich auf einem aufstrebenden Ast
Standard

Code:
int string Klammern           = "verstanden";
int string Anfuehrungszeichen =      "auch!";
extern int ZahlOhneKomma      =          143;
double int Dezimalzahl        =        2,567;

if(ich das mit den Klammern verstanden habe) {
// werde ich die Referenz-EA`s auf das Notwendigste minimieren
   }
   else{
// werde ich die Zuordnung in die Rubriken "int OnInit","void OnDeinit","void OnTick"
// nie richtig verstehen
   }
   return(true)
Im Moment entwickelt sich alles zu einem gewissen "Wirrwarr".
Ich hoffe, dass sich die Fehler im obigen CodeSchnipsel in Grenzen halten, werde die Referenz-EA´s minimieren und versuchen die bleibenden Bestandteile den entsprechenden Rubriken zuzuordnen. Wenn das soweit erledigt ist, sollte sich der Timer, so hoffe ich, einfügen lassen.
Ich würde mich freuen, wenn Ihr mich weiter auf diesem Weg begleitet.
Vorab aber schon einmal ein Danke.

LG. piptrade
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, timezone, tradezone, tradingtimezone, zeitzone, zeitzonen

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 +2. 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.
-----------------------------------------------------------------------------------------------------------------------------