Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43260
Benutzer: 7.222
Aktive Benutzer: 72
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: 425
Gesamt: 425
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 10.01.22
Neues Mitglied
 
Registriert seit: Sep 2021
Beiträge: 7
smilemore befindet sich auf einem aufstrebenden Ast
Standard In EA höchsten Wert von Variable finden

Hallo liebe Forum,
Habe einen EA.
Nun folgende Gedanken:
Die Vola der US-Indizes ist in der Zeit von Asien bis zur US-Eröffnung weniger volatil, hier kann man nicht so agressiv den Stopp setzen, wie in der US-Session.
Die Vola berechne ich mit

Code:
float avg_movement= MathAbs(High[1]-Low[1])+MathAbs(High[2]-Low[2])+ MathAbs(High[3]-Low[3])+ MathAbs(High[4]-Low[4])+ MathAbs(High[5]-Low[5])+ MathAbs(High[6]-Low[6]);
nun brauche ich den höchsten avg-movement Wert in der Zeit (london Zeit) von 21:01 bis 14:29

Code:
int aktuellezeit=h*60+m;
if(aktuellezeit >= 21*60 +01 && aktuellezeit <= 14*60 +29){
wenn der jetzige avg-movement-Wert größer dem vorherigen ist soll dieser Wert in der Variablen highest_avg_move gespeichert werden.
Code:
if(avg_move>highest_avg_move)  highest_avg_move=avg_move;
Das geht leider nicht, über Comment sehe ich das ein höherer highest_avg durch einen niedrigeren überschrieben wird.

Sinn ist es bestimmen zu können was hohe Vola ist, den wenn diese vorherrscht stoppt man agressiver, wenn die Vola in der US-Session unter den Höchstwert von Asien und Europa fällt, wird auch während der US-Session defensiver gestoppt. Sobald der Höchstwert wird überschritten wird, wird agressiver gestoppt. Also ein Art adaptiver Stopp.

Falls noch Fragen sind bitte fragen. Danke
  #2 (permalink)  
Alt 19.01.22
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Mir fällt bloß auf, dass die Variablen keinen Start-Wert haben. Da sollte sowas wie 0.0 reichen.
  #3 (permalink)  
Alt 20.01.22
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Mir fällt bloß auf, dass die Variablen keinen Start-Wert haben. Da sollte sowas wie 0.0 reichen.
Aha, das siehst Du also. Und warum siehst Du nicht, dass im letzten Codeschnipsel das vorher berechnete avg_movement gar nicht benutzt wurde?

Insgesamt wieder eine Anfrage, die sich lösen lassen würde, wenn sie denn auch genauer beschrieben worden wäre (vom o.g. mal ganz abgesehen)
Keiner sieht hier, an welcher Stelle der Comment ausgegeben wurde. Was passiert sonst noch so alles in dem EA?
Ich würde Dir, wie immer allen anderen hier auch, gern weiterhelfen.

Nein, so wird hier keiner eine zweckdienliche Antwort geben können, außer @MA-EA.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #4 (permalink)  
Alt 20.01.22
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 422
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

bei der Zeit, was ist bei aktuellezeit mit h, m?

avg_move nicht ausgeschrieben?

Grüsse
__________________

Easy Trading Assistant
  #5 (permalink)  
Alt 22.01.22
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Aha, das siehst Du also. Und warum siehst Du nicht, dass im letzten Codeschnipsel das vorher berechnete avg_movement gar nicht benutzt wurde?
Keine Ahnung, wie der Kollege sich das vorgestellt hat. Aber sowas wie nen Start-Wert wirds wohl brauchen, um zu vergleichen.
Code:
highest_avg_move = avg_move ;
if( avg_move > highest_avg_move  )highest_avg_move = avg_move ;
Aber ich schätze, er wird die ganzen avg_move-was-auch-immer-Werte Kerze für Kerze mit ner Schleife durchsuchen und vergleichen müssen.
  #6 (permalink)  
Alt 22.01.22
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Code:
highest_avg_move = avg_move ;
if( avg_move > highest_avg_move  )highest_avg_move = avg_move ;
Wieder ein ganz toller Tip! Hast Du mal genauer über den Quatsch nachgedacht?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #7 (permalink)  
Alt 23.01.22
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Soviel ich weiss, braucht die Highest-AVG-Variable erst mal nen Wert, den sie überhaupt vergleichen kann. Also weise ich ihr den aktuellen AVG-Wert zu. Dann wird die Highest-AVG-Variable mit den anderen AVG-Werten verglichen. Sollte einer davon größer sein, bekommt sie dessen Wert und so weiter.

Aber wie gesagt geht das wohl nicht ohne Loop.
  #8 (permalink)  
Alt 23.01.22
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Soviel ich weiss, braucht die Highest-AVG-Variable erst mal nen Wert, den sie überhaupt vergleichen kann. Also weise ich ihr den aktuellen AVG-Wert zu. Dann wird die Highest-AVG-Variable mit den anderen AVG-Werten verglichen. Sollte einer davon größer sein, bekommt sie dessen Wert und so weiter.

Aber wie gesagt geht das wohl nicht ohne Loop.
Ne, @MA-EA, so wird das nix werden. Schau Dir genau die Bezeichnungen der Variablen an.
Das hat mit einem Loop gar nichts zu tun.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #9 (permalink)  
Alt 23.01.22
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Wie das hat mit nem Loop nix zu tun? Ich meine, wahrscheinlich gehts nicht ohne Loop. Aber ich weiß ja auch nicht, wie der Kollege sich das gedacht hat. Oder was das überhaupt mal werden soll. Scheint aber auch egal zu sein.
  #10 (permalink)  
Alt 23.01.22
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Wie das hat mit nem Loop nix zu tun? Ich meine, wahrscheinlich gehts nicht ohne Loop. Aber ich weiß ja auch nicht, wie der Kollege sich das gedacht hat. Oder was das überhaupt mal werden soll. Scheint aber auch egal zu sein.
Code:
float avg_movement= MathAbs(High[1]-Low[1])+MathAbs(High[2]-Low[2])+ MathAbs(High[3]-Low[3])+ MathAbs(High[4]-Low[4])+ MathAbs(High[5]-Low[5])+ MathAbs(High[6]-Low[6]);
Das kann man erst mal kürzer schreiben, MathAbs ist überflüssig, denn High-Low kann nie weniger als Null sein, also:
Code:
float avg_movement= (High[1]-Low[1])
                   +(High[2]-Low[2])
                   +(High[3]-Low[3])
                   +(High[4]-Low[4])
                   +(High[5]-Low[5])
                   +(High[6]-Low[6]);
Da wird nichts anderes gemacht als von der vorigen bis 6 Kerzen voher die High/Low Range addiert. Natürlich kannst Du daraus einen Loop machen, wenn Du unbedingt willst, mit einem i von 1-6, ob das aber unbedingt kürzer ist, wage ich in dem Fall zu bezweifeln.
Zu reinen Übungszwecken kannst Du Dich ja mal ranmachen.
AVT
Thema geschlossen

Lesezeichen

Stichworte
höchsten wert bestimmen


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 05:04 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.
-----------------------------------------------------------------------------------------------------------------------------