Indicador estocástico. Una observación curiosa. - página 7

 
Yurixx:

Le ofrecí a Leonid una solución elemental al problema. Requiere una pequeña modificación del código, que cualquier persona no demasiado experimentada en MQL, puede hacer. Leonid es uno de ellos. Y lo hizo gratis. Y ni siquiera he visto el código del Asesor Experto. Y aún así puedo decir que tu pregunta está siendo resuelta.

Mi biblioteca de comercio virtual también puede ser conectada por "no demasiado inteligente en MQL". Incluyendo a Leonid.
Pero he invertido bastante tiempo en escribirlo, por lo que no es "gratuito" sino "económico".
Además, tu "soluciónelemental a la cuestión" resuelve el problema sólo en un caso particular (cuando no hay SL/TP/TS), mientras que la mía es universal.

Yurixx:

¿Puedes hacer más frío? ¿Por barato? :-) No lo dudo. Yo tampoco. De forma gratuita. ¿Competimos?

Adelante, no me asusta la competencia ;)
Si resuelves el problema de Leonid gratis, estaré encantado.
Y si no puedes, lo resolveré por dinero.

Nadie prohíbe ayudar gratuitamente. Yo mismo a veces hago eso.
La mayoría de las veces no tengo tiempo ni ganas de resolver los problemasde los demás.
 

Andrei, ¿has decidido pedirle a Leonid que compre tu biblioteca? Eso es genial. Ese es tu trabajo.

Pero has decidido echar mi oferta por falta de versatilidad. En primer lugar, eso es ridículo. No sugiere ninguna universalidad, sino una solución sencilla para una situación concreta. Aunque el problema que has planteado también se puede resolver perfectamente en su marco. Lo sabes muy bien. En segundo lugar, no es muy correcto. No hay que codearse ni siquiera cuando se lucha por los clientes. No te he provocado para hacerlo y no me he cruzado en tu camino.

 
Yurixx:

Andrei, ¿has decidido ofrecer a Leonid la compra de tu biblioteca? Eso es genial. Ese es tu trabajo.
Pero has decidido dar una patada a mi oferta por su falta de versatilidad.

Espera. ¿Qué fue la "patada"?
En la frase "¿Qué pasa con la activación de las posiciones SL/TP? Si se activa el bye de SL, F debería pasar a ser = 0, pero se queda == 1"?
Ni siquiera pensó en patear a nadie, y mucho menos en patearlos. Si he ofendido,pido disculpas.

Yurixx:

En primer lugar, eso es ridículo. No sugiere ninguna universalidad, sino una solución sencilla para una situación concreta.

El propio Leonid escribió: "Sin trailing stop-losses se puede rastrear la operación LARGA prohibida por su stop-loss y take-profit. Pero con trailing..... No tengo ni idea de cómo abordar la solución....".
Sabe cómo resolver el problema sin arrastre, lo que interesaba era la solución con arrastre.
Así que su sugerencia no era del todo apropiada (no contenía la solución al problema).

Ofrecí una herramienta para resolver este mismo problema. Específicamente para Leonid.

Yurixx:

Aunque el problema que has identificado también puede resolverse perfectamente en su marco. Lo sabes muy bien.

¿Cómo?
  • Recuerda el nivel de la SL virtual cuando se abre virtualmente,
  • añadir una modificación virtual con un cambio en el nivel recordado,
  • ¿añadir el seguimiento de la activación del SL/TP virtual?
No es una biblioteca completa, por supuesto, pero tampoco son 5 líneas de código, estarás de acuerdo.
¿O existe una solución más sencilla, que desconozco?

Además, entonces habrá la cuestión de los resultados incorrectos debido a:
- permutación incorrecta de los SL (¿o hay que añadir también el bloque de comprobación de la distancia? unas cuantas líneas más...),
- Falta el bloque de guardado de datos en caso de recarga (posición virtual "abierta", recarga del terminal pero ya se ha ido),
- activación incorrecta del SL después de una pausa en el trabajo (el precio podría "moverse" más allá del SL y volver durante la pausa. Cuando reiniciamos el Asesor Experto, no se activó el SL),
- algo más...

Yurixx:

En segundo lugar, esto no es muy correcto. No vale la pena codearse ni siquiera en una lucha por los clientes. No te he provocado y no me he cruzado en tu camino en ningún sitio.

De nuevo, pido disculpas si he "empujado", "pateado" u "ofendido".
Sí, y luchar por el cliente, no veo - no estamos discutiendo acerca de quién hace el trabajo mejor, por lo general estamos en diferentes categorías (en esta situación): Ofrezco servicios por una tarifa, y la ayuda gratuita. ¿Qué tipo de competencia puede haber? ;)
 
Shinigami:
¿Es realmente tan difícil escribir
sumlow+=AltoBuffer[k]-Cierre[k];
sumhigh+=BufferAltos[k]-BufferBajos[k];
en lugar del original
sumlow+=Cierre[k]-Buffer[k];
sumhigh+=BufferAltos[k]-BufferBajos[k];
y compilar?
Conseguiremos una copia en espejo. No obtenemos nada nuevo pues será lo mismo pero en una imagen de espejo.
Para obtener un nuevo estocástico necesitamos una nueva fórmula, y hasta que no esté ausente, no tiene sentido retorcerla de un lado a otro, no habrá resultado.


Shinigami, lo hice y lo conseguí:

Pero no es a eso a lo que me refería cuando hablaba de reflejar. En este momento el estocástico se calcula desde el mínimo del precio hasta el máximo, es decir, la escala del estocástico tiene una dimensión de 0 a 100.

Quiero que el estocástico se calcule de forma inversa. Desde el precio máximo hasta el mínimo. Es decir, quiero que la escala vaya de 0 a "-100".

¿Quizás alguien haya implementado dicha variante?

 
Se aplica el WPR).
 

Hola a todos. He aquí otra observación interesante. El Asesor Experto basado en la táctica que se muestra en la imagen del mensaje anterior parece ser capaz de trabajar de manera rentable. Sin embargo, he modificado su funcionamiento haciendo que las posiciones largas y cortas sean independientes entre sí, es decir, he obtenido dos versiones unidas en un solo Asesor Experto. De acuerdo con la idea descrita en https://www.mql5.com/ru/articles/1485

Una versión es sólo de COMPRA, la otra es sólo de VENTA.

GBPJPY, M30, C 1 Ene. 2007 a Seg.

Obsérvese la reducción en el modo unido.

 
leonid553:

Hola a todos. He aquí otra observación interesante. El Asesor Experto basado en la táctica que se muestra en la imagen del mensaje anterior parece ser capaz de trabajar de manera rentable. Sin embargo, he modificado su funcionamiento haciendo que las posiciones largas y cortas sean independientes entre sí, es decir, he obtenido dos versiones unidas en un solo Asesor Experto. De acuerdo con la idea descrita en https://www.mql5.com/ru/articles/mt4/_my/403

Una versión es sólo de COMPRA, la otra es sólo de VENTA.

GBPJPY, M30, C 1 Ene. 2007 a Seg.

Obsérvese la reducción en el modo unido.


¿Qué tal si miramos todas las garrapatas?
 

¿Por qué? El Asesor Experto trabaja en los PRECIOS DE APERTURA - está escrito en el algoritmo del código. Pero cuando se ejecuta por TODOS LOS BILLETES el resultado difiere en diez o dos pips, ¡no más! Acabo de hacerlo.

El beneficio fue de cerca de un céntimo, y la reducción fue un poco mayor: ¡30 pips!

 
leonid553:

¿Por qué? El Asesor Experto trabaja a PRECIOS ABIERTOS - está escrito en el código del algoritmo. Pero cuando se ejecuta por TODOS LOS BILLETES el resultado difiere en diez o dos pips, ¡no más! Acabo de hacerlo.

El beneficio fue de cerca de un céntimo, y la reducción fue un poco mayor: ¡30 pips!


Si el Asesor Experto realmente funciona con los precios de apertura, entonces no debería haber ninguna diferencia entre "todos los ticks" y "la apertura". Aquí hay algo que no funciona.
 

Tal vez la cuestión es que ON ALL TICKS están presentes:

"Errores de desajuste de horario" = 2 errores. No veo ninguna otra explicación. Además, al recalcular en modo unificado, se ha añadido un acuerdo.

Lamentablemente, estos Asesores Expertos Estocásticos no garantizan un beneficio suficiente fuera de la muestra, es decir, fuera del periodo de optimización. Después de la optimización en el historial=1 año (aproximadamente), los parámetros rentables "aguantan" en la mayoría de los casos no más de 1 semana. Son 3-10 operaciones. Entonces, es evidente que se ha tirado a la basura. Con pocas excepciones. Es cierto, uno de mis conocidos obtuvo muy buenos resultados con un stoploss grande (por veces mayor que el takeprofit). Pero no fui por ahí.

Tras varios experimentos y observaciones en línea, se empezó a determinar la tendencia. Debido a su estructura a los Asesores Expertos Estocásticos les "encanta" ir en contra de la tendencia. Incluso si logramos obtener un buen beneficio durante la optimización, es mucho más modesto en línea. Sin embargo, hemos conseguido establecer de forma fiable el CRITERIO principal para obtener beneficios fuera del periodo de optimización. Este criterio resultó ser la RENTABILIDAD.

Si la rentabilidad en la optimización supera el 2,0, podemos concluir con alta probabilidad que nos beneficiaremos fuera de la muestra. Y si conseguimos minimizar la reducción, ¡será bastante bueno! Pero, ¿cómo aumentar la rentabilidad?

En este caso parece razonable prohibir que el Asesor Experto trabaje en contra de la tendencia. Y a ver qué pasa. Esta idea ha resultado ser correcta. Hace un par de días conseguí encontrar una solución de software sencilla y sorprendente para la detección de la presencia/ausencia de una tendencia. ¡Después inserté esta solución en mi Asesor Experto y su rentabilidad nunca baja de dos! Y como resultado general hay buenas perspectivas de beneficio fuera del periodo de optimización. Curiosamente, el beneficio total de la historia no ha aumentado prácticamente. Tampoco ha disminuido la detracción. Pero la fiabilidad ha aumentado. Sólo en el probador hasta ahora, pero ....., no me apresuraré....

Aquí están los gráficos del filtro: Para las operaciones largas -

Y para las operaciones cortas -

Razón de la queja: