Orden de apertura de lógica y mejores prácticas

 

Publi

Resultados 1 al 8 de 8

Tema: Orden de apertura de lógica y mejores prácticas

  1. #1
    Me gustaría obtener ayuda para ubicar la lógica correctamente para la apertura de pedidos ... ¿Cuál es la mejor práctica para abrir una orden si el precio llega a una línea? (adicionalmente, con Slippage)
    ==========================

    Factores para la apertura de pedidos:
    Código insertado int I;/Índice de barras int Counted_bars;/Número de barras contadas Counted_bars = IndiorCounted ();/Número de publicaciones contadas I = Bars-Counted_bars-1;/Índice de la inicial sin contar while (igt; = 0)/Loop para las publicaciones no contadas double MA_Line = iCustom (NULL, timeframe, MA StdDev, MA_Period, 1, 6, 0, 0, I); double S_Line1 = iCustom (NULL, timeframe, MA StdDev, MA_Period, 1, 6, 2, 0, 1, I); double S_Line2 = iCustom (NULL, timeframe, MA StdDev, MA_Period, 1, 6, 2, 0, 2, I); double S_Line3 = iCustom (NULL, timeframe, MA StdDev, MA_Period, 1, 6, 2, 0, 3, I); double S_Line4 = iCustom (NULL, timeframe, MA StdDev, MA_Period, 1, 6, 2, 0, 4, I); double U_StopLoss = iCustom (NULL, timeframe, MA StdDev, MA_Period, 1, 6, 2, 0, 5, I); double L_StopLoss = iCustom (NULL, timeframe, MA-StdDev, MA_Period, 1, 6, 2, 0, 5, I); double B_Line1 = iCustom (NULL, timeframe, MA-StdDev, MA_Period, 1, 6, 0, 1, I); double B_Line2 = iCustom (NULL, timeframe, MA-StdDev, MA_Period, 1, 6, 0, 2, I); double B_Line3 = iCustom (NULL, timeframe, MA-StdDev, MA_Period, 1, 6, 2, 0, 3, I); double B_Line4 = iCustom (NULL, timeframe, MA-StdDev, MA_Period, 1, 6, 2, 0, 4, I); double StochBuyLine = iStochastic (Symbol (), 0,14,3,3,1,1,0, I); double StochSellLine = iStochastic (Symbol (), 0,14,3,3,1,1,1, I); YO--;
    Lógica que necesita inspección y consejo:

    Código insertado if (Tradeable) else break; debe CurrentPrice lt; MA_Line si StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line4 OpenBuyOrder @ Line4LotSize Else si StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line3 OpenBuyOrder @ Line3LotSize Else si StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line2 OpenBuyOrder @ Line2LotSize Else si StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = B_Line1 OpenBuyOrder @ Line1LotSize Else si StochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line4 OpenBuyOrder @ Line4LotSize Else si StochSellLine StochSellLinegt; = 90 CurrentPrice = B_Line3 OpenBuyOrder @ Line3LotSize Else si StochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line2 OpenBuyOrder @ Line2LotSize Else si StochSellLinegt; StochBuyLine StochSellLinegt; = 90 CurrentPrice = B_Line1 OpenBuyOrder @ Line1LotSize # 91; ribbon = quot # 93; # 91;font # 93;

  2. #2
    Varios artículos: 1. Si ese bloque de código está fuera de tu EA. Deshazte del ciclo while. No es necesario O asigna I0 a la barra actual o = 1 al anterior pub. Debido a que a su EA no le importa lo que sucedió 3000 compases 19, no hay necesidad de retroceder en el tiempo. 2. Donde tienes el precio actual = B_Linea4 (y el resto) un solo signo = es un operador de asignación. Para verificar la igualdad, usted necesitará dos señales. 3. En ese mismo tema, es improbable que el precio sea exactamente el mismo que el valor de sus líneas. Si la línea alcanza 123.4554332 y el precio es 123.45, mt4 considerará que no son equivalentes. Utilice NormalizeDouble o compruebe si el precio cruzó la línea. 4. Verifique con una función de envío de pedidos. ordersend devolverá un número entero. 5. El deslizamiento depende de usted. Pero puedo asegurar que lo que funciona en la presentación no necesariamente funcionará en residir. Es por eso que verifica con una función de envío de pedidos. A veces, quieres dar una bofetada al servidor 2-3 veces antes de que tome la orden.

  3. #3
    Utilice NormalizeDouble o check para determinar si el precio ha cruzado la línea. ¿Puede mostrarme una instancia de verificación cruzada? ... aunque prefiero que la lógica intente y llegue a la línea ... así que supongo que NormalizeDouble debería ser la forma en que me muevo, entonces

  4. #4
    Si lo está buscando para cruzar subiendo ... Si (Abrir [0] lt; la alineación Cerrar [0] gt; = la línea) cruzó hacia abajo bajando si (Abrir [0] gt; la alineación Cerrar [0] lt; = la línea) cruzó

  5. #5
    Tengo ... ¿qué es normalmente la mejor práctica? ¿Golpear en la alineación o cruzar?

  6. #6

    Cita Iniciado por ;
    Entiendo ... ¿qué es generalmente la mejor práctica? ¿Golpear en la alineación o cruzar?
    Me gustaría cruzar. A veces el precio saltará dos pepitas o más y simplemente saltará el equivalente. Puede verificar el cruce y luego hacer que el precio esté dentro de 1-2 puntos de esta línea.

  7. #7
    Parece que mi respuesta al deslizamiento a través de las grietas

  8. #8
    Entonces, ¿puedo hacer algo similar a esto? Código insertado si line4tradeslt; 1 StochBuyLinegt; StochSellLine StochBuyLinelt; = 10 CurrentPrice = = B_Line4 ((Abra # 91; 0 # 93; lt; la línea Near # 91; 0 # 93; gt; = the line) || (Open # 91; 0 # 93; gt; la línea Near # 91; 0 # 93; lt; = the line line))

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.