Menos código, más acción... escribir un EA - página 7

 
Maxim Kuznetsov:

¿para qué componente de Ishimock quiere una envoltura? y lo más importante, por qué y qué tipo de...
¿sólo charlar? se puede, por qué no...

PD/ ¿Has visto el Exxel? En la vista del DataFrame los Ishimocks tendrán el mismo aspecto... Al igual que todos los demás... Los comerciantes trabajan con tablas en realidad. Un gráfico es sólo una representación parcial (vista) de un cuadro resumen. Así que estos datos deben ser tratados como tablas.
Desde el punto de vista del comerciante, ¿qué es un objeto de programa? No es nada. No hay tales cosas en su vida práctica.

Entonces, ¿lo hace para los programadores, incluso para los principiantes, o para cualquiera?

 
Vladimir Simakov:

Lo escribí con el control de la apertura de estas mismas órdenes.

No lo entiendo. ¿Ha publicado una versión incompleta?

 
Vladimir Simakov:

Para pensar en general, ejemplo de una clase envolvente para Ichimoku, pero en mql4.

¿Por qué hacer las cosas simples tan complicadas? mt4 facilita el uso de indicadores escribiendo una sola línea

Yo lo escribía así:

#define  ind1(int bar_) ind1(inp_param1, int... , int bar_) 
double ind1(int param1, int... , int bar)

{
тут можно предобработку описать, если необходимо
return(iCustom(,,,,,, bar))
}

OnTick()
{
 if(ind1(1) > ind1(2)) BUY();
}

Con este enfoque, OnTick() tiene 15-20 líneas de código, donde se puede ver toda la lógica y rápidamente modificarla para las modificaciones - las condiciones se reescriben o se añaden indicadores

imho, OOP has hecho una tarea complicada de una simple, necesitas controlar el cambio de TF, si los objetos son creados vía punteros, la manipulación innecesaria en cada llamada, aumenta el consumo de memoria.... ¿Por qué?

 
Vladimir Simakov:

¿Lo hace para programadores, incluso principiantes, o para cualquiera?

Lo hago específicamente para los principiantes.

Repite completamente el indicador estándar, y no permite nada nuevo; es una vieja canción con un nuevo giro. Con las nuevas entidades, una clase más y un include más.

¿Por qué se hizo el COD? No se puede aplicar a S20 por ejemplo... físicamente no se puede aplicar a ohlc arbitrario. ¿Y qué clase se puede derivar de ella, dónde crecer a partir de ahí?

 
fxsaber:

No lo entiendo. ¿Ha publicado una versión incompleta?

Así que no tienes control de la apertura/cierre de un pedido, conmigo todo va bien. Al menos funciona en Forex Club. Escribí que hoy adjunté CloseBy a la biblioteca, todavía hay una retroalimentación para mejorar. Por ejemplo, ¿el mismo billete cambia o no? Forex Club no lo hace, ¿pero otros? Es decir, tenemos que implementar el control de esto, para cambiar los campos de clase requeridos, etc. Pero cuando todo esto está finalizado y depurado, es un verdadero placer escribir.

 
Vladimir Simakov:

Así que es usted quien no tiene control de la apertura/cierre de un pedido, conmigo está bien. Al menos en Forex Club funciona. Te dije que CloseBy se adjuntó a la biblioteca en un rasguño hoy, todavía hay una retroalimentación para ser completado y para ser completado. Por ejemplo, ¿el mismo billete cambia o no? Forex Club no lo hace, ¿pero otros? Es decir, tenemos que implementar el control de esto, para cambiar los campos de clase requeridos, etc. Pero cuando todo esto está finalizado y depurado, es un verdadero placer escribirlo.

Lo repito una vez más, tu código no funciona, el segundo código sí.

 
Maxim Kuznetsov:

Estoy haciendo esto específicamente para los principiantes.

Pero ¿para quién citó el código? Repite completamente el indicador estándar y no permite nada nuevo; es como una vieja canción con un nuevo giro. Con nuevas entidades, una clase más y un inludio más.

¿Por qué se hizo el COD? No se puede aplicar a S20 por ejemplo... físicamente no se puede aplicar a ohlc arbitrario. ¿Y qué clase se puede derivar de ella, dónde crecer a partir de ahí?

Es puramente por conveniencia.

En el segmento de datos:

CIchimoku ind1(EURUSD,PERIOD_M5,5,10,15);

CIchimoku ind1(GBPUSD,0,10,25,30,2);

Como resultado tenemos dos indicadores, el primero en el marco temporal m5, y el segundo siempre se desplazará en +2 marcos temporales desde el marco temporal del gráfico actual.

 
fxsaber:

Una vez más, tu código no funciona, el segundo código sí.

 
Vladimir Simakov:
expert Test (EURUSD,M1) loaded successfully
'35286172': market buy 0.20 EURUSD
'35286172': accepted market buy 0.20 EURUSD
'35286172': market buy 0.20 EURUSD placed for execution
'35286172': order #2214667209 buy 0.20 / 0.20 EURUSD at market done in 172.415 ms
'35286172': market sell 0.10 EURUSD
'35286172': deal #2211904952 buy 0.20 EURUSD at 1.12941 done (based on order #2214667209)
'35286172': accepted market sell 0.10 EURUSD
'35286172': market sell 0.10 EURUSD placed for execution
'35286172': order #2214667210 sell 0.10 / 0.10 EURUSD at market done in 171.843 ms
'35286172': deal #2211904953 sell 0.10 EURUSD at 1.12936 done (based on order #2214667210)
expert Test (EURUSD,M1) removed

No funciona.


Y este es el segundo código

script Test4 (EURUSD,M1) loaded successfully
'35286172': market sell 1.00 EURUSD
'35286172': accepted market sell 1.00 EURUSD
'35286172': market sell 1.00 EURUSD placed for execution
'35286172': order #2214667234 sell 1.00 / 1.00 EURUSD at market done in 174.294 ms
'35286172': deal #2211904975 sell 1.00 EURUSD at 1.12936 done (based on order #2214667234)
'35286172': market buy 1.00 EURUSD
'35286172': accepted market buy 1.00 EURUSD
'35286172': market buy 1.00 EURUSD placed for execution
'35286172': order #2214667235 buy 1.00 / 1.00 EURUSD at market done in 175.016 ms
'35286172': deal #2211904976 buy 1.00 EURUSD at 1.12941 done (based on order #2214667235)
'35286172': close position #2214667235 buy 1.00 EURUSD by position #2214667234 sell 1.00 EURUSD
'35286172': accepted close position #2214667235 buy 1.00 EURUSD by position #2214667234
'35286172': deal #2211904977 sell 1.00 EURUSD at 1.12936 done (based on order #2214667236)
'35286172': close position #2214667235 buy 1.00 EURUSD by position #2214667234 done in 67.893 ms
script Test4 (EURUSD,M1) removed
Está funcionando.
 
Vladimir Simakov:

Esto es puramente por conveniencia.

En el segmento de datos:

CIchimoku ind1(EURUSD,PERIOD_M5,5,10,15);

CIchimoku ind1(GBPUSD,0,10,25,30,2);

Como resultado, tenemos dos indicadores, el primero en el marco temporal m5, mientras que el segundo siempre se desplazará en +2 marcos temporales desde el marco temporal del gráfico actual.

Pero, ¿está bien que antes de referirse a los indicadores de diferentes plazos, haya que tocar una pandereta y hacer un baile?

Quién lo hará... bueno, aparentemente el usuario - que aprenda el zen y el poder del no chino simultáneamente :-)

La plataforma presenta cómodas interfaces de indicadores y su descomposición en buffers. Entonces, ¿por qué repetir algo que ya se ha hecho y se ha hecho bien? Para demostrar que estás familiarizado con la palabra "clase" algo de hecho...