Resposta

Estratégia EA Problem

1 resposta

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #112766

Olá a todos,

 

Digamos que eu queira criar uma estratégia com o EA Wizard. A estratégia é simples.

 

Sempre que o CCI cruzar abaixo de "-50" e o momentum < 100, entre em "Short" e o oposto.

Sempre que o CCI cruzar acima de "+50" e o momentum > 100, entre em "Long":

"Fechar todas as posições" toda vez que o CCI cruzar "0".

 

Entrar no mercado                                  CCI                                          MO

Símbolo: Símbolo atual: Símbolo atual: Atual

Direção: Período de tempo curto: Período de tempo atual: Atual

Quantidade: 1.0 Período: 24 Período: 50

Número mágico: 1000 Candidatar-se: Fechar Aplicar a: Fechar

Profit Meta: 20 Turno: 1 Turno: 1

 

O problema é que:

 

 

Digamos que o Momentum já esteja no preço de "94" (ou seja, menor que 100).

Quando o preço do CCI está em jogo, entre -49 e -51 (o que significa que cruza o CCI) por 25 vezes até que o preço fique estável em algum lugar mais baixo ou mais alto, a estratégia já abriu 25 entradas no mercado.

 

Se eu der uma ordem CCI < -50 e momentum < 100, toda vez que a vela fechar abaixo de -50 novamente, um pedido será aberto "Shortly" (em breve)

 

 

O que estou fazendo de errado? O que devo fazer para que a estratégia ocorra de uma só vez?

 

 

 

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #126988

Se você postou isso novamente na seção StrategyQuant, poste perguntas sobre o EA Wizard na seção EA Wizard!

 

Não entendo muito bem a lógica da sua estratégia. Você poderia postar o arquivo sqw aqui?

Marcar
EstratégiaQuant arquiteto

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127006

Sinto muito, Mark, por ter postado aqui. Não foi de propósito. Quando percebi, já era tarde demais.

 

Ok, então a estratégia é simples.

 

Quero "comprar" quando o Momentum for > 100 e, ao mesmo tempo, quando o CCI cruzar acima de 50

Quero "vender" quando o Momentum for < 100 e, ao mesmo tempo, quando o CCI cruzar abaixo de 50.

 

Todos nós sabemos que o preço de mercado sobe e desce o tempo todo. O mesmo acontece com o preço do CCI e do Momentum neste exemplo.

Agora, considere que a estratégia está em execução e o Momentum já está em torno de 120 (o que significa que a estratégia executará uma ordem de "Compra"), mas o preço flutua entre 49 e 51 algumas vezes quando finalmente sobe para 75.

 

Meu problema é que, nessas poucas vezes em que o preço estava flutuando entre 49 e 51, a estratégia estava executando mais de uma ordem de "compra".

Mas é claro que isso nem sempre acontece.

 

Então, minhas perguntas são:

Há alguma maneira de ajustar a estratégia evitando a abertura de mais de uma ordem?

Há algo errado com essa estratégia?

 

 

(Desculpe, não sabia como postar o arquivo sqw. Enviei-o por e-mail.

 

Aguardando sua resposta.

Obrigado pela leitura.

 

 

Cumprimentos,

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127007

Caso contrário, posso publicar o código aqui, se você quiser.

 

 

 

Obrigado

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127014

Seria útil se você pudesse publicar seu arquivo sqw aqui.

 

Você quer dizer que o EA abre uma negociação, depois a fecha e, em seguida, a abre novamente, etc., conforme o CCI flutua entre 49 e 51?

Como o EA tem uma proteção que impede a abertura de várias negociações na mesma direção com o mesmo número mágico, você não deve ter várias negociações abertas na mesma direção.

 

Para corrigir o primeiro problema, você pode usar uma variável para acompanhar o número de negociações abertas por tendência, conforme mencionado aqui, juntamente com um exemplo:

https://strategyquant.com/forum/topic/2268-one-trigger-per-trend-conundrum/

 

A ideia é que você use a variável para acompanhar quantas negociações abriu desde o último cruzamento de momentum, podendo limitá-la a abrir apenas uma negociação.

Marcar
EstratégiaQuant arquiteto

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127026

Na verdade, o que eu quero limitar é o CCI e não o Momentum. O Momentum, nessa estratégia, é a segunda curva de confirmação para entrar ou não no mercado, portanto, não quero limitar as negociações de acordo com o Momentum.

 

Talvez seja útil dizer que o período de tempo que estou usando é de 4 horas. Tudo isso que estamos falando sobre a flutuação do CCI está ocorrendo em uma vela de 4 horas!

 

Então, há algum parâmetro a ser ajustado para que a estratégia não abra mais de uma negociação por candle?

 

(Não sei como postar o arquivo sqw aqui. Copiar e colar não funciona. Você quer que eu publique o código completo da estratégia?)

 

 

Obrigado

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127049

Olá, Mark! Aqui está o arquivo sqw que você solicitou.

 

 

 

 

Por favor, dê uma olhada e me diga se existe a possibilidade de essa estratégia abrir negociações duplas, triplas ou mais em um candle de 4 horas (eu uso a estratégia em um período de 4 horas).

 

Obrigado

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127050

E, a propósito, notei um pequeno atraso na ativação da estratégia. (Aplicar a: Fechar) 

 

Há algo que possamos fazer para que a estratégia seja ativada quando a vela estiver fechando?  

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127051

Ele funciona muito bem em um período de 1 minuto, mas não em um período de 4 horas.

 

Obrigado

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127160

Olá,

 

Dei uma olhada nessa estratégia, desculpe-me por ter demorado tanto.

 

Mas parece estar tudo bem, você pode me dizer o que exatamente está errado com ele?

 

Entendo que você deseja que ele faça apenas uma negociação por candle de 4 horas, certo?

 

Qual é exatamente o problema?

 

1. que ele abre uma negociação, atinge o SL ou PT e, em seguida, abre a mesma negociação no mesmo candle?

 

2. ou que ele abre várias negociações no mesmo candle ao mesmo tempo, de modo que você tem mais de uma posição aberta?

 

Se o problema for 1.), a solução é simples - adicione uma condição Ordem aberta Esta barra é falsa que verificará se a ordem já foi aberta na barra atual.

 

Estou anexando a estratégia modificada.

 

 

 

Marcar
EstratégiaQuant arquiteto

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127204

Bem, o problema parece ser o primeiro:

 

Ele abre uma negociação, atinge o SL ou PT e, em seguida, abre a mesma negociação no mesmo candle.

 

Testarei a estratégia que você me enviou e o informarei.

 

A propósito, a estratégia que eu já criei deixará de funcionar se o período de avaliação expirar ???

 

 

Obrigado

0

sdb

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127255

Ok, Mark, fiz o que você disse e está tudo bem agora. Mas surgiu outro problema.

 

Se o CCI estiver acima de 50 e o Momentum acima de 100, entraremos no mercado e tudo estará bem.

Mas se no próximo candle de 4 horas os indicadores continuarem acima de ambos, outra negociação será aberta! EU NÃO QUERO ISSO!

 

Quero que a estratégia abra apenas uma negociação. No entanto, se o CCI cair abaixo de 50 e depois voltar a ficar acima de 50, será aberta uma nova negociação.

 

O mesmo se optarmos por "Short"

 

Você acha que isso pode ser feito???

 

Por favor, me responda  

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127266

Sim, isso pode ser feito, mas você precisa usar variáveis para acompanhar as mudanças de tendência.

 

Exemplo de estratégia em pseudocódigo:

 

Regra 1:

SE o CCI cair abaixo de 0 e depois voltar a ficar acima de 0

ENTÃO defina a variável TradesInNewTrend = 0

 

Regra 2:

se TradesInNewTrend=0 e sua outra condição

ENTÃO

comércio aberto

Definir a variável TradesInNewTrend = 1

 

Isso manterá o controle de quantas negociações foram abertas para cada mudança de tendência.

Marcar
EstratégiaQuant arquiteto

0

Fosso

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127407

Hi

Marcar você pode carregar um exemplo?

Regra 1:

SE CCI se abaixo 0 e então retornos voltar acima 0

ENTÃO conjunto variável TradesInNewTrend = 0

 

Regra 2:

se TradesInNewTrend = 0 e seu outros condição

ENTÃO

aberto comércio

Conjunto variável TradesInNewTrend = 1

Agradecimentos Fosso

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

9 anos atrás #127445

Estou anexando um exemplo.

Arquivo: Exemplo1.sqw

Marcar
EstratégiaQuant arquiteto

0

Fosso

Assinante, bbp_participant, comunidade, 37 respostas.

Perfil da visita

9 anos atrás #127703

Obrigado

 

Fosso

0

Visualizando 15 respostas - 1 até 15 (de um total de 15)