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: 43270
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: 267
Gesamt: 267
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 12.10.16
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 4
erakman befindet sich auf einem aufstrebenden Ast
Standard Return to Open

Hallo, hat jemand eine kleine Idee zu folgender Thematik?

Gesucht wird täglich die Anzahl der M5 Kerzen bis der Kurs nach Markteröffnung um 9:00 Uhr wieder das Open berührt.

Einziges Kriterium ist, dass vor der Kerze, welche das Open berührt/crossed, mindestens eine M5 Kerze das Open nicht berührt, somit oberhalb oder unterhalb des Open ist.

Beispiel :
if(TimeHour(TimeCurrent()==9)
1.M5 Kerze berührt das open logischerweise : Low(0)<=Open(Eröffnungskurs)<=High(0)
2.M5 Kerze beispielsweise auch: Low(0)<=Open(Eröffnungskurs)<=High(0)
3.M5 Kerze beispielsweise auch: Low(0)<=Open(Eröffnungskurs)<=High(0)
4 Kerze keine Berührung-- Kriterium erfüllt:
Low(0)>Open(Eröffnungskurs) && High(0)>Open(Eröffnungskurs) // Kerze oberhalb
oder
Low(0)<Open(Eröffnungskurs) && High(0)<Open(Eröffnungskurs) // Kerze unterhalb
5. Kerze entsprechend Kerze 4 -- oberhalb oder unterhalb wie 4
6. Kerze berührt EK
Low(0)<=Open(Eröffnungskurs)<=High(0)

Ergebnis 6

Hat jemand eine Codeidee dazu, komme leider nicht weiter!

Vielen Dank
  #2 (permalink)  
Alt 13.10.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Kannst Du das mal grafisch darstellen?

Was soll das Ganze bringen?
  #3 (permalink)  
Alt 13.10.16
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 4
erakman befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
vielen Dank für deine Antwort.
Als Beispiel ein Screenshot.
Ergebnis wäre demnach 7 und nicht 2.

Ich brauche den Output dieser Funktion um damit in meinem EA weiterarbeiten zu können.
Wäre cool, wenn du vielleicht eine Idee dazu hättest.

LG
Angehängte Grafiken
Dateityp: png Beispiel.PNG (12,9 KB, 18x aufgerufen)
  #4 (permalink)  
Alt 13.10.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

So, mal schnell aus der Hüfte geschossen, ohne Überprüfung.

Code:
//global die Variablen deklarieren

if (TimeHour(TimeCurrent()>=9) {
   if (!stopcounting) {
      if (!timeflag) {
         OpenKurs = Open[0];
         touch = true;
         count = 0;
         candlecount = 0;
         OldBar = Time[0];
         timeflag = true;
      }
      if (OldBar != Time[0]) {
         candlecount++;
         if (!touch) count = 1;
            else count = 0;
         OldBar = Time[0];
      }
      if (Low[0] <= OpenKurs && High[0] >= OpenKurs)  touch = true;
         else touch = false;
      if (touch && count == 1) {
         //Aktion - candlecount stellt nun die Anzahl der Kerzen zwischen der
         //09:00 Kerze und dem ersten Berühren dieses OpenKurses dar, mit
         //der VorKerze der Unberührtheit
         stopcounting = true;
      }
   }
} else {
   timeflag = false;
   stopcounting = false;
}
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 13.10.16
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 4
erakman befindet sich auf einem aufstrebenden Ast
Standard

Hey Traderdoc,
vielen Dank für deinen Input.
Ich checke das mal und gebe dir gerne Feedback.
LG
  #6 (permalink)  
Alt 14.10.16
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 4
erakman befindet sich auf einem aufstrebenden Ast
Standard

Hi Traderdoc,
also laufen tut es , liefert nur keine Ergebnisse.
Woran kann das liegen? Der Code scheint logisch einwandfrei.
LG

extern bool stopcounting = false;
extern bool timeflag = false;
extern bool touch;
extern int OpenKurs;
extern int count;
extern int candlecount ;
extern int OldBar;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//global die Variablen deklarieren

if (TimeHour(TimeCurrent()>=9)) {
if (!stopcounting) {
if (!timeflag) {
OpenKurs = Open[0];
touch = true;
count = 0;
candlecount = 0;
OldBar = Time[0];
timeflag = true;
}
if (OldBar != Time[0]) {
candlecount++;
if (!touch) count = 1;
else count = 0;
OldBar = Time[0];
}
if (Low[0] <= OpenKurs && High[0] >= OpenKurs) touch = true;
else touch = false;
if (touch && count == 1) {
Comment("Anzahl = " , candlecount);
//Aktion - candlecount stellt nun die Anzahl der Kerzen zwischen der
//09:00 Kerze und dem ersten Berühren dieses OpenKurses dar, mit
//der VorKerze der Unberührtheit
stopcounting = true;
}
}
}
else {
timeflag = false;
stopcounting = false;
}
}

//+------------------------------------------------------------------+
  #7 (permalink)  
Alt 14.10.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nun, so kann das auch nicht gehen, da die Variablen nicht als extern zu deklarieren sind. Außerdem muß unbeding die Variable OpenKurs double sein und nicht int, sonst wird der gesamte Kommateil ignoriert.

Also:

bool stopcounting = false;
bool timeflag = false;
bool touch;
double OpenKurs;
int count;
int candlecount ;
int OldBar;

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #8 (permalink)  
Alt 14.10.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Desweiteren habe ich hier eine Zeile von Dir falsch übernommen:

if (TimeHour(TimeCurrent()>=9)) {

Richtig:
if (TimeHour(TimeCurrent())>=9) {

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

Code überprüft, Ergebnisse werden angezeigt, läuft fehlerfrei!

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

Lesezeichen

Stichworte
m5 kerzen, mql4, open count bars, programmierung, programmierung metatrader

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 14:01 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.
-----------------------------------------------------------------------------------------------------------------------------