Asesor multidivisa - multitiempo - página 4

 
Tango_X:

no puede ser... por ejemplo si la línea de pendiente está rota. - hay un avance = hay una señal

En primer lugar, usted necesita para deshacerse de todos los bucles, está escrito en la ayuda OnChartEvent

 
Fast528:

En primer lugar hay que deshacerse de todos los ciclos, está escrito en la ayuda OnChartEvent, ahora tienes un tick y luego en el ciclo se ejecuta una segunda vez

if(id>=CHARTEVENT_CUSTOM)
     {
      //--- Если было событие "тик"
      if(lparam==0x00200000)
        {
         datetime t[1];
         //--- Получаем номер символа в массиве
         int s=GetNumberSymbol(sparam);
         // --- перебираем все периоды по нашему символу   
         for(int p=0;p<NUMBER_OF_PERIODS; p++)
           {
            CopyTime(Symbols[s],Periods[p],0,1,t);
            //--- Получим значения индикатора
            if(CopyBuffer(signal_indicator_handles[s][p],0,0,1,Indicator[s][p].sell)<1 || CopyBuffer(signal_indicator_handles[s][p],1,0,1,Indicator[s][p].buy)<1)
              {
               Print("Не удалось скопировать значения ");
               return;
              }
            if(Indicator[s][p].buy[0]!=0 && Symbols[s]=="USDCHF.m" && Periods[p]==PERIOD_M1) Print(Symbols[s]," ",TimeframeToString(Periods[p])," ",Indicator[s][p].buy[0]," ",t[0]);
            if(Indicator[s][p].sell[0]!=0 && Symbols[s]=="USDCHF.m" && Periods[p]==PERIOD_M1) Print(Symbols[s]," ",TimeframeToString(Periods[p])," ",Indicator[s][p].sell[0]," ",t[0]);
           }
        }
     }

¿Te refieres a un bucle dedicado? Si es así, es correcto... en cada tick busco en todos los periodos una señal

 
Tango_X:

¿Te refieres a un bucle dedicado? Si es así, es correcto... en cada tick busco una señal en todos los periodos

Este OnChartEvent es un bosque oscuro, lo olvidé como un mal sueño, Anatoly Kazarsky (autor de 648) se peleó con él también), hay temas largos, multisímbolo + multitemporal en un movimiento gráfico fuerte, creo que se mantendrá, a diferencia de OnTick esta cosa salva la cola

 
Tango_X:

Lo hice así... hice un símbolo y un punto - ¡eso es todo!

Foro sobre comercio, sistemas de comercio automatizados y comprobador de estrategias

Asesor Experto Multidivisa - Multitime

Vladimir Karputov, 2018.09.12 13:45

Inicio simple: marco temporal actual y dado, símbolo actual y dado. Es decir, dos plazos y dos símbolos, un total de cuatro indicadores. Toma cualquier indicador.


Además he añadido: noOnChartEvent. En otras palabras, en un archivo del Asesor Experto, es lo más compacto posible. El mínimo de código.

 
Vladimir Karputov:

más añadido: no hayOnChartEvent. Es decir, lo más compacto posible en un solo archivo EA. Un mínimo de código.

Vladimir, no entiendo nada aquí, ¿puedes explicarlo?

 
Tango_X:

Vladimir, no entiendo nada aquí, ¿puedes explicarlo?

Aquí estamos: estamos trabajando en el EURUSD, H1. Segundo símbolo USDJPY, segundo timeframe H4.

Creamos cuatro manijas (ejemplo de Media Móvil): MA EURUSD H1, MA EURUSD H4, MA USDJPY H1 y MA USDJPY H4.

En OnTick() interrogamos a cuatro indicadores.

 
Vladimir Karputov:

Dado: trabajando en EURUSD, H1. Segundo símbolo USDJPY, segundo marco temporal H4.

Cree cuatro manijas (ejemplo para la Media Móvil): MA EURUSD H1, MA EURUSD H4, MA USDJPY H1 y MA USDJPY H4.

En OnTick() interrogamos a cuatro indicadores.

Este algoritmo analizará, por ejemplo, varios pares de divisas, pero sólo en los eventos de ticks del gráfico, sobre el que se aplicará el EA. Es decir, por ejemplo, lanzamos el EA sobre el EURUSD y esperamos el tick.... y al mismo tiempo, el USDJPY ya ha superado los 5 ticks - ¿cómo es esto? Esto es fundamentalmente erróneo.

 
Tango_X:

Con un algoritmo de este tipo analizaremos varios pares de divisas, pero sólo en el caso de un tick en el gráfico al que se adjuntará el EA. Es decir, por ejemplo, lanzamos nuestro EA sobre el EURUSD y esperamos el tick.... y al mismo tiempo el USDJPY ya ha pasado 5 ticks - ¿cómo? ***

Sí, así es. De hecho es una variante muy simple sin eventos, agentes y demás.


Primero hay que poner en marcha un plan de este tipo.

 
Vladimir Karputov:

Sí, eso es exactamente. En realidad, es una opción muy sencilla sin eventos, agentes y demás.


Primero hay que poner en marcha un plan de este tipo.

Pues es fácil. No necesito tal algoritmo y sé cómo implementarlo - Tengo una situación diferente... Por eso pido ayuda. Lo que me ofrece es primitivo, fácil e inútil en este caso).

 
Tango_X:

Bueno, es fácil, ¿no? Este algoritmo no me conviene y sé cómo aplicarlo... Tengo una situación diferente... Por eso pido ayuda. Lo que me ofrece es primitivo, fácil e inútil en este caso)

Ah, así es :)

Entonces me despido cortésmente.