[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 336

 
Elenn:
.... La domanda è: come organizzare gli array? Se dichiariamo tutti gli array a livello globale, ci vorrà troppo spazio in memoria. Inoltre, questo EA sarà installato su ciascuna delle 12 coppie, quindi sarà uno spreco di memoria molto improduttivo. Se solo fosse possibile cancellare gli array dopo che non sono più necessari, ma come farlo, specialmente dal livello globale?


Se avete il codice sorgente, potete unire tutte e tre le funzioni in una sola, e dichiarare gli array in essa.

Dopo essere usciti da questa funzione, la memoria sarà liberata automaticamente.

 

Non riesco a capire perché il codice non funziona correttamente su 4.

Il compito è quello di chiudere tutte le posizioni ad una certa ora del giorno e cancellare gli ordini pendenti piazzati dall'EA. Il problema è che ogni secondo ordine non viene toccato. Non c'è uno schema. Non riesco a capire quale sia il problema. Per favore, ditemi, cosa sto sbagliando? Grazie in anticipo per la risposta!

   if (!ClosedByTime)
      if (CurrentHour==CloseTradesTime-1 && TimeMinute(TimeCurrent())>55)
            {
            ClosedByTime=true;
            for (n=0;n<=OrdersTotal()-1;n++)
               {
               OrderSelect(n,SELECT_BY_POS);
               if (OrderMagicNumber()==Magic)
                  { 
                  if (OrderType()==0 || OrderType()==1){
                     if (OrderType()==0)
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),1);
                        Alert("BUY position has been closed due to tradetime timeout!");
                        }
                       else
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),1);
                        Alert("SELL position has been closed due to tradetime timeout!");
                        }}
                     else {OrderDelete(OrderTicket());Alert("Pending order (type "+OrderType()+") has been canceled due to tradetime timeout!");}
                  }
               
               }
            }

P.S. Per favore non rispondete con un "sei proprio un cazzaro..." :)

 
for(n=OrdersTotal()-1;n>=0;n--)
 

Ciao a tutti, come posso gestire le proprietà della finestra da un indicatore, sono interessato ai parametri segnati con le frecce, quali funzioni usare per questo?

 
sanches83:

Scusa se sono così insistente, volevo solo sapere se davvero non è reale o se è solo un argomento perso.
Non l'ho usato, ma c'è un file "DDE-Sample.xls" incluso nel terminale, devi solo abilitare il server nel terminale. Provate, forse funzionerà. O forse il compito sarà formulato in modo diverso. O forse il compito sarà formulato diversamente? Tramite API? Sperimenta con il DDE.
 
FAQ:

Ahhhhhhhh sto per cadere dalla sedia ora... Non avrei dovuto essere cos) stupido. Dovrei lavorare meno di notte...

Grazie.

 
Se il tuo Expert Advisor richiede molto codice... La velocità di elaborazione del codice - la velocità di prendere decisioni dipende dalle prestazioni del computer o anche nonostante un computer molto potente, la velocità di elaborazione sarà limitata dal "limite di velocità del linguaggio MKL4" (non so come dirlo correttamente)
 

Ecco il codice

int handle=FileOpen("1all.txt",FILE_WRITE|FILE_CSV,"\t");
  if(handle<0) {Print("FAQ"); return(0);}

  FileWrite(handle,"OrderTicket","OrderOpenPrice","OrderOpenTime","OrderSymbol","OrderLots");
  int total=OrdersHistoryTotal();

  for(int pos=0;pos<total;pos++)
    {
     if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==false) continue;
     FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots());
    }
  FileClose(handle);
  Print("done");

Non dà un errore. Sembra che scriva tutto, ma non so dove lo salva. Ho cercato il file 1all.txt sul mio computer ma non l'ho trovato. Dove va?

 
Shniperson:
Se il tuo Expert Advisor richiede molto codice... La velocità di elaborazione del codice - la velocità di prendere decisioni dipende dalle prestazioni del computer o anche nonostante un computer molto potente, la velocità di elaborazione sarà limitata dal "limite di velocità del linguaggio MKL4" (non so come dirlo correttamente)

Non ci sono problemi particolari per il codice ottimale. Una curva può essere lunga 10 linee e bloccare il sistema.
 
Alp:

Ecco il codice

Non dà un errore. Sembra che scriva tutto, ma non so dove salva. Ho cercato il file 1all.txt sul mio computer, ma non l'ho trovato. Dove va?


Quale sistema operativo? Su quale unità si trova il terminale?

Per impostazione predefinita.

\esperti \fili

\tester \fili