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

 
volshebnik:
Por más que he probado Code Base, nada me ha salido rentable (aún no lo he terminado). De lo contrario, ya habría apostado por él de verdad. En la optimización - bueno, en la prueba - malo. Sólo esta búsqueda de todos los MAs en la optimización, como me parece, dará la mejor variante de mi estrategia, mientras que hay MA (5), MA(12), MA(18), MA(23) y MA(28). Pero puede que estas no sean las mejores MA. Y, en lugar de ocuparse de cada una de ellas (también de sus intersecciones), ¿no sería más fácil ejecutar un algoritmo genético de optimización para seleccionar las mejores MA? Así que esa es la pregunta que surgió en mi anterior post.

Creo que la lógica de la solución está coja ahí. Formula el problema correctamente (puedes hacerlo sin tu código), abstrae un poco de él y escribe las condiciones del problema con claridad...
 
Roman.:

En mi opinión, la lógica de la solución está coja ahí. Formula el problema correctamente (puedes hacerlo sin tu código), abstrae un poco de él y escribe las condiciones del problema con claridad...
El problema: esperamos la ruptura de la MA y luego el primer fractal. La ruptura del primer fractal es una señal para el comercio. Pero con diferentes períodos de MA, los fractales pueden estar en diferentes lugares (por el tiempo) porque, dependiendo del período y el tipo de suavizado, algunos МАs "rompen" antes y otros después y, en consecuencia, las señales a un comercio son diferentes. Así que quiero probar todos los МА para averiguar el que da la mejor señal (más rentable) (si es correcto en absoluto, no puedo afirmar todavía). Quiero buscar y recorrer cada MA de 50 períodos, y con 4 opciones - eksponencial, suavizada, etc. - muy-muy largo. Si trasladamos el periodo МА, TP y SL a una variable externa en la optimización, veremos inmediatamente que es mejor. Pero no puedo optimizar más allá de МА período = 7 por alguna razón. Así que estoy buscando algo de ayuda.
 
volshebnik:
La tarea: esperamos la ruptura de la MA, luego el primer fractal. La penetración del primer fractal es una señal para la transacción. Pero con diferentes períodos de MAs fractales pueden estar en diferentes lugares (por el tiempo) porque, dependiendo del período y el tipo de suavizado, algunos MAs "romper" antes, otros - más tarde y, en consecuencia, las señales para el comercio - diferente. Así que quiero probar todos los МА para averiguar el que da la mejor señal (más rentable) (si es correcto en absoluto, no puedo afirmar todavía). Quiero buscar y recorrer cada MA de 50 períodos, y con 4 opciones - eksponencial, suavizada, etc. - muy-muy largo. Si trasladamos el periodo МА, TP y SL a una variable externa en la optimización, veremos inmediatamente que es mejor. Pero no puedo optimizar más allá del periodo МА = 7 por alguna razón. Así que busco algo de ayuda.


Solución:

Voy a dar para comprar (vender - por analogía):

1. Fractura MA - obtener los valores MA en las barras 3, 2 y 1 - comparar. Si los valores de MA en las barras 3>2 y 2<1, es una ruptura.

2. entonces - fractal - penetración - una señal para hacer un trato

   
   double fractal_l;
   double fractal_h;
     
   fractal_h = iFractals(Symbol(),PERIOD, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD, MODE_LOWER, 3); 

   if (Ask > upfractal) {открытие ордеров при пробитии последнего (свежайшего) фрактала }


En cuanto a la enumeración de MA, colóquela en variables externas (optimizables):

Period_MA (se puede establecer de 2 a 240 en incrementos de 2), MODE - (método de cálculo de МА - rango de cambios 0 a 3 paso 1), PRICE_TYPE -(precio constante - rango de cambios 0 a 6 paso 1), escuché que cuando se trabaja dentro del día MA debe ser calculado usando valores promedio (el precio de cierre no es importante), cuando se trabaja en las velas diarias MA debe ser calculado por los precios de cierre del día.

PERIODO - lo cambias manualmente con cada optimización posterior - 1,5,15,30,60,240...

Pulsa F1 en el iMA - vuelve a leer con atención todo lo que hay allí.

Bueno, y por supuesto el TP y el stop loss optimizados como siempre.

 double MA_1 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 1);
 double MA_2 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 2);
 double MA_3 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 3);
P.D. No olvides escribir una información sobre los resultados de las pruebas... :-)))
 
Roman, ¡muchas gracias! Lo compararé con mi EA. Me aseguraré de informar sobre los resultados de las pruebas. Su trabajo no se desperdiciará. Su oferta anterior de martingala está en mi cola de investigación, si estoy cerca del grial )) también se lo haré saber.
 
volshebnik:
Roman, ¡muchas gracias! Lo compararé con mi EA. Me aseguraré de informar sobre los resultados de las pruebas. Su trabajo no se desperdiciará. Su oferta anterior de martingala está en mi cola de investigación, si estoy cerca del grial )) también se lo haré saber.

Sense, estamos esperando...
 
Me pregunto cómo funcionará la función OrderModify() si el parámetro "precio" se establece de forma diferente a como estaba. Por ejemplo, había OrderPrice=1.3200, y en la función OrderModify vamos a ponerlo en 1.3300. ¿Quién sabe? (yo mismo en la práctica y en el probador no tenía que comprobar, lo siento)
 
ikatsko:
Me pregunto cómo funcionará la función OrderModify() si el parámetro "precio" se establece de forma diferente a como estaba. Por ejemplo, había OrderPrice=1,3200, y en la función OrderModify vamos a ponerlo en 1,3300. ¿Quién sabe? (No lo he comprobado yo mismo en la práctica y en el Probador de Estrategias, lo siento)

cambiar el precio abierto de una orden pendiente si el tipo de orden lo permite
 
abolk:

Si el tipo de orden lo permite, cambiará el precio de apertura de la orden pendiente

¿Qué quiere decir "si el tipo de pedido lo permite"? Una orden abierta puede ser de tipo COMPRA o VENTA.

Supongamos que la orden cambia el precio, pero ¿en qué se gastaría la diferencia? ¿En el balance positivo o negativo? ¿Es así? ¿Y también habrá la propagación? ¿Significa esto que hemos cerrado la antigua orden (spread) y hemos abierto una nueva?

 
ikatsko:

¿Qué quiere decir "si el tipo de pedido lo permite"? Una orden abierta puede ser de tipo COMPRA o VENTA.

Supongamos que la orden cambia el precio, pero ¿en qué se gastaría la diferencia? ¿Al positivo o al negativo de la balanza? ¿Es así? ¿Y también habrá la propagación? Entonces, ¿se cierra la antigua orden (spread) y se abre la nueva?

La función sólo podrá modificar el precio al que está fijada la orden pendiente. Si intenta cambiar el precio de apertura de la orden de mercado, esta función devolverá un error, algo así como "Parámetro de función no válido". Puedes encontrar más detalles en la ayuda de esta función - me da pereza darte enlaces porque tengo demasiado sueño... :)
 
artmedia70:
Esta función sólo podrá modificar el precio de apertura de la orden pendiente. Si intenta cambiar el precio de apertura de la orden de mercado, esta función devolverá un error, algo así como "Parámetro de función no válido". Por favor, vea más detalles en esta ayuda de la función - soy demasiado perezoso para dar enlaces ya que estoy demasiado dormido... :)

Sí, ¡gracias por su atención! Me dio pereza buscar y escribí una pregunta. Lo siento. PERO sí que miré y me lo imaginé (sin experimentar). precio - nuevo precio para la orden pendiente o precio de apertura para la orden de mercado. ¡Buenas noches!

Razón de la queja: