[¡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 500

 

Asesor experto basado en ZUP con horquillas modificadas

Cuando se utiliza el indicador con horquillas, en el probador, por alguna razón las horquillas del indicador giran en la dirección opuesta (hacia atrás)

¿Qué puede causar esta inversión?

 
Cmu4:
Señores, si no les importa, por favor, envíenme la función que rastrea la equidad. No puedo encontrarlo...

https://www.mql5.com/ru/code/8781

Y hay mucho en el código base.

 
Ayúdenme a encontrar una función de colocación de pedidos que tenga en cuenta el deslizamiento y que no presente errores 130-134.
 
xrust:

https://www.mql5.com/ru/code/8781

Y hay mucho en el código base

Añadiré al asesor de Igor Kim.
 
Roman.:


Hola, Dimitri. Por mi parte, estoy dispuesto a sugerirle la siguiente variante. Para la analogía, véase la activación de los criterios de negociación de este artículo - también hay dos señales - a saber, ver después de la segunda imagen "Lo primero que debe esperar en el gráfico DeMarker es el momento en que el DeMarker cruza la línea de MA rápida y lenta cerca de 0,7 para una posición corta. Esta es la primera señal preliminar. Luego esperamos el cruce de las propias líneas MA. Esta es la señal principal, tras la cual se pueden realizar las lecturas del indicador Taichi. Si las líneas MA no se cruzan, se considera una señal falsa y el movimiento del precio continuará. Aquí es cómo se implementa en mi código - en la inclusión de búhos que son responsables de la activación de los criterios de comercio.

El truco principal es que trabajamos a través de los dos fi nes mencionados más abajo fijando y restableciendo las banderas cuando se activa uno u otro criterio de negociación.

Además, guardará la hora actual cuando se active el criterio principal utilizando TimeCurrent, es decir, especificará una expresión de tipo x = TimeCurrent antes dereturn(OP_BUY); oreturn(OP_SELL); donde x es una variable global de tipo datetime por analogía en la primera funciónint_op_DeMarker. Luego haz lo mismo con la segunda funciónint type_op_MA... - allí se memoriza la variable y = TimeCurrent;

A continuación, se compara el valor de estas dos variables con el signo más en el bloque de cálculo de los criterios de comercio (resulta que no se necesita el análogo de trabajar con los valores UTC - en su lugar se toma una comparación de tiempo de recepción de sus dos señales de comercio):

P.D. Además te envío una función para la posibilidad de optimizar el valor del TF de trabajo.

P.P.S. Así es como se organiza esta estructura de código en mi código. No excluyo que haya variantes de código mucho mejores para cumplir esas condiciones del EA. :-)))

Muchas gracias, su respuesta ha sido muy útil
 
demlin:
Muchas gracias, su respuesta ha sido muy útil

:-))) Y yo que empezaba a pensar que te lo habías tragado y me habías mandado a paseo con todas esas analogías, ejemplos, etc. .... :-)))
 
Roman.:

:-))) Pensé que te lo habías tragado y me habías mandado a paseo con todas esas analogías, ejemplos, etc. .... :-)))
Hace tiempo que no me acerco a mi ordenador))). Sólo que no entendí del todo la función de optimización del TF de trabajo. ¿Qué es?
 
demlin:
Hace tiempo que no me acerco al ordenador))). Sólo que no entendí bien lo de la función para optimizar el TF de trabajo. ¿Qué es?

Es sólo una especie de "adaptador", que permite optimizar los plazos del EA a través de variables externas del búho para establecer los mejores (-esos, en caso de que el búho trabaje en varios TFs) para su funcionamiento... Una función buena y útil...
 
Roman.:

Es sólo una especie de "adaptador" que permite optimizar los timeframes del EA a través de variables externas del búho para establecer los mejores (-aquellos, en caso de operación del búho en varios TFs) para su funcionamiento... Una función buena y útil...
¿Cómo conseguirlo?
 
demlin:
¿Cómo se consigue?


Fíjate bien en el código de mi respuesta: aparece allí justo después del final del Criterio {... return (0)}... en el bloque de variables externas:

extern int t_trend_period =6; // для оптимизации по всем периодам от 0 до 7 шаг 1
                              // на каком ТФ работаем: 1-М1, 2-М5, 3-М15, 4-М30, 5-Н1, 6 - Н4, 7-день

y cómo utilizarlo para obtener los valores de los indicadores:

//--------------------------------------------------------------- 3 --
int Criterion()                        // Пользовательская функция
  {
  //--------------------------------------------------------------- 4 --
int trend_period=GetPeriod(t_trend_period); // для выбора оптимального значения рабочего ТФ

   // Параметры технич. индикат:
                 
double Taichi_1 = iCustom (Symbol(), trend_period, "Cronex Taichi",Tenkan, Kijun, Senkou, FlatSE, 0, 1);
...
...
//--------------------------------------------------------------- 6 --
   return(0);                          // Выход из пользов. функции
  }
//--------------------------------------------------------------- 7 --

//для оптимизации по всем ТФ
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;
   case 8: periodres=10080;break;
   default: periodres=1;break;
  }
return(periodres);
}