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: 43250
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: 259
Gesamt: 259
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree1Likes
  • 1 Post By Lena
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 26.07.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard Problem mit Indikatoren

Hallo zusammen,
ich habe leider ein paar allgemeine Verständnisprobleme mit Indikatoren was mich bei der Problemlösung bei einem verwendeten Indikator vor Schwierigkeiten bringt. Und zwar arbeitet ein von mir verwendeter Pivotindikator leider fehlerhaft beim Tageswechsel. Zwischen 23.00 und 24.00 Uhr liegen die Linien fast übereinander. Es wäre ganz toll wenn es hier jemanden gibt der evtl das Problem kennt.
Ich denke es liegt an folgender Zeile:
P = (LastHigh + LastLow + Close[i+1] / 3);
Meine Vermutung liegt darin, dass der letzte für die Berechnung herangezogene Bar "[0+1]" um 23.00 Uhr beginnt, folglich der Schlusswert erst ermittelt werden kann wenn dieser Bar abgeschlossen ist. Da ich auf H1 arbeite ist dies leider erst um 24.00 Uhr der Fall. Das wäre zumindest eine "logische" Schlussfolgerung, besonders da die Schwierigkeiten nicht auftreten wenn ich z.B. auf M1 oder M5 wechsel.

Der vollständige Code für die Berechnung:
Code:
   limit = (Bars - counted_bars) - 1;
//----
   for(i = limit; i >= 0; i--)
     { 
       if(High[i+1] > LastHigh) 
           LastHigh = High[i+1];
       //----
       if(Low[i+1] < LastLow) 
           LastLow=Low[i+1];
           
       if(TimeDay(Time[i]) != TimeDay(Time[i+1]))
         { 
           P = (LastHigh + LastLow + Close[i+1]) / 3;
           R1 = (2*P) - LastLow;
           S1 = (2*P) - LastHigh;
           R2 = P + (LastHigh - LastLow);
           S2 = P - (LastHigh - LastLow);
           R3 = (2*P) + (LastHigh - (2*LastLow));
           S3 = (2*P) - ((2* LastHigh) - LastLow); 
           LastLow = Open[i]; 
           LastHigh = Open[i];
           //----
  #2 (permalink)  
Alt 26.07.17
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

du benötigst das Vortageshoch, Vortagestief und Vortagesschlusskurs?

In diesem Fall würde ich iHigh iLow und iClose verwenden.

Beispiel:
VortagesHoch = iHigh(NULL, PERIOD_D1, 1);
...

oder

P=(iHigh(NULL, PERIOD_D1, 1) + iLow(NULL, PERIOD_D1, 1) + iClose(NULL, PERIOD_D1, 1)) / 3;


---Leopold---
  #3 (permalink)  
Alt 26.07.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für deinen Ratschlag!
Zu dumm dass ich diesen "Bug" im Indikator so spät entdeckt habe. Auswirkungen hat es aber auch erst jetzt gehabt, wo ich von einem EA auf die Werte des Indikators zugreifen musste. Bisher habe ich noch nie zwischen 23 und 24 Uhr vor dem PC gesessen und die Charts beobachtet.
Bevor ich mir jetzt aber die Mühe mache und den ganzen EA abändere, eine kurze Frage ob folgendes denn funktionieren würde.

if(Day != TimeDay(Time[0])){
P=(iHigh(NULL, PERIOD_D1, 1) + iLow(NULL, PERIOD_D1, 1) + iClose(NULL, PERIOD_D1, 1)) / 3;
//weitere Berechnungen... für R1,R2,R3,S1,S2,S3
Day=TimeDay(Time[0]);
}

Damit müsste ich doch immer mit dem ersten Tick des neuen Tages sämtliche Pivotpunkte bekommen. Zudem müsste der EA nicht ständig über iCustom die Werte aus dem Indikator auslesen.
  #4 (permalink)  
Alt 26.07.17
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Sollte funktionieren.

---Leopold---
  #5 (permalink)  
Alt 26.07.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard

Wenn das klappt wäre es wirklich perfekt, nicht nur weil ich dadurch zahlreiche Zeilen Code einspare und es viel übersichtlicher wird. Auch die Rechenleistung sollte weniger beansprucht werden. Für die optische Darstellung kann ich ja trotzdem weiterhin den Indikator in den Chart laden. Wenn der dann Nachts kurzfristig nicht richtig anzeigt ist das nicht schlimm. Nur der EA darf keine "undefinierbaren" Werte erhalten.
  #6 (permalink)  
Alt 26.07.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard

JUPPIIEEE, Freu, Super,...
Vielen Dank Leopold, dein Ratschlag war wirklich prima. Habe es abgeändert und so wie es aussieht scheint es wirklich perfekt zu funktionieren. Ich hatte ja leichte Bedenken, weil ich befürchtete dass evtl dabei die Werte zwischen 24-24.00 Uhr und nicht von 23-23.00 Uhr dafür genommen werden könnten.
Das ist aber nicht passiert!
Leopold likes this.
Thema geschlossen

Lesezeichen

Stichworte
bar, bar berechnen, indikator, indikator problem, mql4, programmierung, programmierung metatrader, programmierung mql4

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:46 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.
-----------------------------------------------------------------------------------------------------------------------------