[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 289

 
TheXpert >> :

In senso stretto, no. Ma molto vicino.

Più precisamente, dove si trova nelle vicinanze?

Mi piacerebbe sentire alcuni pensieri sui post precedenti, sul codice, sulla logica, ecc.

>> grazie in anticipo.

 

Grazie per l'attenzione.

Questo è l'aspetto dell'EA

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

#include <PointZigZag.mqh>

int init()
{return(0);}
int deinit()
{return(0);}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{PointZigZag();
Comment("Prod.-y21 = ",y21," ", "Pok.-x21 = ",x21);
ritorno(0);
}
//+------------------------------------------------------------------+


E questo è l'aspetto del file. Funziona nel terminale in cui è stato creato. Ma quando compila scrive -Start function not found e non può essere eseguito.

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

extern inttern ExtDepth = 12; //------- variabili ZigZag
extern inttern ExtDeviation = 5; //------- variabili ZigZag
extern intBackstep = 3; //------- variabili ZigZag
extern inttern ShiftBars = 2; //------- variabili ZigZag
//------- variabili ZigZag ------------------------------------------
doppio y3, y2, y1, zz;//
int x3, x2, x1, sh;//
doppio x31, x21, x11; // punto di flesso a ZigZag
double y31, y21, y11; // punto di flesso ZigZag
doppio TimeZZ, TimeOO;
//------------------------------------------------------------------------------

doppio PuntoZigZag()
{y3=0;y2=0;y1=0;
sh=Barre del cambio;
mentre (y3==0)
{zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
se (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++;
}
se (Alto[x1]>Alto[x2])
{x11=Alto[x1]; x21=Basso[x2]; x31=Alto[x3];
y11=0;y21=0;y31=0;TimeZZ=Time[x2];
}else
{y11=Basso[x1]; y21=Alto[x2]; y31=Basso[x3];
x11=0;x21=0;x31=0;TimeZZ=Time[x2];}

}
#importare
//+------------------------------------------------------------------+
 

Non sono un esperto, ma i file di libreria non hanno bisogno di essere compilati separatamente. Da qui il messaggio Start function not found e cannot be run. Il file di libreria sarà automaticamente incluso nel codice e compilato durante la compilazione dell'EA (dove c'è una funzione Start).

Inoltre non mi è chiaro. Consiglio di commentare il #import "PointZigZag.ex4" e #import. Dovrebbe funzionare.

 

Meglio ancora, mettete tutto insieme in un EA. e buttate via tutto il resto.

//+------------------------------------------------------------------+
//| Библиот.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 >> :

O, meglio ancora, raccoglierli tutti insieme in un Expert Advisor, e buttare via tutto il resto.

Tutto questo è comprensibile. Ma quello era un esempio astratto.

Vorrei semplicemente creare una libreria di funzioni diverse per altri scopi, e poi usarle.

Per favore, pensate ancora un po' a quale potrebbe essere la ragione. >> Grazie.

 
gvi2504 >> :

Tutto questo è comprensibile. Ma quello era un esempio astratto.

Vorrei solo creare una libreria di funzioni diverse per altri scopi, e poi usarle.

Per favore, ripensateci, quale potrebbe essere la ragione. >> Grazie.

Grazie per il suggerimento. La tua ultima frase mi è piaciuta così tanto che te la restituisco. La mia ipotesi è che il file di libreria non sia scritto correttamente, ci sono #include e #import e una funzione built-in. È burroso. Buttalo via, leggi un libro di testo e scrivilo di nuovo.

 

Come testate i vostri EA, diciamo in un intervallo di un anno? Ho letto così tante informazioni, ma non posso fare nulla per il fatto che il mio grafico M1 non può andare oltre il 5 marzo 2009. Di conseguenza, non posso impostare il periodo di prova prima del 5 marzo. Ho provato a caricare le citazioni in MT attraverso il servizio->archivio citazioni, non aiuta. Anche lo scorrimento manuale non aiuta.... Questo è quello che ho ricevuto dal supporto tecnico della società di intermediazione:


"Sfortunatamente, Metaquotes non fornisce un programma speciale, il cosiddetto "server storico" ai centri dealing, quindi ci sono queste limitazioni. Anche quando si seleziona il menu "Service-Archive" e si clicca su "Download" - si otterrà l'avviso che i dati storici dal server MetaQuotes saranno scaricati.

p.s. Diversi centri dealing (e noi siamo tra questi) stanno cercando di fare in modo che MetaQuotes dia la possibilità di scaricare (senza restrizioni) i dati di una particolare società di brokeraggio. Tuttavia, per ora promettono di rendere questo servizio disponibile solo in MT5.


E cosa devo fare se voglio controllare il mio Expert Advisor durante una lunga corsa?

 
Noterday >> :

Come testate i vostri EA, diciamo in un intervallo di un anno? Ho letto così tante informazioni, ma non posso fare nulla per il fatto che il mio grafico M1 non può andare oltre il 5 marzo 2009. Di conseguenza, non posso impostare il periodo di prova prima del 5 marzo. Ho provato a caricare le citazioni in MT attraverso il servizio->archivio citazioni, non aiuta. Anche lo scorrimento manuale non aiuta.... Questo è quello che ho ricevuto dal supporto tecnico della mia società di intermediazione:


"Sfortunatamente, Metaquotes non fornisce un programma speciale, il cosiddetto "server storico" ai centri dealing, quindi ci sono queste limitazioni. Anche quando si seleziona il menu "Service-Archive" e si clicca su "Download" - si otterrà l'avviso che i dati storici dal server MetaQuotes saranno scaricati.

p.s. Diversi centri dealing (e noi siamo tra questi) hanno cercato di fare in modo che MetaQuotes permetta di scaricare (senza restrizioni) i dati di una particolare società di brokeraggio. Tuttavia, finora hanno solo promesso di rendere questo servizio disponibile in MT5".


E cosa devo fare se voglio controllare il mio EA per un lungo periodo di tempo?

Inoltre, in MT5 non è solo previsto, lì tutto è costruito su М1 e l'altro TF è calcolato da М1 (quella storia sarà solo in М1) Bene, metti una finestra più grande e scarica da MetaQuotes , altrimenti non c'è modo. Se non avete eseguito MT prima della data di inizio e MQ e non avete salvato le vostre mosse, non c'è modo.

Anche se chiedere chi potrebbe averli salvati, ci sono persone che hanno salvato citazioni anche da MT-2.

(cosa c'era prima di MT-2 mi dispiace non so troppo poco tempo in forex).

 
Caricare lo storico e (scrivere) testare l'Expert Advisor su "Opening prices" su almeno n1...
 
rid >> :
Caricando la storia e (scrivendo) testando un EA su "Prezzi di apertura" su af, almeno n1...

Sì, infatti, ho iniziato a testare :) Ma qualcosa mi sembra che a causa di un tale casino il sistema non si mostri. Forse l'indicatore non è calcolato correttamente su tali dati o qualcos'altro ... soprattutto perché il sistema è stato progettato per i minuti. Grazie comunque!