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: 3690
Beiträge: 36325
Benutzer: 5.838
Aktive Benutzer: 535
Links: 80
Wir begrüßen unseren neuesten Benutzer: Tradan
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einer Stunde
- Tradan
vor 4 Stunden
- pfg
vor 16 Stunden
- Traderin
vor einem Tag
- wehu58
vor einem Tag
- chrislybar...

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 37
Gesamt: 39
Team: 0
Team:  
Benutzer:  Stengah966, tomtrader
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
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]
Mit Zitat antworten
  #2 (permalink)  
Alt 13.05.17
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 563
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...
Mit Zitat antworten
  #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]
Mit Zitat antworten
  #4 (permalink)  
Alt 13.05.17
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 275
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
Mit Zitat antworten
  #5 (permalink)  
Alt 13.05.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.782
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.
Mit Zitat antworten
  #6 (permalink)  
Alt 14.05.17
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 275
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
Mit Zitat antworten
  #7 (permalink)  
Alt 14.05.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.782
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.
Mit Zitat antworten
Antwort

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