Resposta

O B127 suportará o método Trailing Stop personalizado no CodeEditor?

1 resposta

Eastpeace

Cliente, bbp_participant, community, sq-ultimate, 305 respostas.

Perfil da visita

4 anos atrás #257678

Não sei se o B127 oferecerá suporte ao método de saída personalizado no editor de códigos. Quero implementar alguns métodos personalizados para saída, mas não tenho certeza se o SQ pode converter bem a linguagem MC / TS.

O B127 foi adiado por muito tempo, e até agora não vimos nenhuma versão de desenvolvimento ou beta.

Mas realmente não estou satisfeito com algum método de saída dentro do SQ.

Amigos que usam TS ou MC, você acha que sim?

Por exemplo, este é um trailing stop com ativação, usando ATR.

Em comparação com o trailing stop usando pip/size fixo, a implementação usando ATR não é muito precisa.

...
LongSLPlaced = false;

	If BarsSinceEntry = 0 then begin
		IntLongSL = 0;
		IntLongTS = 0;
	fim;

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

	Venda("LongSL") na próxima barra no stop IntLongSL;
	LongSLPlaced = true;

	// ProfitTarget init
	IntPT = 0;
	
         
	// Trailing Stop
	IntPriceLevel = EnterRvrAtMrkTrlStpCef * SQ_ATR(20)[1];
	Se IntPriceLevel > 0 e Close - EntryPrice >= Round2Fraction(EnterRvrAtMrkTrlActCef * SQ_ATR(20)[1]) e (IntLongTS = 0 ou Round2Fraction(Close - IntPriceLevel) > IntLongTS), então comece
		IntLongTS = Round2Fraction(Close - IntPriceLevel); // lembre-se também do trailing stop
	fim;
	Se IntLongTS > 0 e IntLongTS > IntLongSL, então comece
		Venda("LongTrailingStop") na próxima barra no stop IntLongTS;
		LongSLPlaced = true;
	fim;

...

Não sei como o SQ funciona internamente e como ele funciona com o TS ou com o mecanismo de backtest do MC.

Aqui está minha sugestão de acordo com esse trecho do código EL.

1,IntLongsl.

Se usar o ATR para o stop loss inicial. Vamos usar o valor fixo, o ATR antes da entrada.


preatr = SQ_ATR(20);

//------------------------------------------------------------------
//entrada
//------------------------------------------------------------------
//.....entry part

//------------------------
// Saídas de ordens (SL, PT, Trailing) para a regra: Long entry
//------------------------

if(MarketPosition > 0) then begin

	LongSLPlaced = false;

	Se BarsSinceEntry = 0, então comece
		IntLongSL = 0;
		IntLongTS = 0;
		AtrbeforeEntry = preatr[1];
	end;
//...

Em seguida, definimos o stop loss inicial e a meta de lucro. O SL e o PT permanecerão em níveis fixos e garantirão que sejam consistentes com a relação RR.

* Recomenda-se enfaticamente colocar todos os cálculos dos indicadores técnicos antes dos códigos de entrada e saída, para garantir que não haverá desvio ao chamá-los.

2. Trailing stop

Há um erro óbvio na ativação. Devemos usar o preço mais alto na manutenção da posição longa. E isso é muito fácil.

if(MarketPosition > 0) then begin

	LongSLPlaced = false;

	Se BarsSinceEntry = 0, então comece
		IntLongSL = 0;
		IntLongTS = 0;
		HighestInLong = close;
	fim;
	Se BarsSinceEntry >0, então
		HighestInLong = max(HighestInLong, close);

Assim como o SL e o PT iniciais, é melhor usar o valor ATR fixo.

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

3. preço do trailing stop

Existem alguns tipos, como,
1)IntLongTS = Round2Fraction(Close - IntPriceLevel) Esse é o método no SQ agora.

2)

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

3)
IntLongTS = Round2Fraction(HighestInLong - IntPriceLevel)

Os dois últimos métodos para evitar a saída tardia devido à desaceleração.

Se não for possível codificar no codeditor, espero que a SQ possa aprimorar esses métodos de saída. Já fiz essa solicitação várias vezes. Acredito que isso também ajudará outros operadores.

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

4 anos atrás #257699

Olá,

Lançaremos a próxima atualização 127 da SQ até o final desta semana, provavelmente se nenhum bug importante for encontrado.

Nesta versão, você poderá criar seus próprios "blocos" que podem ser usados para entrada ou saída  mas acho que não para a ativação do trailing stop, como você sugere

Vejo que já houve uma discussão sobre a implementação de SL e TSL no código MC e EL, mas informarei os desenvolvedores sobre isso

0

Visualizando 1 resposta (de um total de 1)