Respuesta

¿Soportará B127 el método Trailing Stop personalizado en CodeEditor?

1 respuesta

eastpeace

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

Visitar el perfil

hace 4 años #257678

No sé si B127 apoyará método de salida personalizada en el editor de codificación. Quiero implementar algunos métodos personalizados para la salida, pero no estoy seguro de si el SQ puede convertir a MC / TS lenguaje bien.

B127 se ha pospuesto durante demasiado tiempo, y hasta ahora no hemos visto ninguna versión de desarrollo o beta.

Pero realmente no estoy satisfecho con algún método de salida dentro de SQ.

Amigos que usan TS o MC, ¿te parece?

por ejemplo, este es un trailing stop con activación, utilizando ATR.

Comparado con el trailing stop usando pip/tamaño fijo, la implementación usando ATR no es muy precisa.

...
LongSLPlaced = false;

	Si BarsSinceEntry = 0 entonces begin
		IntLongSL = 0;
		IntLongTS = 0;
	fin;

	// StopLoss
	IntLongSL = EntryPrice - EnterRvrAtMrkStpLss * tickSize;
	IntLongSL = SQ_CorrectMinMaxSLPT(IntLongSL, MinimumSL, MaximumSL, true);

	Sell("LongSL") próxima barra en el stop IntLongSL;
	LongSLPlaced = true;

	// ProfitTarget init
	IntPT = 0;
	
         
	// Trailing Stop
	IntPriceLevel = EnterRvrAtMrkTrlStpCef * SQ_ATR(20)[1];
	If IntPriceLevel > 0 and Close - EntryPrice >= Round2Fraction(EnterRvrAtMrkTrlActCef * SQ_ATR(20)[1]) and (IntLongTS = 0 or Round2Fraction(Close - IntPriceLevel) > IntLongTS) then begin
		IntLongTS = Round2Fraction(Close - IntPriceLevel); // recuerde también el trailing stop
	fin;
	Si IntLongTS > 0 e IntLongTS > IntLongSL entonces begin
		Sell("LongTrailingStop") próxima barra en IntLongTS stop;
		LongSLPlaced = true;
	fin;

...

No sé cómo funciona SQ internamente, y cómo funciona con el motor de backtest de TS o MC.

Esta es mi sugerencia según este fragmento de código EL.

1,IntLongsl.

Si usamos el ATR para el stop loss inicial. Vamos a utilizar el valor fijo, el ATR antes de la entrada.


preatr = SQ_ATR(20);

//------------------------------------------------------------------
//entrada
//------------------------------------------------------------------
//.....entrada parte

//------------------------
// Órdenes Salidas (SL, PT, Trailing) para Regla: Entrada larga
//------------------------

if(PosiciónMercado > 0) then begin

	LongSLPlaced = false;

	Si BarsSinceEntry = 0 entonces begin
		IntLongSL = 0
		IntLongTS = 0;
		AtrbeforeEntry = preatr[1];
	fin;
//...

A continuación, fijamos el stop loss inicial y el objetivo de beneficios. SL y PT se mantendrán en niveles fijos y se asegurarán de que son coherentes con la relación RR.

* Se recomienda encarecidamente poner todo el cálculo de los indicadores técnicos antes de los códigos de entrada y salida, para asegurarse de que no habrá desviación al llamarlo.

2. Trailing stop

Hay un error obvio en la activación. debemos utilizar el precio más alto en el mantenimiento de la posición larga. Y es muy fácil.

if(PosiciónMercado > 0) then begin

	LongSLPlaced = false;

	Si BarsSinceEntry = 0 entonces begin
		IntLongSL = 0
		IntLongTS = 0;
		HighestInLong = close;
	fin;
	Si BarsSinceEntry >0 entonces
		HighestInLong = max(HighestInLong, close);

Al igual que el SL y el PT iniciales, es mejor utilizar el valor ATR fijo.

IntPriceLevel > 0 y Close - EntryPrice >= Round2Fraction(AtrbeforeEntry)

3. precio trailing stop

Hay algunos tipos, como,
1)IntLongTS = Round2Fraction(Close - IntPriceLevel) Este es el método en SQ ahora.

2)

IntLongTS = Round2Fraction(Cierre - NivelPrecioInt)
IntLongTS = MAX( Round2Fraction(Close - IntPriceLevel), [IntLongTS] )

3)
IntLongTS = Round2Fraction(HighestInLong - IntPriceLevel)

Los dos últimos método para evitar la salida tardía debido a la desaceleración.

Si no se puede codificar en el codeditor, espero que SQ pueda mejorar estos métodos de salida. He pedido muchas veces. Creo que esto también ayudará a otros comerciantes.

0

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 4 años #257699

Hola,

lanzaremos la próxima actualización 127 de SQ a finales de esta semana, probablemente si no se encuentra ningún error importante.

En esta versión podrás construir tus propios "bloques" que podrás utilizar para entrada o salida  pero supongo que no para la activación del trailing stop como sugieres

Veo que ya se ha debatido sobre la implementación de SL y TSL en el código de MC y EL, pero voy a informar a los desarrolladores al respecto.

0

Viendo 1 respuesta (de un total de 1)