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

 
alsu:

no es gran cosa.

Pruebe a confirmar /* */ trozo de código del Asesor Experto simple y sustituya Total por orders_total - la variable que declaramos nosotros mismos.

He comentado //Contabilidad de pedidos, he sustituido Total por orders_total - los pedidos no se han realizado en absoluto.

P. S. ¿Podemos abrir órdenes a un precio Stop en MetaTrader?

¿Podemos cambiar el tipo de orden en la condición o en la propia condición (ya he probado con ask y bid)?

   if (High[0] >= BT)                       // Если разница между
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (Low[0] <= ST)                       // Если разница между
     {                                          // 
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }
 
Craft:

He comentado // Recuento de pedidos, Total sustituido por orders_total - los pedidos ya no se realizan en absoluto.

P. S. ¿Podemos abrir órdenes a un precio Stop en MetaTrader?

¿Puedo cambiar el tipo de orden en la condición o en la propia condición (ya he probado con Ask y Bid)?

Estoy empezando a confundirme. ¿Puedes publicar el código completo del EA?
 

No hay problema.

Tenga en cuenta que este código fue creado con fines de formación y que no hay ninguna lógica práctica en este formulario.

Archivos adjuntos:
12.mq4  14 kb
 

en la línea

BT = Open[0] + Open[0]*iMAOnArray(MyATR[i],0,PerB,0,MODE_SMA,0);

El índice [i] es redundante. Después de la edición:


Archivos adjuntos:
test.mq4  14 kb
 
alsu: Después de la edición:


Dado que las órdenes se cierran antes de que se abran otras nuevas en este tic, también debe analizarse el historial de órdenes cerradas.

corregido en el anexo. Ahora es hermoso:)

Archivos adjuntos:
test_1.mq4  14 kb
 

Por si acaso, he probado el test_1 desde el 1 de mayo hasta el 28 de mayo de este año y quiero decir que sin lógica, este experto rinde mucho más que muchos expertos a los que les sobra lógica =)))


 

Ayúdame a resolver un problema

Selecciono por todas las posiciones cerradas

for (int i=0; i<OrdersHistoryTotal(); i++)// en todos los pedidos del terminal
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

filtro posterior por número mágico

if (OrderMagicNumber()==12)

el filtro coincide con 3 posiciones pero sólo necesito la última cerrada

¿No puedes averiguar cómo dejar sólo el último?

Gracias

 
Noterday:

Por interés, he probado el test_1 desde el 1 de mayo hasta el 28 de mayo de este año y quiero decir que sin lógica, este experto se desempeña mucho mejor que muchos expertos que tienen YUMA de lógica =)))

)))) Gracias a Noterday.

Gracias especiales, alsu.

 

¿Alguien ha utilizado Gannzilla?

¿Cuál es el porcentaje de éxito?

 
alsu:

Dado que en este tick las órdenes se cierran antes de que se abran las nuevas, debemos analizar también el historial de las órdenes cerradas.

corregido en el anexo. Eso sí que es una belleza:)

Todavía hay una cuestión más, hay zonas en las que sólo se produce el cierre de una posición, no la inversión, aunque las condiciones para un stop y la apertura de una nueva posición son las mismas.