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

 
artmedia70:

È tutto individuale e tutto IMHO.

"...ho bisogno di trovare la variante EA con i migliori risultati..." Questi risultati - non significano quasi nulla per il presente e il futuro - sono regolati per la STORIA - e quindi per il passato.

Si tratta, in particolare, della mia attitudine alla velocità e, ancora di più, all'ottimizzazione - cerco di portare a zero i parametri EA regolabili. Secondo le mie osservazioni - l'ottimizzazione è solo una questione di adattamento a dati storici che non hanno alcun significato per il presente. Perché ho bisogno di un giocattolo che commercia ragionevolmente bene in passato?

Proprio per questo motivo, tutti i miei Expert Advisor hanno parametri autoregolabili per la situazione attuale del mercato, e non reagiscono alla storia con parametri rigidamente scritti, ma agli eventi attuali, cambiando dinamicamente alcuni dei loro parametri per adattarsi al momento presente... E non li ottimizzo MAI. Mi basta eseguire uno o due mesi di storia per trovare errori e assicurarmi che la mia logica di Expert Advisor funzioni correttamente e sia redditizia.

Quindi, non prendete a cuore l'umorismo del mio soldato. Mi scuso, spero - senza offesa? :))

Artem, va tutto bene). Se tu fossi una ragazza ti darei dei fiori virtuali )) Grazie. Riguardo al "colore verde" - i risultati sono attaccati non solo alla storia, ma al movimento МА (sì, alla storia, ma altrimenti non si possono vedere i suoi possibili comportamenti e varianti). Se viene rilevato anche un piccolo modello - dopo tutto, ci saranno sempre movimenti verso l'alto e verso il basso - questa sarà l'ottimizzazione. Forse tutte le mie iniziative sono sbagliate, ma non ho altre opzioni per eseguire l'Expert Advisor al fine di determinare almeno una parte della sua usabilità. Voglio ottimizzarlo solo una volta) E voglio rifiutare questa EA o portarla al lavoro. E se per 4 anni c'è un profitto costante - è un criterio debole? Dopo tutto, allora si coglie una certa regolarità. Per esempio, se la corrente del fiume cambia avanti e indietro - piccole pietre leggere rotoleranno avanti e indietro su una piccola distanza in ogni caso - questa è dipendenza.
 
volshebnik:
Nikolai, grazie. Uso indicatori standard - MA. Il codice è più di mille righe, chi vorrebbe preoccuparsene, penso. Il calcolo viene fatto una volta per ogni tick (l'ho controllato con "alerts").
Forse ci sono alcuni calcoli di cui possiamo fare a meno, ad esempio la gestione degli errori e di tutti i tipi di situazioni anomale, non sono necessari nella fase di sviluppo, e possono essere aggiunti quando l'algoritmo di trading è pronto e l'EA può essere impostato per il trading reale. Quante volte l'Expert Advisor esegue tutti gli ordini? Ci sono molti loop e funzioni iHigest/ilowest? Mille righe, sì, quasi nessuno lo capirebbe, tranne che per un'occhiata sommaria, nel caso in cui qualcosa attiri la sua attenzione...
 
Techno:
È anche possibile che ci siano calcoli di cui si può fare a meno, per esempio, la gestione degli errori e di tutti i tipi di situazioni anomale non è necessaria nella fase di sviluppo, possono essere aggiunti quando l'algoritmo di trading è completo e si può iniziare a utilizzare l'Expert Advisor per davvero. Quante volte l'Expert Advisor esegue tutti gli ordini? Ci sono molti loop e funzioni iHigest/ilowest? Mille righe, sì, solo pochissime persone lo capirebbero, a parte una rapida occhiata intorno nel caso in cui qualcosa catturi la loro attenzione.
Tutti gli ordini vengono provati su ogni tick (perché gli ordini vengono modificati al raggiungimento di un certo livello, e questo risultato può essere valutato solo da un tick). Non ho ancora implementato nessuna situazione anomala; la gestione degli errori esiste, sì. E i cicli sono contati solo all'apertura di ogni ora (si nota un ritardo significativo, quando ogni tick è controllato, come descritto).
 
volshebnik:
Tutti gli ordini vengono riprodotti ad ogni tick (perché gli ordini vengono modificati quando viene raggiunto un certo livello, e questo risultato può essere definito solo da un tick). Non ho ancora implementato nessuna situazione anomala, ma la gestione degli errori esiste. E i cicli sono contati solo all'apertura di ogni ora (si nota un ritardo significativo, quando ogni tick è controllato, come descritto).
sembra che non ci sia nulla di egregio, qualcosa di più può già essere detto con il codice...
 
Techno:
non sembra esserci nulla di eclatante, qualcosa di più può essere detto con il codice...
Grazie, Nikolai, è quello che mi stavo chiedendo - la velocità del tester aumenterebbe significativamente se cambiassi il processore?
 
volshebnik:
Grazie, Nikolai, è quello che mi stavo chiedendo - la velocità del tester aumenterebbe significativamente se cambiassi il processore?
Il problema non è nel processore, ma nel codice EA, da qualche parte ci sono dei colli di bottiglia, ma non si può diagnosticare e risolvere a parole, serve il codice
 
Ciao a tutti! Domanda: Come faccio a modificare un ordine pendente e una posizione già aperta preselezionandoli per numero magico. Se puoi farmi un esempio. Vorrei farvi una domanda.
 
Potete dirmi se, quando è abilitato, un EA può prendere il livello di prezzo di un'entrata a mercato o di un ordine pendente da una cella di Excel (i numeri corrispondenti saranno inseriti lì in anticipo)?
 
Aiuta a "rianimare" l'indicatore. Funziona secondo i dati storici, ma non secondo i nuovi dati. Almeno dammi la ragione.
#property copyright "Stellar Space"
#property link      "http"

#property indicator_chart_window                                               // Индикатор рисуется в основном окне
#property indicator_buffers 2                                                  // Количество индикаторных буферов
#property indicator_color1 DarkGreen                                           // Цвет первой линии
#property indicator_width1 1                                                   // Ширина первой линии
#property indicator_color2 Crimson                                             // Цвет второй линии
#property indicator_width2 1                                                   // Ширина второй линии

extern int Code_1=159;                                                         // Код значка
extern int Code_2=159;                                                         // Код значка

extern int History=1000;                                                       // Количество баров истории

double Buf_0[],Buf_1[];                                                        // Объявление массива под буфер индикатора

//+------------------------------------------------------------------+
int init()
 {
 
 SetIndexBuffer(0,Buf_0);                                                      // Назначение массива буферу
 SetIndexStyle(0, DRAW_ARROW);                                                 // Стиль линии
 SetIndexArrow(0, Code_1);                                                     // Стиль Arrow
 SetIndexLabel(0,"Максимум (1 уровень)");                                      // Установка имени линии индикатора 
 SetIndexBuffer(1,Buf_1);                                                      // Назначение массива буферу
 SetIndexStyle(1, DRAW_ARROW);                                                 // Стиль линии
 SetIndexArrow(1, Code_2);                                                     // Стиль Arrow
 SetIndexLabel(1,"Минимум (1 уровень)");                                       // Установка имени линии индикатора 
  
 return(0);
 }

//+------------------------------------------------------------------+
int start()
 {
 
 int i;                                                                        // Индекс бара
 int a,b,c,d,e,f,g,h,j,k,l,m,n,o,p,q;                                          // Объявление переменых
 int Counted_bars=IndicatorCounted();                                          // Количество просчитанных баров
 
 
//+------------------------------------------------------------------+         // START
 i=MathMin(History,Bars-Counted_bars-1);

  while(i>0)                                                                    // Цикл по непосчитанным барам
 {

 
//+------------------------------------------------------------------+         // A

 for(a=i; a>0; a--)    
 {//Aa
 if (High[a+1]<High[a]&&Low[a+1]<Low[a])
    {b=a;}    
 else {break;}
 }//Aa
//--
 for(a=i; a>0; a--)    
 {//Ab
 if (High[a+1]>High[a]&&Low[a+1]>Low[a])
    {c=a;}
 else {break;}
 }//Ab
//--

 for(a=i; a>0; a--)    
 {//Ac
 if (b>c){d=b;}    
 else {break;}
 }//Ac 
//--
 for(a=i; a>0; a--)    
 {//Ad
 if (c>b){e=c;}    
 else {break;}
 }//Ad
//--

 for(a=i; a>0; a--)    
 {//Ae
 if (e>d&&d>c)
  {
   f=iHighest(NULL,0,MODE_HIGH,e-c,c);
   Buf_0[f]=High[f]+2*Point;
  }    
 else {break;}
 }//Ae 
 for(a=i; a>0; a--)    
 {//Af
 if (d>e&&e>b)
  {
   g=iLowest(NULL,0,MODE_LOW,d-b,b);
   Buf_1[g]=Low[g]-2*Point;
  }    
 else {break;}
 }//Af 
 

//+------------------------------------------------------------------+
 i--;
 }

//+------------------------------------------------------------------+         // FINISH

 //!

 return(0);
 }

//+------------------------------------------------------------------+
int deinit()
 {
 return(0);
 }
  
//+------------------------------------------------------------------+
 

Dove posso ottenere quotazioni M30 (o inferiori) più vecchie del 2004 per QUALSIASI azione o indice. NON nelle valute? Grazie