Ya veo. Compruebo la ubicación del tenkan y el kinjun en la primera y segunda vela. Si hay una señal, introduzco una alerta. Pero me gustaría que fuera algo único. Por favor, ayúdame. Aquí está el código.
Ya veo. Compruebo la ubicación del tenkan y el kinjun en la primera y segunda vela. Si hay una señal, introduzco una alerta. Pero me gustaría que fuera algo único. Por favor, ayúdame. Aquí está el código.
No más de una alerta en una barra:
//+------------------------------------------------------------------+//| main_Ichimoku.mq5 |//| Copyright 2015, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2015, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Объявим переменные для хранения настроек индикаторов |//+------------------------------------------------------------------+int IKHtenkansen=8;
int IKHkijunsen=24;
int IKHsenkouspanb=48;
//+------------------------------------------------------------------+//| Объявим переменные для хранения хэндлов индикаторов |//+------------------------------------------------------------------+int h_ich=INVALID_HANDLE;
//+------------------------------------------------------------------+//| Объявим необходимые массивы для хранения данных индикаторов |//+------------------------------------------------------------------+double ich1_buffer[];
double ich2_buffer[];
//+------------------------------------------------------------------+//| Объявим переменные для хранения сигналов индикаторов |//+------------------------------------------------------------------+int SignalICH;
//+------------------------------------------------------------------+//| Объявим переменную-флаг разрешения/запрета алерта |//+------------------------------------------------------------------+bool bool_alert=false;//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
staticdatetime prevtime=0;
datetime time_zero[];
CopyTime(Symbol(),Period(),0,1,time_zero);
if(!bool_alert)
if(prevtime!=time_zero[0])
bool_alert=true;
prevtime=time_zero[0];
SignalICH=TradeSignal_20();
Comment("SignalICH: "+(string)SignalICH);
}
//+------------------------------------------------------------------+//| Функция |//+------------------------------------------------------------------+int TradeSignal_20()
{
int sig=0;
if(h_ich==INVALID_HANDLE)
{
h_ich=iIchimoku(Symbol(),Period(),IKHtenkansen,IKHkijunsen,IKHsenkouspanb);
return(0);
}
else
{
if(CopyBuffer(h_ich,0,0,3,ich1_buffer)<2) return(0); // TENKANSEN_LINEif(CopyBuffer(h_ich,1,0,3,ich2_buffer)<2) return(0); // KIJUNSEN_LINEif(!ArraySetAsSeries(ich1_buffer,true)) return(0);
if(!ArraySetAsSeries(ich2_buffer,true)) return(0);
}
//--- проводим проверку условия и устанавливаем значение для sigif(ich1_buffer[1]>ich2_buffer[1]) sig=1;
elseif(ich1_buffer[1]<ich2_buffer[1]) sig=-1;
else sig=0;8
if(ich1_buffer[1]>ich2_buffer[1])
if(ich1_buffer[2]<ich2_buffer[2])
if(bool_alert)
{
Alert(Symbol()+": покупка");
//--- опускаем флаг
bool_alert=false;
}if(ich1_buffer[1]<ich2_buffer[1])
if(ich1_buffer[2]>ich2_buffer[2])
if(bool_alert)
{
Alert(Symbol()+": продажа");
//--- опускаем флаг
bool_alert=false;
}//--- возвращаем торговый сигналreturn (sig);
}
//+------------------------------------------------------------------+
¿Cómo hacer que un EA omita 1 señal después de una operación perdedora? ( muy buena estrategia Z )
Explicar en palabras, el propio código es capaz de implementar.
En caso de pérdida, dé un valor determinado a la variable global del terminal y póngala a cero a la primera señal. La función de negociacióncontrola este valor y decide si se abre una nueva operación o no.
En otras palabras, la orden de trabajo es aproximadamente la siguiente:
a) Beneficio de la pista;
b) cuente las señales, marque la casilla de verificación en caso de pérdida, si no hay ninguna otra señal para operar todavía, restablezca la casilla de verificación cuando se produzca la primera señal después de la pérdida;
c) marque la casilla y decida si quiere operar o esperar.
Es más conveniente utilizar GPT, se guardan cuando el terminal se bloquea, las variables simples en el código se pueden restablecer por cualquier estornudo y el Asesor Experto funcionará con errores.
En caso de pérdida, asigna un valor determinado a la variable global del terminal y ponlo a cero a la primera señal. La función de negociación controla este valor y decide si se abre una nueva operación o no.
Es decir, el orden de trabajo es aproximadamente el siguiente:
a) Beneficio de la pista;
b) contar las señales, marcar la casilla en caso de pérdida, si aún no hemos tenido otra señal para operar, restablecer la casilla cuando llegue la primera señal después de una pérdida;
c) marque la casilla y decida si quiere operar o esperar.
GPT es más cómodo de usar, se guardan cuando el terminal se bloquea, las variables simples en el código se pueden restablecer por cualquier estornudo y el Asesor Experto funcionará con errores.
Todos entendidos excepto uno . ¿Cómo hacer un contador de señales?
¿No está claro lo que se quería decir?
Me refería a lo siguiente:Insertar el código correctamente en el foro
Ya veo. Compruebo la ubicación del tenkan y el kinjun en la primera y segunda vela. Si hay una señal, introduzco una alerta. Pero me gustaría que fuera algo único. Por favor, ayúdame. Aquí está el código.
Ya veo. Compruebo la ubicación del tenkan y el kinjun en la primera y segunda vela. Si hay una señal, introduzco una alerta. Pero me gustaría que fuera algo único. Por favor, ayúdame. Aquí está el código.
No más de una alerta en una barra:
No hay más de una alerta por barra:
¡Hola a todos!
¿Cómo hacer que un EA omita 1 señal después de una operación perdedora? ( muy buena estrategia Z )
Explicar en palabras, el propio código es capaz de implementar.
¡Hola a todos!
¿Cómo hacer que un EA omita 1 señal después de una operación perdedora? ( muy buena estrategia Z )
Explicar en palabras, el propio código es capaz de implementar.
En caso de pérdida, dé un valor determinado a la variable global del terminal y póngala a cero a la primera señal. La función de negociación controla este valor y decide si se abre una nueva operación o no.
En otras palabras, la orden de trabajo es aproximadamente la siguiente:
a) Beneficio de la pista;
b) cuente las señales, marque la casilla de verificación en caso de pérdida, si no hay ninguna otra señal para operar todavía, restablezca la casilla de verificación cuando se produzca la primera señal después de la pérdida;
c) marque la casilla y decida si quiere operar o esperar.
Es más conveniente utilizar GPT, se guardan cuando el terminal se bloquea, las variables simples en el código se pueden restablecer por cualquier estornudo y el Asesor Experto funcionará con errores.
En caso de pérdida, asigna un valor determinado a la variable global del terminal y ponlo a cero a la primera señal. La función de negociación controla este valor y decide si se abre una nueva operación o no.
Es decir, el orden de trabajo es aproximadamente el siguiente:
a) Beneficio de la pista;
b) contar las señales, marcar la casilla en caso de pérdida, si aún no hemos tenido otra señal para operar, restablecer la casilla cuando llegue la primera señal después de una pérdida;
c) marque la casilla y decida si quiere operar o esperar.
GPT es más cómodo de usar, se guardan cuando el terminal se bloquea, las variables simples en el código se pueden restablecer por cualquier estornudo y el Asesor Experto funcionará con errores.
Lo tengo todo menos uno. ¿Cómo hacer un contador de señales?
escupe
sl = NormalizeDouble(sl,MarketInfo(symbol,MODE_DIGITS));posible pérdida de datos debido a la conversión del tipo .mq4 1697 29
tipo Doble en SL.