Ayuda a la codificación - página 781

 
Porfavor, ¿están dispuestos a ayudar?

Tengo este indicador que se supone que es la actualización de algunos valores en el cierre de la vela, pero no responde lo suficientemente pronto, por lo general 20 -40 segundos después del cierre de la vela Muchas veces tengo que recargar el gráfico

¿Pueden ayudarme a arreglar esto?
Archivos adjuntos:
 
Savior: Se supone que se actualizan algunos valores al cierre de la vela,

No existe tal cosa. Una vela se considera cerrada, cuando un nuevo tick llega pasado el último segundo de la vela actual iniciando una nueva vela.

Puede haber minutos entre ticks durante la sesión asiática, piense en un gráfico M1. Gráficos más grandes, piense en el fin de semana, las vacaciones del mercado (país y corredor específico.) requiere el conocimiento de cuando su corredor se detiene y comienza (no es necesario el mismo que el mercado.)
Gráficos "libres de agujeros" - Artículos MQL420 Junio 2006
¿No hay velas si open = close? -Foro de programación MQL42010.06.06

El código se ejecuta una vez por segundo en un temporizador y se actualiza cuando un símbolo comienza una nueva barra. No hay ningún problema.

 

Hola a todos -

Configurar algunos EA decente usando EA Builder sin embargo estoy luchando para establecer uno usando Fractales.

Dado fractales aparecen como punto medio en la serie de 5 velas, Supongo que puedo estar recibiendo el 'cambio' & índice incorrecto.

Tratando de crear un simple largo (una vez que entiendo el cambio / índice que sería capaz de aumentar los parámetros)

Open, Fractal, Time Frame (Current), Indicador (Upper) Shift (3) 'is above' Candlestick, Index (3), Value (Low)

La idea es que el fractal está por debajo de una vela baja, listo para iniciar la tendencia alcista... teniendo en cuenta que la mayoría de las dos velas actuales tendrían máximos más altos, yo usaría esto como límite de compra en el retroceso no por debajo de Fractal

Gracias por la ayuda, David.

 
  1. David-Toronto: Aprecio mucho la ayuda! gracias, david
    ¿Ayudarte con qué? No has dicho un problema, ni siquiera has dicho un deseo.

  2. David-Toronto : Configurar algunos EAs decentes usando EA Builder
    EA Builder, EATree, Etasoft forex generator, Forex Strategy Builder, FOREXEADVISOR STRATEGY BUILDER, FX EABuilder, fxDreema, FxPro, Molanis, Online Forex Expert Advisor Generator, Strategy Builder FX, Strategy Quant, Visual Trader Studio, MQL5 Wizard, etc., son todos iguales. Usted obtendrá algo rápido, pero luego pasará mucho más tiempo tratando de hacerlo bien, que si usted aprendió el lenguaje por adelantado, y luego sólo lo escribió.
    1. Como no has aprendido MQL4/5, no hay un lenguaje común para comunicarnos.
      Si te decimos lo que necesitas, no puedes codificarlo.
      Si te damos el código, no sabes cómo integrarlo en el tuyo.
      Estamos dispuestos a AYUDARTE cuando publiques tu intento (usando SRC) y la naturaleza de tu problema, pero no vamos a depurar tus cientos de líneas de código. Usted va a estar esencialmente por su cuenta.

    2. EA builder hace mal código contando mientras se cierran múltiples órdenes.
      EA builder hace mal código Bares es poco fiable (Max bares en el gráfico), el volumen es poco fiable (miss ticks.) Siempre use el tiempo.
      El constructor de EA hace mal el código, no ajustando para corredores de 4/5 dígitos, TP/SL y deslizamiento.
      El constructor de EA hace mal el código, no se ajusta para los corredores ECN. pre-Build 500)
      El constructor de EA hace mal el código, no
      comprueba los códigos de retorno.

    3. EATree utiliza objetos en el gráfico para guardar los valores - no un almacenamiento persistente(archivos o GV+Flush.) No hay recuperación (caída/corte de energía.)

    4. FX EA Builder hace mal el código, no comprobando los códigos de retorno.
      FX EA Builder hace mal el código, perdiendo las entradas abiertas en el reinicio de la terminal. No hay recuperación (caída/corte de energía.)
      El FX EA Builder hace un código incorrecto, no ajustando los stops para el spread.
      El FX EA Builder tiene un código incorrecto, ya que utiliza OrdersTotal directamente.

    5. FOREXEADVISOR STRATEGY BUILDER hace mal el código, no actualizando las variables globales.
      FOREXEADVISOR STRATEGY BUILDER hace mal código, errores de compilación.
      FOREXEADVISOR STRATEGY BUILDER hace mal el código, no comprueba los códigos de retorno.

    Aprendeacodificar, o paga a alguien (Freelance) para quelo codifique.
    Contratación para escribir el script - General - MQL5 foro de programación

 
William Roeder:
  1. ¿Ayudarte con qué? No has expuesto un problema, ni siquiera has expuesto un deseo.

  2. EA Builder, EATree, Etasoft forex generator, Forex Strategy Builder, FOREXEADVISOR STRATEGY BUILDER, FX EABuilder, fxDreema, FxPro, Molanis, Online Forex Expert Advisor Generator, Strategy Builder FX, Strategy Quant, Visual Trader Studio, MQL5 Wizard, etc., son todos iguales. Usted obtendrá algo rápido, pero luego pasará mucho más tiempo tratando de hacerlo bien, que si usted aprendió el lenguaje por adelantado, y luego sólo lo escribió.
    1. Ya que no has aprendido MQL4/5, por lo tanto no hay un lenguaje común para que nos comuniquemos.
      Si te decimos lo que necesitas, no puedes codificarlo.
      Si le damos el código, no sabe cómo integrarlo en el suyo.
      Estamos dispuestos a AYUDARTE cuando publiques tu intento (usando SRC) y la naturaleza de tu problema, pero no vamos a depurar tus cientos de líneas de código. Usted va a estar esencialmente por su cuenta.

    2. EA builder hace mal código contando mientras se cierran múltiples órdenes.
      EA builder hace mal código Bares es poco fiable (Max bares en el gráfico), el volumen es poco fiable (miss ticks.) Siempre use el tiempo.
      El constructor de EA hace mal el código, no ajustando para corredores de 4/5 dígitos, TP/SL y deslizamiento.
      El constructor de EA hace mal el código, no se ajusta a los corredores ECN. pre-Build 500)
      El constructor de EA hace mal el código, no
      comprueba los códigos de retorno.

    3. EATree utiliza objetos en el gráfico para guardar los valores - no el almacenamiento persistente(archivos o GV + Flush.) No hay recuperación (accidente / fallo de alimentación.)

    4. FX EA Builder hace mal el código, no comprobando los códigos de retorno.
      FX EA Builder hace mal el código, perdiendo las entradas abiertas en el reinicio de la terminal. No hay recuperación (caída/corte de energía.)
      El FX EA Builder hace un código incorrecto, no ajustando los stops para el spread.
      El FX EA Builder tiene un código incorrecto, ya que utiliza OrdersTotal directamente.

    5. FOREXEADVISOR STRATEGY BUILDER hace mal el código, no actualizando las variables globales.
      FOREXEADVISOR STRATEGY BUILDER hace mal código, errores de compilación.
      FOREXEADVISOR STRATEGY BUILDER hace código malo, no comprueba los códigos de retorno.

    Aprendaacodificar, o pague a alguien (Freelance) para quelo codifique.
    Contratación para escribir un script - General - Foro de programación MQL5

Gracias William, pero no está listo para el código todavía y no necesitan ladrillo a la cabeza.

A alguien que comenzó o utiliza EA Builder, por favor, sólo responder si usted puede ayudar. gracias


La pregunta es cómo abrir una operación larga (usando EA Builder) para el fractal que ocurre por encima de la vela.

Mi intento es dar órdenes de compra que se producen después de cualquier ocurrencia fractal (por encima o por debajo de la vela).

utilizando: Fractal, Marco de tiempo (actual), Indicador (superior) Desplazamiento (3) 'está por encima de' Vela, Índice (3), Valor (Bajo)

 

Buenas tardes

Soy bastante nuevo en esto de la codificación y me gustaría que me ayudaran con un indicador que estoy intentando codificar. Básicamente estoy haciendo mi propio MA una banda de los valores de apertura y cierre de las barras en función de cuál es el lugar, es decir, si la apertura es mayor que el cierre, se guarda en la matriz superior, de lo contrario se guarda en la matriz inferior. He hecho un poco de solución de problemas en un EA que escribí, pero no puedo obtener el mismo resultado en el indicador, por desgracia.

Archivos adjuntos:
MA_Band.mq4  5 kb
 
  1. PLZFrosty: pero no puedo obtener el mismo resultado en el indicador,

    "No funciona" no tiene sentido, como decir que el coche no funciona. No arranca, no pone la marcha, no tiene electricidad, le falta la llave, tiene las ruedas pinchadas... no tiene sentido. ¿Realmente esperas una respuesta? Aquí no hay lectores de mentes y nuestras bolas de cristal están rotas. Usted no ha declarado un problema.

  2.       SetIndexBuffer(0, MA_top);
          ⋮
          SetIndexBuffer(1, MA_bot);
    
    ¿Cuántos buffers has declarado que tiene tu indicador? Si hubiera comprobado sus códigos de retorno, sabría por qué.
    Propiedades del programa (#property) - Preprocesador - Conceptos básicos del lenguaje - Referencia MQL4
 
William Roeder:
  1. "No funciona" no tiene sentido, como decir que el coche no funciona. No arranca, no pone la marcha, no tiene electricidad, le falta la llave, tiene las ruedas pinchadas... no tiene sentido. ¿Realmente esperas una respuesta? Aquí no hay lectores de mentes y nuestras bolas de cristal están agrietadas. No has declarado ningún problema.

  2. ¿Cuántos topes has declarado que tiene tu indicador? Si usted ha comprobado sus códigos de retorno, usted habría sabido por qué.
    Propiedades del programa (#property) - Preprocesador - Fundamentos del lenguaje - MQL4 Referencia

Sé lo que se supone que debe hacer, pero no sé cómo averiguar por qué no está funcionando. He utilizado la función Comment para averiguar dónde deja de funcionar y he comprobado que se detiene en el punto en el que se supone que debe poner los valores en las mencionadas matrices. Estoy pidiendo orientación sobre la solución de problemas, no que alguien lo arregle por mí. Decirme qué me he perdido o qué he hecho mal y dónde leer para la solución me ayudará mucho. Gracias por el enlace. Al menos es uno de mis problemas resueltos. ¿Existe una forma más eficiente que usar Comment() para solucionar los problemas en los que el código ha fallado?

Documentation on MQL5: Common Functions / Comment
Documentation on MQL5: Common Functions / Comment
  • www.mql5.com
[in]   Any values, separated by commas. To delimit output information into several lines, a line break symbol "\n" or "\r\n" is used. Number of parameters cannot exceed 64. Total length of the input comment (including invisible symbols) cannot exceed 2045 characters (excess symbols will be cut out during output). Data of double type are output...
 
PLZFrosty:

Sé lo que se supone que debe hacer, pero no sé cómo averiguar por qué no funciona. He utilizado la función Comment para averiguar dónde deja de funcionar y he descubierto que se detiene en el punto en el que se supone que debe poner los valores en las matrices mencionadas. Estoy pidiendo orientación sobre la solución de problemas, no que alguien lo arregle por mí. Decirme qué me he perdido o qué he hecho mal y dónde leer para la solución me ayudará mucho. Gracias por el enlace. Al menos es uno de mis problemas resueltos. ¿Existe una forma más eficiente que usar Comment() para solucionar los problemas en los que el código ha fallado?

De alguna manera he conseguido que funcione, pero no tengo ni idea de por qué funciona y no al revés. Vi un pequeño error en mi razonamiento y reescribí la función. Sigue sin mostrarme los valores de mi array cuando uso Comment(DoubleToString(array[1], 3);, pero al menos dibuja la línea MA. ¿Hay alguna forma de ver los valores de mi matriz que no sea usando Comment()?
 
input int SmallEMA = 50;
input int BigEMA = 100;
void OnTick()
  {
   string signal = "";
   double SmallMovingAvarage1 = iMA(Symbol(),PERIOD_CURRENT,SmallEMA,0,MODE_EMA,PRICE_CLOSE,0);
   double BigMovingAvarage1   = iMA(Symbol(),PERIOD_CURRENT,BigEMA,0,MODE_EMA,PRICE_CLOSE,0);
   
   if (BigMovingAvarage1 > SmallMovingAvarage1)
   
   {
   
      signal = "sell";
   }
   
   if (BigMovingAvarage1 < SmallMovingAvarage1)
    
   {
      signal = "buy";
   }
   
   
 
   if (signal == "sell" &&   OrdersTotal() == 0 )
   
   OrderSend(Symbol(),OP_SELL,0.02,Bid,10,0,0,NULL,0,0);
   
    
   
   if ( signal == "buy" && OrdersTotal() == 1)
   
   CloseSellPositions();
  
   
   
   if (signal == "buy" &&  OrdersTotal() == 0  )
   
    OrderSend(Symbol(),OP_BUY,0.02,Ask,10,0,0,NULL,0,0);
   
   //if (signal == "sell" && 0 <= OrdersTotal() <= 1)
   
   if (signal == "sell" && OrdersTotal() == 0)
   
   CloseBuyPositions();
    
   
   Comment ("The current signal is: ",signal);
   
   
  }


void CloseBuyPositions()
   {
   
   for(int i = OrdersTotal() -1 ; i >= 1; i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      string CurrencyPair = OrderSymbol();
      
      if(Symbol() == CurrencyPair)
      
      if (OrderType () == OP_BUY)
      {
         
         OrderClose(OrderTicket(),0.02,Bid,10);
      }
   }
   
   
   }
void CloseSellPositions()
   {
   
   for(int i = OrdersTotal()- 1; i >= 1; i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      
      string CurrencyPair = OrderSymbol();
      
      if(Symbol() == CurrencyPair)
      
      if (OrderType () == OP_SELL)
      {
         OrderClose(OrderTicket(),0.02,Ask,10);
      }
    }
   } 

Hola,


EMA (1) = 50

EMA (2) = 100


si (50 <100)

Cierre la posición de compra abierta si la hay y abra una posición de venta


si (50> 100)


Cerrar la posición de venta abierta, si la hay, y abrir posiciones de compra.


Quiero desarrollar un asesor especialista que cumpla estas condiciones, he compartido el código que escribí. Pero no funciona como quiero.


¿Pueden ayudarme a completar las partes que faltan en mi código?