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

 
volshebnik:
Sì, grazie mille per i grandi chiarimenti. Ho implementato l'ottimizzazione in tutti i TF. Mi farà sapere i risultati dopo l'ottimizzazione+test su diversi segmenti.


Hai chiesto la possibilità di enumerare programmaticamente e ottimizzare i possibili TF per ottenere i loro valori di indicatore nell'Expert Advisor. Questo è possibile nel seguente modo - per esempio

Qui ci sono alcuni frammenti di codice dell'Expert Advisor nel file dove viene eseguita questa operazione - tutto è descritto lì con dei commenti.

......
extern int t_trend_period=7;
......

int trend_period=GetPeriod(t_trend_period); // это ф-ия для определения ТФ согласно заданному значению t_trend_period - заданному во внешней переменной (диапазон от 0 до 7)

double t_stoch_main=iStochastic(NULL,trend_period,t_Kperiod,t_Dperiod,t_slowing,MODE_SMA,0,MODE_MAIN,0);
......

// сама ф-ия выбота ТФ для оптимизации по всем периодам 
int GetPeriod(int period)
{int periodres;
 switch(period)
  {
   case 1: periodres=1;break;
   case 2: periodres=5;break;
   case 3: periodres=15;break;
   case 4: periodres=30;break;
   case 5: periodres=60;break;
   case 6: periodres=240;break;
   case 7: periodres=1440;break;
   default: periodres=1;break;
  }
return(periodres);
}

Che qualcun altro possa trovarlo utile.

File:
 

Per favore, consigliatemi! Come fare, diciamo, una nuova barra aperta in timeframe orario (H1) e il tempo viene contato per circa 50 minuti in questa barra, dopo 50 minuti ci sarà un segnale. Ho sentito parlare di Sleep.

 
anton777:

Per favore, consigliatemi! Come fare, diciamo, una nuova barra aperta in timeframe orario (H1) e il tempo viene contato per circa 50 minuti in questa barra, dopo 50 minuti ci sarà un segnale. Ho sentito parlare di Sleep.

int minutes=50; 

if(TimeCurrent()>=iTime(NULL,PERIOD_H1,0)+minutes*60){

   /// 

}
 

Ho una cosa strana - l'indicatore personalizzato sul grafico e dentro l'EA dà numeri completamente diversi. L'indicatore è l'analogo MQL di LinearReg di MetaStock. È scritto come segue

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Magenta

extern int  RPeriod = 20;

int shift = 0, cnt = 0,loopbegin = 0;
bool first = True;
int prevbars = 0;
double sum =0, WT = 0;
int i = 0;

double val1[];

int init()
{
SetIndexBuffer(0,val1);
   return(0);
}

int start()
{
   if (RPeriod<1) 
   {
   return(0);
   }
   loopbegin=Bars-RPeriod-1;
   for (shift=loopbegin; shift>=0; shift--)
   {
      sum=0;
      for (i=RPeriod; i>=1; i--)
      {
         sum=sum+(i-(RPeriod+1)/3)*Close[RPeriod-i+shift];
      }
      WT = sum*6/(RPeriod*(RPeriod+1));

           val1[shift] = WT;
        }
   return(0);
}
Quando è collegato a un grafico mostra esattamente gli stessi risultati di MetaStock. Ma non appena è collegato a un Expert Advisor di trading, il suo valore è superiore a 1,4 (alla sua proprietà indicator_chart_window) a EURUSD, dove le quotazioni sono intorno a 1,29. Naturalmente, i sistemi di trading riprodotti per MetaStock non possono funzionare, si scopre che tengono sempre la stessa posizione. Se clicco sui risultati dell'EA la linea di questo indicatore rimane lontana ma se semplicemente lo ricompilo, il grafico diventa immediatamente corretto come in MetaStock. Non riesco a capire perché ci sia una tale differenza.
 

Salve, cari esperti!

Vorrei chiedere il vostro aiuto! Voglio provare a fare il mio primo Expert Advisor, con compiti ...
1-Pips
2-М5
3-Può impostare i parametri di stop e takeaway.
4 - Invece dei decolli sarebbe possibile (opzionale) includere l'inversione di posizione ogni volta che questo livello viene raggiunto
Per fermarlo manualmente, con i tasti di scelta rapida, diciamo.
5 - Assolutamente no indukes.
Quindi questo è tutto, spero di non aver scaricato.
In realtà ho bisogno di almeno alcune fonti nitsy, o layout, beh, che non sarebbe molto complicato sono così acrome script non ha fatto nulla, e che è, tokmo pronto rifatto principalmente per se stesso.
Spero nel vostro aiuto

 
Mr.Ross:

Salve, cari esperti!

Vorrei chiedere il vostro aiuto! Voglio provare a fare il mio primo Expert Advisor, con compiti ...
1-Pips
2-М5
3-Può impostare i parametri di stop e takeaway.
4 - Invece dei decolli sarebbe possibile (opzionale) includere l'inversione di posizione ogni volta che questo livello viene raggiunto
Per fermarlo manualmente, tramite tasti di scelta rapida, diciamo.
5 - Assolutamente no indukes.
Quindi questo è tutto, spero di non aver scaricato.
In realtà ho bisogno di almeno alcune fonti nitsy, o layout, beh, che non sarebbe molto complicato sono così acrome script non ha fatto nulla, e che è, tokmo pronto rifatto principalmente per se stesso.
Spero nel vostro aiuto

https://www.mql5.com/ru/articles/1413
 
Mr.Ross:

Voglio chiedere il vostro aiuto!

Vi aiuteremo se non capite la parte di programmazione, ma non dimenticate: "Salvare gli annegati - gli annegati stessi" = Mostrate una parte del codice dove ci sono punti poco chiari, il codice di 1,5 mila linee - lasciatelo e risolvetelo da soli ;)
 
Ilya81:

Ho una cosa strana

Prova a confrontare visivamente qualche semplice indicatore e i dati che l'Expert Advisor riceve tramite iCustom() da questo indicatore. Penso che MovingAverage sia un buon indicatore per esperimenti

dovete usare la funzione iCustom() in modo scorretto

 
Integer:

Grazie mille!
 

Se qualcuno lavora a instaforex mt4, forse ha incontrato un problema:

Hanno quattro cifre sul demo, cinque cifre sul reale, ma molto strano - bid e ask arrotondati a quattro cifre.


qui c'è un tale codice:

   if (Poz_Up)
      {
         ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,NormalizeDouble(Bid-300*Point,Digits),NormalizeDouble(Ask+300*Point,Digits),Komment,0,Green);
      }
   if (Poz_Dn)
      {
         ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,NormalizeDouble(Ask+300*Point,Digits),NormalizeDouble(Bid-300*Point,Digits),Komment,0,Green);
      }

Ho la sensazione di non sapere cosa fare con esso. dà SL&TP quando apro una posizione poi 300pp e poi 3000pp come se volessi solo sapere quali sono le cifre ogni volta che ne prendo una nuova.

Qualcuno può suggerire come risolvere questo problema e qualcuno ha affrontato situazioni simili o sono solo io?