[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 27

 
volshebnik:
Sí, muchas gracias por las grandes aclaraciones. He implementado la optimización en todos los TFs. Me gustaría saber los resultados después de la optimización + pruebas en diferentes segmentos.


Has preguntado por la posibilidad de enumerar y optimizar mediante programación los posibles TFs para obtener sus valores de indicador en el Asesor Experto. Esto es posible, por ejemplo, de la siguiente manera

Aquí hay algunos fragmentos de código del Asesor Experto en el archivo donde se realiza esta operación - todo se describe allí con comentarios.

......
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);
}

Que alguien más lo encuentre útil.

Archivos adjuntos:
 

Por favor, aconséjeme. Como hacer, digamos, una nueva barra abierta en timeframe horario (H1) y el tiempo se cuenta por unos 50 minutos en esta barra, después de 50 minutos habrá una señal. Me he enterado de lo del sueño.

 
anton777:

Por favor, aconséjeme. Como hacer, digamos, una nueva barra abierta en timeframe horario (H1) y el tiempo se cuenta por unos 50 minutos en esta barra, después de 50 minutos habrá una señal. Me he enterado de lo del sueño.

int minutes=50; 

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

   /// 

}
 

Tengo una cosa extraña - el indicador personalizado en el gráfico y dentro del EA da números completamente diferentes. El indicador es el análogo MQL de LinearReg de MetaStock. Está escrito como sigue

#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);
}
Cuando se adjunta a un gráfico, muestra exactamente los mismos resultados que MetaStock. Pero tan pronto como se adjunta a un Asesor Experto de comercio, su valor es superior a 1,4 (en su propiedad indicator_chart_window) en EURUSD, donde las cotizaciones son alrededor de 1,29. Naturalmente, los sistemas de comercio reproducidos para MetaStock no pueden funcionar, resulta que siempre mantienen la misma posición. Si hago clic en los resultados del EA la línea de este indicador se queda lejos pero si simplemente lo recompilo, el gráfico se vuelve inmediatamente correcto como en MetaStock. No puedo entender por qué hay tanta diferencia.
 

¡Hola, queridos expertos!

Me gustaría pedir su ayuda. Quiero intentar hacer mi primer Asesor Experto, con tareas ...
1-Pips
2-М5
3-Puede establecer los parámetros de parada y retirada.
4 - En lugar de los despegues sería posible (opcional) incluir la inversión de la posición cada vez que se alcance este nivel
Para detenerlo manualmente, mediante teclas de acceso rápido, digamos.
5 - Absolutamente ningún indukes.
Así que eso es todo. Espero no haber descargado.
En realidad necesito al menos algunas fuentes nitsy, o el diseño, bueno, eso no sería muy complicado estoy tan acrome scripts no hizo nada, y es que, tokmo listo rehecho en su mayoría para sí mismo.
Espero su ayuda

 
Mr.Ross:

¡Hola, queridos expertos!

Me gustaría pedir su ayuda. Quiero intentar hacer mi primer Asesor Experto, con tareas ...
1-Pips
2-М5
3-Puede establecer los parámetros de parada y retirada.
4 - En lugar de los despegues sería posible (opcional) incluir la inversión de la posición cada vez que se alcance este nivel
Para detenerlo manualmente, mediante teclas de acceso rápido, digamos.
5 - Absolutamente ningún indukes.
Así que eso es todo. Espero no haber descargado.
En realidad necesito al menos algunas fuentes nitsy, o el diseño, bueno, eso no sería muy complicado estoy tan acrome scripts no hizo nada, y es que, tokmo listo rehecho en su mayoría para sí mismo.
Espero su ayuda

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

Quiero pedirte ayuda.

Te ayudaremos si no entiendes la parte de programación, pero no olvides: "Salvar al ahogado - el ahogado mismo" = Muestras parte del código donde hay puntos poco claros, el código de 1,5 mil líneas - déjalo y resuélvelo tú mismo ;)
 
Ilya81:

Tengo una cosa rara

intente comparar visualmente algún indicador simple y los datos que el Asesor Experto recibe a través de iCustom() de este indicador. Creo que MovingAverage es un buen indicador para experimentar

debe estar utilizando la función iCustom() incorrectamente

 
Integer:

¡Muchas gracias!
 

Si alguien trabaja en instaforex mt4, quizás se haya encontrado con un problema:

Tienen cuatro dígitos en la demo, cinco dígitos en la real, pero muy extraño - bid y ask redondeados a cuatro dígitos.


aquí hay un código de este tipo:

   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);
      }

me da SL&TP cuando abro una posición luego 300pp y luego 3000pp como si quisiera saber cuales son los Digits cada vez que abro una nueva.

¿Alguien puede sugerir cómo resolver este problema? ¿Alguien se ha enfrentado a situaciones similares o sólo soy yo?

Razón de la queja: