[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 289

 
TheXpert >> :

Streng genommen, nein. Aber sehr nah.

Genauer gesagt, wo ist es in der Nähe?

Ich würde gerne einige Gedanken zu früheren Beiträgen, zu Code, Logik usw. hören.

>> Vielen Dank im Voraus.

 

Ich danke Ihnen für Ihre Aufmerksamkeit.

So sieht der EA aus

//+------------------------------------------------------------------+
//| Bibliot.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#include <PointZigZag.mqh>

int init()
{return(0);}
int deinit()
{return(0);}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{PointZigZag();
Kommentar("Prod.-y21 = ",y21," ", "Pok.-x21 = ",x21);
zurück(0);
}
//+------------------------------------------------------------------+


Und so sieht die Datei aus. Sie funktioniert in dem Terminal, in dem sie erstellt wurde. Aber beim Kompilieren schreibt es -Start function not found and cannot be run.

//+------------------------------------------------------------------+
//| PointZigZag.mqh |
//| Copyright © 2009, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"
//+------------------------------------------------------------------+
EX4-Importe //| EX4-Importe |
//+------------------------------------------------------------------+
#import "PointZigZag.ex4".

extern inttern ExtDepth = 12; //------- Variablen ZigZag
extern inttern ExtDeviation = 5; //------- Variablen ZigZag
extern intBackstep = 3; //------- Variablen ZigZag
extern inttern ShiftBars = 2; //------- Variablen ZigZag
//------- Variablen ZigZag ------------------------------------------
double y3, y2, y1, zz;//
int x3, x2, x1, sh;//
double x31, x21, x11; // Zickzack-Wendepunkt
double y31, y21, y11; // Zickzack-Wendepunkt
double TimeZZ, TimeOO;
//------------------------------------------------------------------------------

double PointZigZag()
{y3=0;y2=0;y1=0;
sh=ShiftBars;
while (y3==0)
{zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
if (zz!=0 && zz!=EMPTY_VALUE)
{if (y1==0) { x1=sh; y1=zz; }
else if (y2==0) { x2=sh; y2=zz; }
else if (y3==0) { x3=sh; y3=zz; }}sh++;
}
wenn (Hoch[x1]>Hoch[x2])
{x11=Hoch[x1]; x21=Niedrig[x2]; x31=Hoch[x3];
y11=0;y21=0;y31=0;TimeZZ=Time[x2];
}else
{y11=Low[x1]; y21=High[x2]; y31=Low[x3];
x11=0;x21=0;x31=0;TimeZZ=Time[x2];}

}
#import
//+------------------------------------------------------------------+
 

Ich bin kein Experte, aber die Bibliotheksdateien müssen nicht separat kompiliert werden. Daher wird die Meldung Startfunktion nicht gefunden und kann nicht ausgeführt werden. Die Bibliotheksdatei wird automatisch in den Code aufgenommen und beim Kompilieren des EA kompiliert (sofern eine Start-Funktion vorhanden ist).

Außerdem ist es mir nicht klar. Ich empfehle, den #import "PointZigZag.ex4" und #import auszukommentieren. Es sollte funktionieren.

 

Besser noch, man packt alles zusammen in einen EA und wirft alles andere weg.

//+------------------------------------------------------------------+
//| Библиот.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

extern int ExtDepth = 12; //------- переменные ZigZag
extern int ExtDeviation = 5; //------- переменные ZigZag
extern int ExtBackstep = 3; //------- переменные ZigZag
extern int ShiftBars = 2; //------- переменные ZigZag
//------- переменные ZigZag ------------------------------------------
double y3, y2, y1, zz;//
int x3, x2, x1, sh;//
double x31, x21, x11; // Точки перегиба ZigZag
double y31, y21, y11; // Точки перегиба ZigZag
double TimeZZ, TimeOO;
//------------------------------------------------------------------------------

int init()
{return(0);}
int deinit()
{return(0);}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{ PointZigZag();
Comment("Прод.-y21 = ", y21," ","Пок.-x21 = ", x21);
return(0);
}
double PointZigZag()
{ y3=0; y2=0; y1=0;
sh= ShiftBars;
while ( y3==0)
{ zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
if ( zz!=0 && zz!=EMPTY_VALUE)
{if ( y1==0) { x1= sh; y1= zz; }
else if ( y2==0) { x2= sh; y2= zz; }
else if ( y3==0) { x3= sh; y3= zz; }} sh++;
}
if (High[ x1]>High[ x2])
{ x11=High[ x1]; x21=Low[ x2]; x31=High[ x3];
y11=0; y21=0; y31=0; TimeZZ=Time[ x2];
}else
{ y11=Low[ x1]; y21=High[ x2]; y31=Low[ x3];
x11=0; x21=0; x31=0; TimeZZ=Time[ x2];}

}
//+------------------------------------------------------------------+
 
granit77 >> :

Oder, noch besser, sie alle in einem Expert Advisor zu sammeln und den Rest wegzuwerfen.

Das alles ist verständlich. Aber das war ein abstraktes Beispiel.

Ich möchte einfach eine Bibliothek mit verschiedenen Funktionen für andere Zwecke erstellen und sie dann verwenden.

Bitte denken Sie noch einmal darüber nach, woran das liegen könnte. >> Danke.

 
gvi2504 >> :

Das alles ist verständlich. Aber das war ein abstraktes Beispiel.

Ich möchte einfach eine Bibliothek mit verschiedenen Funktionen für andere Zwecke erstellen und sie dann verwenden.

Bitte überlegen Sie noch einmal, was der Grund dafür sein könnte. >> Danke.

Danke für die Anregung. Ihr letzter Satz hat mir so gut gefallen, dass ich ihn an Sie zurückgeben möchte. Meine Vermutung ist, dass die Bibliotheksdatei nicht korrekt geschrieben ist, es gibt #include und #import und eine eingebaute Funktion. Es ist butterweich. Werfen Sie es weg, lesen Sie ein Lehrbuch und schreiben Sie es erneut.

 

Wie testen Sie Ihre EAs, sagen wir in einem Zeitraum von einem Jahr? Ich habe so viele Informationen gelesen, aber ich kann nichts dagegen tun, dass mein M1-Horoskop nicht weiter als bis zum 5. März 2009 gehen kann. Dementsprechend kann ich den Prüfungszeitraum nicht vor dem 5. März festlegen. Ich habe versucht, Zitate über das Service->Zitate-Archiv in MT zu laden , aber es hilft nicht. Auch manuelles Blättern hilft nicht.... Das habe ich von der technischen Unterstützung der Maklerfirma erfahren:


"Leider stellt Metaquotes den Handelsplätzen kein spezielles Programm, den so genannten "historischen Server", zur Verfügung, so dass es diese Einschränkungen gibt. Auch wenn Sie das Menü "Service-Archiv" wählen und auf "Herunterladen" klicken, erhalten Sie die Warnung, dass historische Daten vom MetaQuotes-Server heruntergeladen werden.

p.s. Mehrere Dealing Center (darunter auch wir) haben versucht, MetaQuotes in die Lage zu versetzen, Daten (ohne Einschränkungen) von einem bestimmten Maklerunternehmen herunterzuladen. Bisher wurde jedoch nur versprochen, diesen Service in MT5 verfügbar zu machen.


Und was muss ich tun, wenn ich meinen Expert Advisor auf einem langen Lauf überprüfen möchte?

 
Noterday >> :

Wie testen Sie Ihre EAs, sagen wir in einem Zeitraum von einem Jahr? Ich habe so viele Informationen gelesen, aber ich kann nichts dagegen tun, dass mein M1-Horoskop nicht weiter als bis zum 5. März 2009 gehen kann. Dementsprechend kann ich den Prüfungszeitraum nicht vor dem 5. März festlegen. Ich habe versucht, Zitate über das Service->Zitate-Archiv in MT zu laden, aber es hilft nicht. Auch manuelles Blättern hilft nicht.... Das habe ich vom technischen Kundendienst meines Maklerunternehmens erfahren:


"Leider stellt Metaquotes den Handelsplätzen kein spezielles Programm, den so genannten "historischen Server", zur Verfügung, so dass es diese Einschränkungen gibt. Auch wenn Sie das Menü "Service-Archiv" wählen und auf "Herunterladen" klicken, erhalten Sie die Warnung, dass historische Daten vom MetaQuotes-Server heruntergeladen werden.

p.s. Mehrere Handelszentren (darunter auch wir) haben versucht, MetaQuotes die Möglichkeit zu geben, die Daten eines bestimmten Maklerunternehmens (ohne Einschränkung) herunterzuladen, versprechen aber bisher nur, diesen Service in MT5" zur Verfügung zu stellen.


Und was sollte ich tun, wenn ich meinen EA über einen längeren Zeitraum hinweg überprüfen möchte?

Darüber hinaus in MT5 ist es nicht nur erwartet, es ist alles auf М1 gebaut und die anderen TF wird von М1 berechnet (diese Geschichte wird nur in М1 sein) Nun, setzen Sie ein größeres Fenster und laden Sie von MetaQuotes , sonst gibt es keine Möglichkeit. Wenn Sie MT nicht vor dem Startdatum und MQ ausgeführt haben und Ihre eigenen Züge nicht gespeichert haben, ist das nicht möglich.

Auch wenn Sie fragen, wer sie gerettet haben könnte, gibt es Leute, die Zitate sogar seit MT-2 gespeichert haben.

(was gab es vor MT-2 sorry weiß nicht zu wenig Zeit in Forex).

 
Laden Sie die Historie und (schreiben) testen Sie den Expert Advisor auf "Eröffnungskurse" auf mindestens n1...
 
rid >> :
Laden der Historie und (Schreiben) Testen eines EA auf "Eröffnungskurse" auf af, zumindest n1...

Ja, ich habe mit dem Testen begonnen :) Aber irgendetwas scheint mir, dass sich das System wegen eines solchen Durcheinanders nicht zeigen wird. Vielleicht ist der Indikator nicht korrekt auf solche Daten berechnet oder etwas anderes ... vor allem, da das System für Minuten konzipiert wurde. Trotzdem vielen Dank!