Respuesta

Diferencia entre código MQL y EL

3 respuestas

eastpeace

Cliente, bbp_participante, comunidad, sq-último, 305 respuestas.

Visitar el perfil

hace 7 años #115293

Versión:SQ 3.8.1 (¡Qué periodo tan duro! SQ3 sin actualización fija, y el lanzamiento de SQ4 sin calendario).

 

Volviendo a este tema, me parece que hay poca diferencia entre mql y el código traducido. ¿Cuál es exacta?

 

Pseudocódigo de SQ

====================================================================
== Condiciones de entrada
====================================================================
LongEntryCondition = ((WMA(145) cruza por debajo de SMA(3)) y (Low(10) > Lowest(53))
ShortEntryCondition = ((WMA(145) Crosses Above SMA(3)) And (High(10) < Highest(53)))

Código EL

 if(MaxTradesPerDay = 0 or EntriesToday(Date)  Average(Close,3)[1]) and (WAverage(Close,145)[0]  Lowest(Low, 53+0)));
        if(LongEntryCondition = true) then begin

Código de MT4

 // NORMAS DE INSCRIPCIÓN

      // LARGO: ((WMA(145) cruza por debajo de SMA(3)) y (Mínimo(10) > Mínimo(53)))
      if(TradeLong) {
         bool LongEntryCondition = (((iMA(NULL, 0, 145, 0, MODE_LWMA, PRICE_CLOSE, 2) > iMA(NULL, 0, 3, 0, MODE_SMA, PRICE_CLOSE, 2)) && (iMA(NULL, 0, 145, 0, MODE_LWMA, PRICE_CLOSE, 1)  getLowest(53, 1));
         if(LongEntryCondition == true) {
            openPosition(1);
         }
      }

Bajo[10] en EL significa:

 

 

 

 

Entonces, el pseudo código, el código, el código mt4: low(10), low[9], low[10]. ¿Son iguales?

0

eastpeace

Cliente, bbp_participante, comunidad, sq-último, 305 respuestas.

Visitar el perfil

hace 7 años #138035

Y la curva de beneficios o línea de equidad en SQ backtest y MC, son muy diferentes. 

 

He subido el archivo str. Por favor, compruébelo. Gracias.

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 7 años #138037

Las diferencias en EasyLanguage son correctas, porque en EL la condición se comprueba al final de la barra, mientras que en MT4 se comprueba al principio de la barra.

 

En cuanto a las diferencias entre SQ y MC, ¿utilizan los mismos datos?

Mark
Arquitecto de StrategyQuant

0

eastpeace

Cliente, bbp_participante, comunidad, sq-último, 305 respuestas.

Visitar el perfil

hace 7 años #138048

NO, los datos son similares, pero de diferente fuente. Tal vez es problema de mi software de backtest.

 

Pero aún tengo otra pregunta.

 

La condición de salida corta es la siguiente

-- Salida en corto
si PosiciónMercado es Corto {
   if (Bars Since Entry >= 42) {
      Cerrar posición a mercado;
   }
   
   if (Lowest(11) Crosses Below WMA(86)) {
      Cierre la posición en el mercado;
   }
}

el código:

 // Regla de salida
    ShortExitCondition = ((Lowest(Low, 11+1) > WAverage(Close,86)[1]) and (Lowest(Low, 11+0) <= WAverage(Close,86)[0]);

Creo que el código correcto es :

 // Regla de salida

 

    LowestValue = Lowest(Low, 11);

   
    ShortExitCondition = (( LowestValue[1] > WAverage(Close,86)[1]) and ( LowestValue <= WAverage(Close,86)[0]);

0

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)