Problema de ordem complexa
4 respostas
jonnywolf
11 anos atrás #110955
Gostaria de definir uma regra para dobrar a direção de uma negociação.
Minha estratégia define um stop de compra e um stop de venda em um determinado momento do dia.
Se uma das ordens de parada for ativada e o stop loss for atingido, quero dobrar a negociação oposta.
Atualmente, minhas regras são:
Se a ordem fechou essa barra (número mágico) e fechou p/L <0 (número mágico).
Em seguida, entre no mercado.
No entanto, a ordem continua sendo aberta quando a nova ordem de mercado é fechada. Eu gostaria de definir algum tipo de regra que diga que, se o número mágico já tiver sido executado, não entre no mercado até o dia seguinte, quando o processo começa novamente.
Agradecemos muito a ajuda?
Abraço,
Jonny
stearno
11 anos atrás #121186
Jonny,
Acho que não estou entendendo totalmente o que você quer.
Deixe-me dizer o que acho que você está pedindo e depois você pode me corrigir se eu estiver errado.
Dia 1, no horário X, o EA coloca um stop de compra no preço A e um stop de venda no preço B.
Durante o dia, o Price Action aciona o stop de compra e, em seguida, fecha no stop loss com uma perda.
O que você quer é o Dia 2 no Horário X, quando o EA coloca um stop de compra e um stop de venda, você quer uma abordagem Martingale que duplique os lotes em comparação com o dia anterior
Isto é correto?
Eu sugeriria seguir o modelo que Mark forneceu na seção Exemplos de estratégias. Basicamente, você terá uma regra para cada nível que deseja que ocorra e, em seguida, usará as condições para escolher qual regra ocorrerá... Se eu tiver entendido errado, fique à vontade para esclarecer o que você está precisando ou mais detalhes sobre como fazer isso.
- Stearno
jonnywolf
11 anos atrás #121192
Olá,
Obrigado por sua resposta.
Basicamente, é uma estratégia básica de martingale. Descobri que, se a primeira ordem stop SL for atingida, a operação oposta será mais bem-sucedida. Mas se isso acontecer, será um dia de equilíbrio. Uma ordem de parada com prejuízo e uma ordem com lucro. Então, tive a ideia de que isso acontece muito, então por que não aumentar o tamanho do lote no lado oposto e ele se torna mais lucrativo?
Então
Dia 1, no horário X, o EA coloca um stop de compra no preço A e um stop de venda no preço B. O stop loss é o mesmo preço do preço de entrada da ordem de stop oposta.
Durante o dia, o Price Action aciona o stop de compra e, em seguida, fecha no stop loss com uma perda.
Assim que a SL é atingida e a outra ordem de parada é aberta, ela é duplicada com a mesma negociação no mercado.
O EA funciona, mas continua reconhecendo que a primeira ordem de parada foi fechada com prejuízo, mas quando a nova negociação duplicada está em lucro ou prejuízo, ele reabre o loop novamente. Preciso de uma maneira de dizer para abrir a operação somente se ela ainda não tiver ocorrido.
Tenho uma função de fechamento de todas as negociações no momento em que o novo conjunto de negociações para o dia seguinte acontece, mas gostaria de experimentar o trailing da segunda ordem...
É simples, mas não consigo explicá-lo de maneira simples.
Obrigado,
Jonny
Marca Fric
11 anos atrás #121193
Olá, Johny,
Acho que, nesse caso, talvez você possa usar uma função como "Last order was ..." ou "Order Closed this bar"
para determinar qual ordem foi realmente fechada e, dependendo disso, abrir uma ordem dupla ou começar do tamanho inicial.
Se você verificar o exemplo de estratégia de martingale neste fórum, isso será resolvido lá.
Marcar
Marcar
EstratégiaQuant arquiteto
jonnywolf
11 anos atrás #121201
O que funcionou foi que eu tive que colocar uma regra adicional que era orderclosedthisbar(magic number) is false para impedir a reabertura da segunda ordem de mercado.
Visualizando 4 respostas - 1 até 4 (de um total de 4)