É possível atingir o ponto de equilíbrio/ativar o stop loss/sair de uma negociação após...
9 respostas
Threshold
10 anos atrás #112105
É possível atingir o ponto de equilíbrio/ativar o stop loss/sair de uma negociação após 24 horas (barras)?
Minha estratégia é uma estratégia de barra diária.
Quero atingir o ponto de equilíbrio após exatamente 24 horas ou sair se a negociação não for vencedora após exatamente 24 horas.
Vejo que há uma opção "BarsSinceOrderOpen", mas essa opção não tem opção de período de tempo. Você pode adicioná-la? Ou há outras possibilidades?
stearno
10 anos atrás #124337
Marca Fric
10 anos atrás #124363
você pode fazer isso criando uma regra para isso.
Algo como:
IF(BarsSinceOrderOpen >= 1) // negociar antes do dia
e OpenPL() > 0
ENTÃO
mover SL para BE
e outra regra para fechar a negociação:
IF(BarsSinceOrderOpen >= 1) // negociar antes do dia
e OpenPL() < 0
ENTÃO
ClosePosition
Marcar
EstratégiaQuant arquiteto
Threshold
10 anos atrás #124383
Vocês não leram a pergunta por completo ou talvez eu não tenha sido claro. Minhas desculpas.
BarsSinceOrderOpen>=1 é exatamente o que eu disse que não funcionaria porque não tem opção de período de tempo. E se a ordem tiver sido inserida às 23:00 de ontem? Então, a ordem fica em equilíbrio após apenas 1 hora. BarsSinceOrderOpen não significa 24 horas. Significa simplesmente uma nova barra. Pode ser 1 hora 2 horas 3 horas 4 horas 5 horas....
Estou buscando o ponto de equilíbrio após exatamente 24 horas (ou 24 barras H1) para a estratégia D1.
Eu preciso fazer:
BarsSinceOrderOpen(Timeframe: PERIOD_H1) > 24
Mas não há opção de período de tempo.
Minha estratégia é uma estratégia de barra diária.
Quero atingir o ponto de equilíbrio após exatamente 24 horas ou sair se a negociação não for vencedora após exatamente 24 horas.
Vejo que há uma opção "BarsSinceOrderOpen", mas essa opção não tem *nenhuma opção de período de tempo*. Você pode adicioná-la? Ou há outras possibilidades?
Marca Fric
9 anos atrás #124435
Ok, entendi. Infelizmente, isso não é fácil de resolver no momento, sem adicionar a opção de período de tempo às Barras desde a abertura da ordem.
Mas você pode fazer isso usando uma função personalizada. Adicione as seguintes funções no arquivo EA Wizard/code/CustomFunctions.mq4:
E, no Assistente de EA, em sua condição, você pode chamar a função personalizada: sqGetBarsSinceEntryH1 (seu número mágico) >= 24
Marcar
EstratégiaQuant arquiteto
Threshold
9 anos atrás #124471
Fantástico! Existe uma maneira de aplicar isso à ativação do TS?
Agora sei como fazer com a BE.
Esta é minha tentativa de aplicá-la à ativação do TS.
Ativação de TS (variável) = TSAktivate
Threshold
9 anos atrás #124479
O EA não será carregado com êxito depois que eu alterar o arquivo CustomFunctions.mq4.
Farei o upload. Talvez minha edição tenha sido incorreta.
Copiei e colei todo o código que você forneceu e adicionei ao final do arquivo.
Aqui está meu trabalho também:
JTamas
9 anos atrás #124484
Eu tentaria isso:
1. criar uma variável: 'opentime'
2. Rule1#: IF order opened this minute is true THEN assign variable opentime = hour(0 bars ago)
3. Regra 2# IF barras desde a abertura da ordem = 1 e Timecurrent = GetTime(opentime, 0, 0)
ENTÃO
qualquer que seja
Como você deseja fechar após 24 horas, isso significa que isso ocorrerá no mesmo horário em que foi aberto, apenas um dia depois.
Threshold
9 anos atrás #124492
Abordagem muito simples, eu gosto dela.
Testei, mas não funciona.
Marca Fric
9 anos atrás #124520
Hi,
Ainda não está funcionando? Você pode anexar sua estratégia aqui?
Quando verifiquei o arquivo CustomFunctions que você anexou, não vi minhas funções adicionadas lá, e ele foi compilado corretamente.
Marcar
EstratégiaQuant arquiteto
Visualizando 9 respostas - 1 até 9 (de um total de 9)