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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3774
Beiträge: 36752
Benutzer: 5.957
Aktive Benutzer: 504
Links: 80
Wir begrüßen unseren neuesten Benutzer: jimydirektsaft
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 11 Stunden
- jimydirekt...
vor 21 Stunden
- Geri78
vor einem Tag
- Phil7
vor einem Tag
- daijiro051...
vor einem Tag
- bauerbi

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

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 13.05.17
Hmt Hmt ist offline
Neues Mitglied
 
Registriert seit: Jan 2016
Beiträge: 23
Hmt befindet sich auf einem aufstrebenden Ast
Standard Fehler im MT4?

Ich habe beim testen eines eigenen EAs ein nicht korrektes verhalten festgestellt . Bei der näheren Analyse habe ich festgestellt, dass der EA einen Angeforderten Close Wert einfach bei einigen Timeframes nicht einliest.

Daraufhin ab ich einen EA mit dem Assistenten erstellt, der nur wenige Zeilen Code enthält.

//+------------------------------------------------------------------+
//| a1.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict


//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---

double xClose1 = iClose(NULL,1,0);
double xClose60 = iClose(NULL,60,0);
double xClose240 = iClose(NULL,240,0);;

Comment("M1 = ",xClose1," M60 = ",xClose60," M240 = ",xClose240);


//+------------------------------------------------------------------+
}


Lasse ich den nun laufen, steht bei M1 immer 0.0. Die anderen Werte werden korrekt eingelesen. Habe es auf verschiedenen Währungen laufen lassen, schwerpunkt EURUSD immer das selbe M1 wird immer mit 0.0 angezeigt.

Ich habe auf Periode H1 gestellt - es geht nicht -, stelle ich die Periode auf M1 um funktioniert alles so wie es soll. Nur leider benötige ich für für meine Strategie, die auf H1 läuft, für einige Berechungen einfach den aktuellen Close auf M1.

Ist das ein Problem des Testers? Ober besser gefragt, was mache ich falsch?
__________________
...tu nicht selbst, was andere für dich tun können... [I] alte Programmierer-Philosophie /I]
  #2 (permalink)  
Alt 13.05.17
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 568
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du Close Bar 0 meinst, also die ganz ganz rechte, die sich stets verändert, kann der ja eigentlich nur den selben Wert in allen Timeframes haben. Ausser ich verwechsel irgendwas...
  #3 (permalink)  
Alt 13.05.17
Hmt Hmt ist offline
Neues Mitglied
 
Registriert seit: Jan 2016
Beiträge: 23
Hmt befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Wenn Du Close Bar 0 meinst, also die ganz ganz rechte, die sich stets verändert, kann der ja eigentlich nur den selben Wert in allen Timeframes haben. Ausser ich verwechsel irgendwas...
Ja schon klar, das stimmt, aber warum ist der Wert bei M1 0.0?
Wenn ich jetzt nicht den Close brauche sondern High oder Low, dann geht das nicht mehr, dass ich einfach einen Wert aus einer anderen Zeiteinheit nehme. Da Die Werte ja auf das Timeframe gesehen zurückgegeben werden.
__________________
...tu nicht selbst, was andere für dich tun können... [I] alte Programmierer-Philosophie /I]
  #4 (permalink)  
Alt 13.05.17
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 287
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

Ich hab da eine Vermutung:
Bei der aktuellen Kerze ist doch der Close-Kurs noch nicht festgelegt und deshalb null.
Versuch mal iOpen, der müsste feststehen.
iHigh und iLow müssten Werte zurückgeben, die sich jedoch noch ändern können.
__________________
Das Gras wächst nicht schneller wenn man daran zieht
  #5 (permalink)  
Alt 13.05.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.848
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Aber klar funktioniert das, warum auch nicht? Mit iClose() auf der aktuellen Kerze wird immer der Wert des aktuellen Bid genommen, denn dieser Wert stellt sozusagen immer das temporäre Close der Kerze dar, da es der letzte Kurswert ist.

Da wird wohl mit Deinem Tester oder Deiner MT-Version was nicht in Ordnung sein.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #6 (permalink)  
Alt 14.05.17
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 287
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc
ist logisch. hab das nicht getestet. Also müsste iClose gleich dem aktuellen Bid sein !?
__________________
Das Gras wächst nicht schneller wenn man daran zieht
  #7 (permalink)  
Alt 14.05.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.848
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Korrekt, aber nur bei iClose(..., ..., 0)

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
code fehler, fehler, metatrader fehler, 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 +2. Es ist jetzt 07:46 Uhr.



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