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: 4228
Beiträge: 39206
Benutzer: 6.529
Aktive Benutzer: 255
Links: 80
Wir begrüßen unseren neuesten Benutzer: mt4user
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einem Tag
- mt4user
vor einem Tag
- htnob77
vor einem Tag
- pitpitrows...
vor einem Tag
- Neldam
vor 3 Tagen
- Gerik

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 07.03.19
Neues Mitglied
 
Registriert seit: Mar 2019
Beiträge: 29
MIMO befindet sich auf einem aufstrebenden Ast
Standard Sicherstellen das auch wirklich alles abgefragt wird

Hallo, vielleicht kennt ihr das Problem.

Viele Broker zeigen im Exoten Chart z.B. rückwirkend bis Jahr 2016 an.
Nun möchte ich in eine Abfrage von den letzten 5 Jahren ausführen,
wie stellt man sicher das auch wirklich alles durchlaufen wird und nicht mittendrin abgebrochen wird, oder weil keine Daten mehr kommen.

Beispiel:

HighLowCalcBars=1000
for (int o=0;o<HighLowCalcBars;o++)

Was passiert wenn nach 696 Bars keine Daten (oder "0") mehr ankommen/vorhanden sind?
Ist das was der Broker an Zeitspanne im Chart anzeigt, auch das was maximal an Daten zur Verfügung steht?
Kann man das mit einer Fehler Routine abfangen und wenn ja, wie müßte die aussehen?

Danke für jede Info!

Mimo
Angehängte Grafiken
Dateityp: png chartbars.png (15,8 KB, 3x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 07.03.19
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.201
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Dann würde ich lieber von links anfangen.

Code:
HighLowCalcBars = 1000;
for (o = HighLowCalcBars - 1; o >= 0; o--)
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #3 (permalink)  
Alt 07.03.19
Neues Mitglied
 
Registriert seit: Mar 2019
Beiträge: 29
MIMO befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Dann würde ich lieber von links anfangen.

Code:
HighLowCalcBars = 1000;
for (o = HighLowCalcBars - 1; o >= 0; o--)
traderdoc
DANKE! Das werde ich sofort ausprobieren.

Aber was mach ich wenn statt den 1000 nur 600 Werte vorhanden sind?
Kann man das mit einer Fehlerroutine abfangen?

z.B.
800 Werte von 1000 sind da, es wird weiter gehandelt, halt nur mit 800 Werten
600 Werte von 1000 sind da, es wird nicht weiter gehandelt!

Mimo
Mit Zitat antworten
  #4 (permalink)  
Alt 07.03.19
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.201
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Die Abfrage wird dann dort anfangen, wo auch Kerzen vorhanden sind.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #5 (permalink)  
Alt 07.03.19
Neues Mitglied
 
Registriert seit: Mar 2019
Beiträge: 29
MIMO befindet sich auf einem aufstrebenden Ast
Standard

Das ist klar, was nicht da ist, ist nicht da, aber ohne Fehlerroutine einfach akzeptieren was da ist? Wobei das nicht als Fehler zu sehen ist, es sind einfach nicht genug Daten da. Ich versuche mal etwas, wenn es klappt informe ich ich gerne.

Mimo
Mit Zitat antworten
  #6 (permalink)  
Alt 08.03.19
Neues Mitglied
 
Registriert seit: Mar 2019
Beiträge: 29
MIMO befindet sich auf einem aufstrebenden Ast
Standard

Lösung:
Um das Problem einer unvollständigen Abfrage zu verhindern, hole ich mir die notwendigen Werte, in diesem Fall iHigh und iLow von einem externen Anbieter der ganz sicher vollständige Daten hat, lese diese ein und speichere sie in globalen Variablen ab.

Mimo
Mit Zitat antworten
  #7 (permalink)  
Alt 11.03.19
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.201
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MIMO Beitrag anzeigen
Lösung:
Um das Problem einer unvollständigen Abfrage zu verhindern, hole ich mir die notwendigen Werte, in diesem Fall iHigh und iLow von einem externen Anbieter der ganz sicher vollständige Daten hat, lese diese ein und speichere sie in globalen Variablen ab.

Mimo
"... und speichere sie in globalen Variablen ab".

1. Was verstehst Du unter globalen Variablen?
2. Warum sollen die dort gespeichert werden, wenn sie nach dem Einlesen eh in den historischen Daten stehen?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #8 (permalink)  
Alt 11.03.19
Neues Mitglied
 
Registriert seit: Mar 2019
Beiträge: 29
MIMO befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
"... und speichere sie in globalen Variablen ab".

1. Was verstehst Du unter globalen Variablen?
2. Warum sollen die dort gespeichert werden, wenn sie nach dem Einlesen eh in den historischen Daten stehen?

traderdoc
Das Problem sind nicht die globalen Variablen:
GlobalVariableSet(Symbol()+"-BlaBla", BlaBla()
aber das ändere ich in statische Werte, fix codiert im EA.
Beispiel: Sollte der aktuelle Preis den Fix Wert über/untersteigen gibt es einen Alert (Mail, Screen, Log).

Das Problem liegt eher am historischen/aktuellen Datenfeed, nicht einmal Dukascopy hat eine Vollständigkeit.

Daher habe ich mir in meinem EA ein Modul geschrieben welche alle notwendigen Werte wöchentlich in eine CSV schreibt, welche ich wiederum via Excel auswerten kann. Das ist nur notwendig wenn ein Alarm anschlägt und nur bei dem WP! Da reicht es manuell.

Viele Broker haben nur History ab 2016, manche Exoten sogar erst ab 2018, dann gibt es Broker die nur 30 WP im Programm haben, andere wiederum haben eine unrealistische Margin Percentage pro WP.
Manche haben 4 Digits, andere 5 Digits beim gleichen WP, uvm.

Einige schreiben zwar die Änderungen im Terminal/Mailbox, aber wer liest denn das schon...

Alle diese Parameter gilt es zu benennen um daraus eine Bandbreite an zu erstellen um automatisch handeln zu können. Mich interessieren keine Indikator Werte!

Beispiel: Am CHF ist die Standard Margin Percentage 100-250% je nach Cross, wenn jetzt wie zu 2015 die SNB meldet und im Monat davor ALLE Broker die Margin Percentage auf 5000% angehoben haben, dann darf und kann ein EA keine CHF Order mehr (neu) öffnen und muss einen Alarm ausgeben wenn die Margin Percentage über den Standard Wert 250% steigt und das Trading gestoppt werden.
Im schlimmsten Fall, steigt die "Used Margin" soweit an das es einen Margin Call gibt und der Sold Out beginnt. Wäre nicht notwendig wenn auf die "sekundär" Parameter auch Wert gelegt wird.

Die manuellen Trader sehen und reagieren, die EA Trader wohl meistens nicht, daher muss ein EA auch diese Zustände verarbeiten können-aber wer beachtet die Margin Percentage? Gerade jetzt wegen ESMA Regeln sind alle Margin Werte/Routinen/Alarme als Pflichtprojekt zu sehen.

Offshore zu gehen ist eine Sache, auch ASIC wird sich irgendwann den globalen Standard 1:30 annähern, in Japan ist 1:30 Normalität, oder sie werden keine EU Bewohner mehr annehmen (wie US). Die FCA UK hat trotz Brexit die ESMA Regeln bereits fix übernommen.

Mimo
Mit Zitat antworten
  #9 (permalink)  
Alt 11.03.19
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.201
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Sorry, aber Dir ging es doch initial um die Datenlücken bei den OHLC-Werten.
Und wenn Du historisch da was auswerten willst, wirst Du nicht umhinkommen, Deine Historie mit externen Daten zu füttern. Wie weit die zurückgreifen sei erst mal dahingestellt. Da braucht man doch aber nichts in irgendwelche Variablen zu schreiben.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #10 (permalink)  
Alt 11.03.19
Neues Mitglied
 
Registriert seit: Mar 2019
Beiträge: 29
MIMO befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Sorry, aber Dir ging es doch initial um die Datenlücken bei den OHLC-Werten.
Und wenn Du historisch da was auswerten willst, wirst Du nicht umhinkommen, Deine Historie mit externen Daten zu füttern. Wie weit die zurückgreifen sei erst mal dahingestellt. Da braucht man doch aber nichts in irgendwelche Variablen zu schreiben.

traderdoc
OHLC sind nur einige Werte, da gibt es naturgemäß die meisten Lücken, daraus ergeben sich Leerstellen bei Tages, Monat etc Werten vor X Monaten.

Ich dachte mit Dukascopy ist man gut bedient, der Feed ist zwar zu 95% durchgängig, aber mehr als 60 WP haben sie auch nicht! Tolle Exoten wie EURCHN haben sie nicht, da kann man echt gut abkassieren!

Und ja ich habe mir 20 verschiedene Broker Demos geladen, die Minimum 100 WP haben, EURILS (ILS Israel Shekel) geht auch sehr gut, es müssen ja nicht die immer wiederkehrenden 15 WP sein!

Auch ist die Volatilität durch die ESMA stark reduziert und somit sind auch WP zu beachten die eine Tagesrange von 2-3000 Pips haben, auch das werte ich aus (History TagesHi-Low/5, ohne Sonntag), denn ohne Volatilität gibt es weder Verlust noch Gewinn!
Darum bin ich persönlich der Meinung das man sich breiter aufstellen muss bei den WP und auch quer über alle Regulierungen arbeiten sollte und somit auch die Broker = Maximale Diversifikation, denn es wird eine Marktbereinigung bei den Brokern geben! Bei ESMA, FCA, ASIC wird es kaum Probleme geben, aber Offshore?

Mimo
Mit Zitat antworten
Antwort

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 +2. Es ist jetzt 19:43 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 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.
-----------------------------------------------------------------------------------------------------------------------------