Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Statistik erstellen (http://www.expert-advisor.com/forum/showthread.php?t=6533)

Max2018 07.11.19 14:24

Statistik erstellen
 
Hallo,
ich will eine Statistik erstellen mit dem folgenden EA, und einigen eingezeichneten HLinien im Chart.
Nur Leider geht das nicht...wo liegt der Fehler :confused:

Code:

#property copyright ""
#property link      ""
#property version  "1.00"
#property strict
extern int    NACHKOMMA                  =1;
void OnTick()
  { 
  static double lastBid2=Bid;
  for (int dd=ObjectsTotal()-1;dd>=0;dd--)
  {
  string name2= ObjectName(dd);
  double pricee[1];
  ENUM_OBJECT type2= (ENUM_OBJECT) ObjectGetInteger(0,name2,OBJPROP_TYPE);
    pricee[dd]=NormalizeDouble(ObjectGet(name2,1),NACHKOMMA);
  if(High[1]>pricee[dd]&&Low[1]<pricee[dd])Print(TimeCurrent(),"; Linie gekreuzt: ;",pricee[dd]);
  //Wenn Linie von Kerze gekreuzt wurde, notiert er die Zeit und den Wert der Linie in Log
  }
  }


traderdoc 07.11.19 15:26

Wenn für pricee[] nur 1 Element deklariert wird, aber 2 und mehr Objekte vorhanden sind, wird es problematisch. Das funktioniert nur, wenn dd = 0 ist!!, dd.h. wenn nur ein Objekt vorhanden ist. Ab dd > 0 würde bei
pricee[dd]=NormalizeDouble(ObjectGet(name2,1),NACHKOMMA);
ein harter Array-Fehler resultieren.

traderdoc

Max2018 07.11.19 15:40

OK - DANKE

Habe es dann so gemacht , ohne eingezeichnete Linien.
Daten werden in eine Datei geschrieben.

Code:

//+------------------------------------------------------------------+
//|                                              HLINE_ZEICHNEN.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property version  "1.00"
#property strict
input double Startwert=12700;
extern int    NACHKOMMA                  =1;
 double  BB;
int Write(string str, string filename); 
 
void OnTick()
  { 
 
  static double lastBid2=Bid; 
 
 
 
  double pricee[1];
 
 
  BB=NormalizeDouble(Startwert,2);
  if(High[1]>BB&&Low[1]<BB&&TimeCurrent() == Time[0])
   
  {
 
  int handle; 
  handle = FileOpen("TEST.txt",FILE_READ|FILE_WRITE|FILE_TXT,"/t"); // Datei wird unter \MQL4\Files abgelegt oder im \MQL4\tester\Files Ordner
  FileSeek(handle, 0, SEEK_END);     
  FileWrite(handle,Time[1],"; Linie gekreuzt: ;",BB);  //nach “handle,” kommt das was in die Datei geschrieben wir mit Komma getrennt
  FileClose(handle);
    if(handle<1)
    {
    Print("File my_data.dat not found, the last error is ", GetLastError()); 
    }
}; 
// 
  }
 

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



Alle Zeitangaben in WEZ +2. Es ist jetzt 10:41 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum