[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 59

 
dzhini:
Bene...., per favore, PROFI, dammi una risposta, cosa fare con l'indicatore. Dimmi, è possibile o impossibile? (La domanda è stata scritta prima nel thread, se la duplico, avrò un secondo giallo :o) )

Hai bisogno di aumentare la storia.

Con Alpari non è un problema. Altri broker hanno problemi. Non ricordo quali (inoltre è accettato non parlarne qui su un forum).

 
OrdersTotal<br / translate="no"> int OrdersTotal()
Restituisce il numero totale di ordini aperti e in sospeso.

È possibile conoscere solo il numero totale di ordini aperti?
 
gince:

Hai bisogno di aumentare la storia.

Con Alpari non è un problema. Altri broker hanno problemi. Non ricordo quali (inoltre è accettato non parlarne qui sul forum).

Ho abbastanza storia dalla fine di giugno 2010 (in teoria, dovrebbe essere sufficiente per visualizzare gennaio 2011). Ma anche questo non funziona. C'è qualche punto fondamentale nella compatibilità dei comandi dell'indicatore e del funzionamento del tester.
 
Jaguar1974:
È possibile conoscere solo il numero totale di ordini aperti?
 int Opend(){
     int Ord=0;
     for(int cnt=0;cnt<OrdersTotal();cnt++){
        if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true){
          if(OrderMagicNumber()==Magic){
            if(OrderSymbol()==Symbol()){
              if(OrderType()<2)Ord++;
      } } } }        
  return(Ord);} 
 
Buon pomeriggio, aiutatemi a risolvere un problema. Ho un Expert Advisor e-CrossCCI (non mio). L'Expert Advisor funziona quando la linea dell'indicatore CCI attraversa un livello zero, come funziona (redditizio o meno non è il punto). E funziona sia con gli indicatori incorporati che con quelli personalizzati. C'è un indicatore stocastico Premier. Nel mio Expert Advisor, cambio l'indicatore CCI in Premier stocastico, lasciando in realtà il codice invariato (il principio dello stesso zero crossing). L'ho messo per il test. Non effettua alcun ordine. Quale può essere il problema? Tutto è attaccato. Il risultato della risoluzione del problema, se possibile, si veda ban_61@mail.ru/.

Grazie in anticipo!!!
File:
123.rar  4 kb
 
ban61:
Buon pomeriggio, aiutatemi a risolvere un problema. Ho un Expert Advisor e-CrossCCI (non mio). L'Expert Advisor funziona quando la linea dell'indicatore CCI attraversa un livello zero, come funziona (redditizio o meno non è il punto). E funziona sia con gli indicatori incorporati che con quelli personalizzati. C'è un indicatore stocastico Premier. Nel mio Expert Advisor, cambio l'indicatore CCI in Premier stocastico, lasciando in realtà il codice invariato (il principio dello stesso zero crossing). L'ho messo per il test. Non effettua alcun ordine. Quale può essere il problema? Tutto è attaccato. Il risultato della risoluzione del problema, se possibile, si veda ban_61@mail.ru/.

Grazie in anticipo!!!
Hai provato a capire come funzionano i buffer degli indicatori? Articolo molto utile (https://docs.mql4.com/ru/indicators/iCustom)
 
dzhini:
Avete provato a capire come funzionano i buffer degli indicatori? Articolo molto utile (https://docs.mql4.com/ru/indicators/iCustom)

Ho letto l'articolo. Anche l'indicatore premier stocastico sembra essere prescritto correttamente, ha aggiunto i parametri di input:

extern int StochasticLenght=8;

extern int StochasticMode=0;

extern int SmoothLength=25;

extern double Level1=0.9;

extern double Level2=0.2;

l'indicatore è scritto

double cci = iCustom(NULL,0, "Premier stocastico",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

double cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

il resto del codice sorgente rimane invariato.

-

-

 
ban61:

Ho letto l'articolo. Anche l'indicatore premier stocastico sembra essere prescritto correttamente, ha aggiunto i parametri di input:

extern int StochasticLenght=8;

extern int StochasticMode=0;

extern int SmoothLength=25;

extern double Level1=0.9;

extern double Level2=0.2;

l'indicatore è scritto

double cci = iCustom(NULL,0, "Premier stocastico",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

double cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

il resto del codice sorgente rimane invariato.

-

-

Domanda: vuoi imparare a programmare o solo far riparare il tuo bot? Se la prima, allora devi capire perché l'esecuzione dell'ordine si verifica. Se è il secondo, avresti dovuto dirlo subito.

Per quanto riguarda il tuo codice, prende i dati dallo stesso buffer (di cui ci sono 5) sulle candele precedenti e di pre-apertura, e aspetta queste condizioni: (cci1<0 && cci>0) o (cci1>0 && cci<0) .... e penso che aspetterà per sempre.

 
Per favore qualcuno guardi la mia domanda precedente. Non riesco a identificare e risolvere l'errore. Il codice si compila, ma sul tester non dà il risultato atteso.
 

Ciao a tutti!

Ho una semplice domanda.

C'è un piccolo programma che consiste in tre file:

1. esperto vol1, il file che contiene int start () ecc.

#include <Variables.mq4>
#import "statistics.mq4"
#import "files.mq4"

int init_main (double &MAIN[], int quantity);
int write (int fh);
int init()
  {  
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
  
  init_main(MAIN,50000);
for (int i = 0; i < 1000; i++){
int fh = write(Name);
}
   return(0);
  }

Come potete vedere, includo #include <Variables.mq4>
e importo #import "statistics.mq4", #import "files.mq4 ".

2. Variabili.mq4 - contiene variabili.

string  Name = "new";
double MAIN [50000];
double TEN [10];
double CUR [10];
3. files.mq4 questo vile contiene diverse funzioni

int init_main (double &MAIN[], int quantity){

int count = 0;
int time = 0;
int end_time = 0;

time = TimeCurrent();

end_time = time + quantity;


while (time != end_time){

MAIN[count] = Ask;

Alert(MAIN[count]);

count++;

time = TimeCurrent();

while (time == TimeCurrent()){}

}
}

int write (int fh){ 

if (fh <  0){
     
     Alert("Неудается открыть файл с таким именем, ошибка ", GetLastError() );
     FileClose(fh);
                  }
     
                      
                      if (fh > 0) {

                      //Alert("Записываю тики в файл ", file_name, " !");
                      //Alert(StrToInteger(CharToStr(StringGetChar(file_name,0))));
                     
                 
                 
               
                      FileSeek(fh, 0, SEEK_END);
                      FileWrite(fh, TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), " ", Ask, " ", Bid);
                      FileClose(fh);
                      return;

            }  
}
L'essenza del problema è che il compilatore mi dà 'MAIN' - variabile non definita e

Name' - variabile non definita!

Li ho dichiarati come variabili.mq4 ?

Se qualcuno può aiutarmi, gliene sarò molto grato!

Grazie in anticipo per la risposta!