Respuesta

StrategyQuant Estrategias no rentables cuando se codifican en C

8 respuestas

Charles

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 5 años #237334

He estado recodificando estrategias generadas por strategyquant en Zorro Trader que utiliza lite C y los resultados son la noche y el día.

SQ X muestra enormes beneficios, mientras que Zorro está mostrando una pérdida. La cantidad de operaciones no son ni siquiera cerca y ambos sistemas están utilizando los mismos datos que he exportado las velas directamente desde mi corredor a través de Zorro.

La estrategia se encontró usando EURUSD 15 min bares y cuando codifiqué en Zorro para 15 min bares, hay 29.568 oficios vs SQs 3902. Incluso si cambio Zorro para utilizar 1H bares, todavía tiene 2x como muchos oficios ... resultando en 7154 oficios. Tanto zorro 15 min y 60 min producen rendimientos anuales (pérdidas) de -14% y -15%, respectivamente, mientras que SQ X está diciendo que cada año fue una victoria y por enormes factores de ganancia.

Puedo entender ligeras diferencias utilizando los mismos datos, pero estas diferencias son enormes. SQ dice que es un sistema ganador año tras año, mientras que Zorro dice que está perdiendo -14% al año.

Por favor, aconséjeme.

 

 

Adjuntos:
Debes acceda a para ver los archivos adjuntos.

0

Charles

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 5 años #237338


//--------------------------------------------------------------------
// Código fuente de la estrategia 0.850460
//
// Generado por StrategyQuant X Build 115 para MetaTrader
// a 12/12/2018 01:03
//--------------------------------------------------------------------

//--------------------------------------------------------------------
// Parámetros de la estrategia
//--------------------------------------------------------------------
int NúmeroMágico = 11111;

Gráfico principal = Símbolo actual / TF actual

//--------------------------------------------------------------------
// Regla de negociación: Señales de trading (En apertura de barra)
//--------------------------------------------------------------------
LongEntrySignal = (CCI(Gráfico principal,30)[2] es superior a 25.0);

ShortEntrySignal = (CCI(Main chart,30)[2] is lower than -25)
;

LongExitSignal = ((DeMarker(Gráfico principal,40) cambia de dirección al alza)
   y (Williams % R(Gráfico principal,22) > -10.0));

ShortExitSignal = ((DeMarker(Gráfico principal,40) cambia la dirección a la baja)
   y (Williams % R(Gráfico principal,22) < -90));

//--------------------------------------------------------------------
// Regla de trading: Entrada larga (En apertura de barra)
//--------------------------------------------------------------------
si LongEntrySignal
{
    // Acción #1
    Abrir orden Larga a Mercado;
        Stop Loss = 2.3 * ATR(20);
        Profit objetivo = 2.9 * ATR(20);

        Salir después de 18 barras;

}

//--------------------------------------------------------------------
// Regla de operación: Entrada en corto (En la apertura de la barra)
//--------------------------------------------------------------------
if (SeñalEntradaCorta
   and Not LongEntrySignal)
{
    // Acción #1
    Abrir orden Corta a Mercado;
        Stop Loss = 2.3 * ATR(20);
        Profit objetivo = 2.9 * ATR(20);

        Salir después de 18 barras;

}

//--------------------------------------------------------------------
// Regla de trading: Salida Larga (En Barra Abierta)
//--------------------------------------------------------------------
if ((SeñalSalidaLarga
   and Not LongEntrySignal)
   and (MarketPosition("Any", MagicNumber, "") is Long))
{
    // Acción #1
    Cerrar posición Completa para Symbol = Any y Magic Number = MagicNumber;

}

//--------------------------------------------------------------------
// Regla de negociación: Salida en corto (En apertura de barra)
//--------------------------------------------------------------------
if ((SeñalSalidaCorta
   and Not ShortEntrySignal)
   and (MarketPosition("Any", MagicNumber, "") is Short))
{
    // Acción #1
    Cerrar posición completa para Symbol = Any y Magic Number = MagicNumber;

}

0

mabi

Cliente, bbp_participant, comunidad, 261 respuestas.

Visitar el perfil

hace 5 años #237340

Sí, me gustaría que esto fuera tan fácil, pero no lo es. He intentado esto usando SQ3 y Ninjatrader no funcionó, ya sea debido a muchas razones. Así que quédate con MT4 hasta que añadieron soporte para Zorry o simplemente perderá su tiempo.

0

Charles

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 5 años #237341

He recodificado muchas estrategias en los últimos días y todas fallan.

Zorro es bastante sencillo en la codificación como la mayoría de las tuercas y tornillos se hacen para usted. Así que no creo que sea un problema con zorro, me inclino hacia que StrategyQuant no está generando señales falsas o es inexacta.

Me gustaría recibir comentarios de los desarrolladores y trabajar para resolverlo.

0

Charles

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 5 años #237342

Acabo de pasar la última hora re-codificación de una estrategia diferente que tiene reglas muy simples y falla también.


//--------------------------------------------------------------------
// Pseudo Código Fuente de la Estrategia 0.899785
//
// Generado por StrategyQuant X Build 115 para MetaTrader
// a 14/12/2018 01:23
//--------------------------------------------------------------------

//--------------------------------------------------------------------
// Parámetros de la estrategia
//--------------------------------------------------------------------
int NúmeroMágico = 11111;

Gráfico principal = Símbolo actual / TF actual

//--------------------------------------------------------------------
// Regla de negociación: Señales de trading (En apertura de barra)
//--------------------------------------------------------------------
LongEntrySignal = (ADX DI Minus(Gráfico principal)[1] está subiendo);

ShortEntrySignal = (ADX DI Minus(Gráfico principal)[1] está bajando);

LongExitSignal = false;

ShortExitSignal = false;

//--------------------------------------------------------------------
// Regla de operación: Entrada Larga (En Apertura de Barra)
//--------------------------------------------------------------------
si LongEntrySignal
{
    // Acción #1
    Abrir orden Larga a (Close(Gráfico principal)[3] + (2 * ATR(Gráfico principal,40)[1]) Stop;
        Orden válida para 1 barra;
        Stop Loss = 75.0 pips;
        Profit objetivo = 195.0 pips;

        Mover SL a BE = 135.0 pips;

        Salir después de 7 barras;

}

//--------------------------------------------------------------------
// Regla de operación: Entrada en corto (En la apertura de la barra)
//--------------------------------------------------------------------
if (SeñalEntradaCorta
   and Not LongEntrySignal)
{
    // Acción #1
    Abrir orden corta a (Close(Gráfico principal)[3] - (2 * ATR(Gráfico principal,40)[1]) Stop;
        Orden válida para 1 barra;
        Stop Loss = 75 pips;
        Objetivo Profit = 195 pips;

        Mover SL a BE = 135 pips;

        Salir después de 7 barras;

}

//--------------------------------------------------------------------
// Regla de trading: Salida Larga (En Barra Abierta)
//--------------------------------------------------------------------
if ((SeñalSalidaLarga
   and Not LongEntrySignal)
   and (MarketPosition("Any", MagicNumber, "") is Long))
{
    // Acción #1
    Cerrar posición Completa para Symbol = Any y Magic Number = MagicNumber;

}

//--------------------------------------------------------------------
// Regla de trading: Salida en corto (En apertura de barra)
//--------------------------------------------------------------------
if ((SeñalSalidaCorta
   and Not ShortEntrySignal)
   and (MarketPosition("Any", MagicNumber, "") is Short))
{
    // Acción #1
    Cerrar posición completa para Symbol = Any y Magic Number = MagicNumber;

}

0

Charles

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 5 años #237343

Aquí está el código zorro para quien quiera probarlo por sí mismo, el código SQ está arriba. La estrategia SQ dice Sharpe de 4,12, Profit factor de 3,82. No hay años perdedores. Sin embargo, cuando la ejecuto en Zorro tiene una rentabilidad anual de -18% PF 0.02, y un Sharpe de -0.69.

 


//--------------------------------------------------------------------
// Zorro Código Fuente de la Estrategia 0.899785
//
//--------------------------------------------------------------------

función ejecutar()
{
FechaInicio = 2010;
EndDate = 2015; // periodo de simulación fijo 2010-2015

BarPeriod = 15; //
LookBack = 200;
MaxLargo = MaxCorto = 1;

//--------------------------------------------------------------------
// Regla de negociación: Señales de trading (En apertura de barra)
//--------------------------------------------------------------------

/*
ADX(int PeriodoTiempo): var
Índice de movimiento direccional medio. Media móvil del indicador DX (ver más abajo). Utiliza la serie de precios del activo actual. No soporta TimeFrame. Los valores devueltos van de 0 a 100.
*/

vars close = serie( priceClose() );
vars mDI = series( MinusDI( 14 ) );
var *atr = series( ATR( 40 ) );

bool LongEntrySignal ;
bool ShortEntrySignal
bool SeñalSalidaLarga = false;
bool ShortExitSignal = false;

LongEntrySignal = mDI[1] > mDI[2];
ShortEntrySignal = mDI[1] < mDI[2];

//--------------------------------------------------------------------
// Regla de negociación: Entrada Larga (En Apertura de Barra)
//--------------------------------------------------------------------
if ( SeñalEntradaLarga )
{
LifeTime = 7;
EntryTime = 1;
Stop = 75 * PIP;
TakeProfit = 195 * PIP;
Trail = 135 * PIP;
TrailLock = 1 * PIP;
Entrada = close[3] + ( 2 * atr[1] );
enterLong();

}

//--------------------------------------------------------------------
// Regla de operación: Entrada en corto (En la apertura de la barra)
//--------------------------------------------------------------------
if ((SeñalEntradaCorta
and !LongEntrySignal))
{
// Acción #1
LifeTime = 7;
EntryTime = 1;
Stop = 75 * PIP;
TomaProfit = 195 * PIP;
Trail = 135 * PIP;
TrailLock = 1 * PIP;
Entrada = close[3] - ( 2 * atr[1] );
enterShort();

}

plot("mDI", mDI, NEW, RED );

}

0

tnickel

Customer, bbp_participant, community, sq-ultimate, 489 replies.

Visitar el perfil

hace 5 años #237349

adjunte el archivo *.sqx

Así que podemos hacer un backtest mt4 y comparar los oficios.

Si el strategyquant 4.x tiene un problema que el backtest metatrader es diferente.

 

thomas

https://monitortool.jimdofree.com/

0

Charles

Cliente, bbp_participant, comunidad, 0 respuestas.

Visitar el perfil

hace 5 años #237351

Hola Tomas, Adjunto la última estrategia publicada anteriormente.

Adjuntos:
Debes acceda a para ver los archivos adjuntos.

0

mabi

Cliente, bbp_participant, comunidad, 261 respuestas.

Visitar el perfil

hace 5 años #237390

Esta estrategia falla totalmente cuando la pruebo en SQX. Compruebe la calidad de los datos o la configuración.

Adjuntos:
Debes acceda a para ver los archivos adjuntos.

0

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