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: 43248
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: 244
Gesamt: 244
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 24.06.20
Mitglied
 
Registriert seit: Mar 2013
Beiträge: 30
janbuk63 befindet sich auf einem aufstrebenden Ast
Standard GlobalVariable

Hallo!
ich habe mir ein EA gebastelt und es läuft ziemlich gut auf meinem PC aber wenn es auf Demo auf einem gemieteten Server läuft ständig unterlaufen ihm dumme Fehler!
Am Anfang habe ich gedacht dass es vielleicht ein Zufall ist oder Fehler im Code.
Jetzt aber habe ich den Verdacht dass es leider an dem Server selber liegt und zwar an der Eigenschaft solcher Server die naturgemäß sehr oft neugestartet werden um Anpassungen oder Updates vorzunehmen.
Bei Neustart wird natürlich alles wie vorher gestartet aber dem EA tut es nicht gut. Der ExpertA wird aus dem Konzept geworfen weil manche Variablen ihre Werte auf Null gesetzt werden wo vorher möglicherweise eine Zahl stand.
Das ist zwar nur Verdacht und das werde ich noch herausfinden!

Was ähnliches habe ich auch im Netz darüber gefunden und die Lösung soll in den im Titel erwähnten GlobalenVariablen liegen.
Alle wichtige Daten werden auf diese Weiße ausgelagert und beim Broker Server gespeichert mindestens 4 Wochen lang.
Bein Neustart sind sie immer aktuell.
Also habe ich versucht damit das Problem zu lösen aber scheitere an der Logik wie man es benutzt.
Diese GlobalVariable speichert nur double Werte und ich muss ein Zeitwert speichern also habe ich die Variable in double konvertiert.

datetime startzeit = TimeCurrent(); - das ist die Zeitangabe
double startzeit_double = (double) startzeit ; - und so konvertiert

Mit Print("startzeit") und Print("startzeit_double") es überprüft ob es tatsächlich konvertiert wurde und der Compiler hat auch nicht gemeckert.
Beide Werte wurden mit Print richtig dargestellt als sehr lange Sekunden Zahl. Also alles richtig dachte ich mir!
Dann habe ich diese konvertierte Zeitangabe in GlobalVariable umgewandelt oder besser gesagt ausgelagert.
GlobalVariableSet("Meine Startzeit", startzeit_double);

Also müsste der Wert jetzt beim Broker Server ausgelagert sein- dachte ich wenigstens!.
Zur Überprüfung habe ich jetzt die Variable wider mi Print kontroliert:
GlobalVariableGet("Meine Startzeit");
Print("Meine Startzeit: "+DoubleToString(Meine Startzeit,4));

Das Ergebniss ist immer 0,0000
Was mache ich falsch?
Gruß
  #2 (permalink)  
Alt 24.06.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das geht ganz einfach zu lösen über:

GlobalVariableSet("Meine Startzeit", TimeCurrent());

Rückgabe:

Print ("Meine Startzeit": ", TimeToString((datetime)GlobalVariableGet("Meine Startzeit"), TIME_DATE|TIME_MINUTES));

Abgespeichert wird oben die Zeit als datetime-Variable.
Beim Auslesen wird die gespeicherte Zeit intern nochmals in datetime deklariert und dann als String umgewandelt,

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 26.06.20
Mitglied
 
Registriert seit: Mar 2013
Beiträge: 30
janbuk63 befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc
vielen Dank!
Nach vielen Versuchen ist mir gelungen es umzusetzen.
Da waren noch andere Variablen die ich auf diese Weise verlagert habe und jetzt läuft es richtig sogar wenn ich den EA neu kompiliere was gleich mit Neustart ist. Vorher ist der EA sofort ins Stocken geraten jetzt macht er munter weiter! Supi!
  #4 (permalink)  
Alt 09.07.20
Mitglied
 
Registriert seit: Mar 2013
Beiträge: 30
janbuk63 befindet sich auf einem aufstrebenden Ast
Standard VPS und EA

Hallo!
ich habe kurz überlegt ob ich jetzt ein neues Thema eröffnen soll aber eigentlich ist es das gleiche Thema wie mit dem GlobaleVariables weil die Wirkung ist gleich und zwar der ExpertA läuft nicht rund.
ich habe mit vor fast 2 Monaten ein VPS gemietet (nur 6,80€/Monat bei YourVPS) und leider es läuft nicht richtig.
Wenn ich den EA bei mir teste macht es alles wie programmiert aber auf den VPS zickt es irgendwie. Mal läuft und dann plötzlich läuft nicht!
Erkennen kann ich es dadurch dass es einfach gar Nichts mehr macht. Der MT4 ist scheinbar am laufen, der Chart-Fenster ist sichtbar und das Zeichen für aktiven EA der smiley lächelt brav aber es funktioniert nicht!
Bei meinem EA am Anfang werden 2 Pending-Order gesetzt und das macht er auch.
Dann wartet der EA auf den Kurs Verlauf. Wenn eins von beiden Pendings aktiviert wird wird der andere gelöscht. Dann je nach Ergebniss wird ein andere Order gesetzt und so weiter. Also er wartet, dann schließt je nach Situation dann wird nächste gesetzt und modifiziert bis es aktiviert wird und so weiter...
Am Anfang d.h. kurz nach dem Einschalten funktioniert alles richtig aber nach ein Paar Stunden scheint es sich auszuschalten.
Mein Verdacht ist dass der Betreiber der VPS Platform irgendeine Einstellung hat alles runterzufahren was nicht benötig wird. Es ist wahrscheinlich ein Standby Modus um Energie zu sparen. Wie es genau gemacht wird weiss ich nicht aber jetzt bin ich sicher dass es so ist. Ich weiß leider nicht: nach wie viel Stunden der Server sich ausschaltet. Sonst würde ich mich immer kurz einlogen und wieder auslogen.
Ich frage mich ob dass jetzt bei allen VPS Server gleich ist?
Hat jemand so was schon mal bemerkt? Vielleicht ist es normales Verhalten und nur ein extra für Experts Advisor dedizierte Server(bei eigenem Broker oder mql5.com) laufen richtig?
Gruß
  #5 (permalink)  
Alt 10.07.20
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Probier einfach mal nen besseren VPS. Mach Dich mal schlau und Vergleiche. Qualität hat halt ihren Preis.

Edit:Oder nen eigenen Trading-Rechner zulegen. Da weiß man ungefähr, was man hat und was er macht. Muss ja kein Vermögen kosten...
Thema geschlossen

Lesezeichen

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 17:03 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.
-----------------------------------------------------------------------------------------------------------------------------