O B127 suportará o método Trailing Stop personalizado no CodeEditor?
1 resposta
Eastpeace
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.
tomas262
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
Visualizando 1 resposta (de um total de 1)