[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 996

 
Siempre es así, primero responden a una pregunta, luego escriben un asesor, y luego lo cambian interminablemente a medida que llega una nueva idea, pobre artmedia, así que pronto se irán todos los programadores, no habrá nadie que ayude)
 

Techno totalmente de acuerdo contigo, pero te pido que inicies un hilo y no en otro sitio, ¿qué dice el hilo?

Cualquier pregunta de un principiante, para no saturar el foro. Los profesionales no pasan. No hay ningún lugar sin ti.

Los moderadores pueden dejarlo en un hilo separado si la discusión no cabe en el hilo principal.

Y luego el caso es puramente voluntario, no estoy pidiendo que escriban por mí todo el trabajo, y como dije arriba, estoy aprendiendo, y creo que los nuevos que recién se incorporan, también aprenden mucho,

 
ex_kalibur:

Techno está totalmente de acuerdo contigo, pero...

Bueno, hasta ahora, a juzgar por los TdR escritos arriba, sugieres que todo debería estar escrito para ti. El tema está diseñado específicamente para las preguntas que surgen en los principiantes durante la programación y el entrenamiento, y no para el cumplimiento de todos sus deseos)
 
Así que si todo el mundo está de acuerdo con los términos de referencia y todo está claro, entonces proceda. En primer lugar, adjunto todos los archivos de la plantilla
Archivos adjuntos:
 
Techno:
Hasta ahora, a juzgar por los TdR escritos anteriormente, está sugiriendo que todo debe ser escrito para usted. El tema está pensado para las preguntas que los principiantes tienen durante la programación y el entrenamiento, y no para satisfacer todos sus deseos)
Al principio hice preguntas, pero luego se complicó mucho, y como el programa tiene una estructura compleja con archivos entrantes, no es posible mostrar el código, por lo que empezaré de nuevo y retomaré donde lo dejé
 

Quiero reescribir mi EA de mq4 a mq5. ¿Puede usted aconsejar cuánto más rápido el EA será probado y optimizado en mq5?

 
ex_kalibur:
Así que si todo el mundo está de acuerdo con los términos de referencia y todo está claro, entonces proceda. Primero adjunto todos los archivos de la plantilla

¿Por qué tan complicado?
 
Vinin:

¿Por qué tan complicado?
Porque estoy tan perplejo que ni siquiera puedo hacer una pregunta competente
 

Empecemos con la función Criterio

Para determinar el canal vamos a utilizar el indicador ZigZag, respectivamente, vamos a establecer sus parámetros,

//--------------------------------------------------------------------

// Criterion.mqh

//--------------------------------------------------------------- 1 --

// Функция вычисления торговых критериев.

// Возвращаемые значения:

// 10 - открытие Buy

// 20 - открытие Sell

// 11 - закрытие Buy

// 21 - закрытие Sell

// 0 - значимых критериев нет

// -1 - используется другой финансовый инструмент

//--------------------------------------------------------------- 2 --

// Внешние переменные:

eextern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

//-----------------------------------------------------------------------

int Criterion() // Пользовательская функция

{

string Sym="EURGBR";

if (Sym!=Symbol()) // Если не наш фин. инструмент

{

Inform(16); // Сообщение..

return(-1);

} // .. и выход

double

High,

Low ;

//------------------- Параметры технич. индикат: -------------------

High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);

Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);

int TicSpred=100;

double Spread[1000];

if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}

for (int q=TicSpred;q>0;q--){

if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}

for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}

Spread[0]=(Ask-Bid)/delta;

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}

//--------------------------------------------------------------- 5 --

// Вычисление торговых критериев

if (Bid <= Low && Ask< High -CountedSpred/2*delta )

return(10);

if ( Bid>= High )

return(20);

 

// Cálculo de los criterios de negociación

if (Bid <= Low && Ask< High -CountedSpred/2*delta)

volver(10);

si ( Oferta>= Alta )

volver(20);

Aquí me he quedado atascado. Según la tarea debemos obtener primero el historial de la propagación media, ¿cómo debo hacerlo?

Quiero que mi matriz de 100 celdas se llene completamente