Está fazendo o EA corretamente?
7 respostas
stearno
11 anos atrás #110806
Elaborei o EA em anexo. Estou fazendo isso corretamente?
Tenho um indicador personalizado que fornece Entry, Stop, Profit Target e Trailing stop.
1. O EA coloca 3 ordens de parada quando o preço de entrada é preenchido no campo pelo Indy.
2. Coloque o stop e a meta de lucro em cada um deles, conforme fornecido pela Indy
3. Em seguida, quando o Indy preencher o campo ActiveStop, o EA alterará o preço de parada (ou fará uma parada móvel) e, em seguida, fará isso novamente quando o Indy atualizar o campo ActiveStop para um novo número.
Agradeço seus comentários e sua ajuda!
Stearno
Marca Fric
11 anos atrás #120703
Olá, Stearno,
parece correto, embora eu não conheça a estratégia original.
As três ordens de parada foram colocadas corretamente, o único problema pode ser o trailing stop - ele pode ser implementado de maneira diferente em seu sistema de negociação do que no EA Wizard.
> Então, quando o Indy preencher o campo ActiveStop, o EA alterará o preço de parada (ou fará uma parada móvel) e, em seguida, fará isso novamente quando o Indy atualizar o campo ActiveStop para um novo número.
Se você quiser alterar o stop loss somente depois que o Indy atualizar o campo ActiveStop, provavelmente deverá adicionar uma nova regra para isso.
A regra seria:
SE
(a ordem existe e iCustom(..., ActiveStop) > 0)
ENTÃO
Mover SL para iCustom(..., ActiveStop)
Com os melhores cumprimentos,
Marcar
Marcar
EstratégiaQuant arquiteto
stearno
11 anos atrás #120705
Marca,
Ótimo feedback. Atualizarei essas configurações após a nova atualização com os parâmetros aumentados. Muito obrigado!
stearno
11 anos atrás #120893
Você disse: "se a ordem existir". O que eu escolho para verificar essa lógica?
Procurei no Strategy Control, mas nada parecia retornar se existia uma ordem aberta por um número mágico.
Além disso, em Posição de mercado, o que significa Flat, Long, Short?
Obrigado
-Stearno
Marca Fric
11 anos atrás #120906
há duas funções para verificar se a ordem está aberta:
Posição de mercado - retorna a posição de todo o EA
Order Position(MagicNumber) - retorna a posição da ordem com o número mágico fornecido
Os possíveis valores de retorno dessas funções são:
Plano - significa que não há posição aberta
Curto/longo - significa que há uma posição curta ou longa aberta
Marcar
EstratégiaQuant arquiteto
stearno
11 anos atrás #120908
Ah, tudo bem. Eu estava pensando que Flat/Short/Long poderia ser o lucro/perda. Obrigado por esclarecer isso.
Então, agora, fazendo como você pediu, me deparei com mais duas perguntas:
1. Esse EA abrirá 3 ordens longas quando as condições longas forem atendidas. Se eu fizer outra guia para mover o stop loss, terei que fazer uma guia para cada ordem longa (magic Long1, Magic long2, Magic Long3) ou posso fazer uma guia que terá 3 estados Then, cada um movendo um SL para cada ordem. O motivo da pergunta é que talvez a ordem longa 1 tenha atingido a meta Profit, portanto, apenas duas ordens permanecem abertas. Se a instrução Then estiver chamando essa ordem para alterar seu SL e não existir, isso causará um problema ou ela será ignorada e passará para a próxima instrução Then. Se isso causar um problema, terei que fazer uma tabulação para cada MagicNumber para modificar apenas essa ordem. (exemplo de cada anexo com 3 em uma guia e apenas um em uma guia, o que funcionará)?
2. Além disso, a saída do indicador ActiveStop será preenchida e, em seguida, os números serão alterados. Portanto, o que eu estava pensando era que a instrução If compararia a saída Active Stop [1] com a saída Active Stop anterior [2]. Se for maior (porque a posição é longa, então a parada só aumentará), então moverá a parada para a nova saída. Essa é a melhor maneira?
Obrigado,
Jônatas
Marca Fric
11 anos atrás #120917
1. Esse EA abrirá 3 ordens longas quando as condições longas forem atendidas. Se eu fizer outra guia para mover o stop loss, terei que fazer uma guia para cada ordem longa (magic Long1, Magic long2, Magic Long3) ou posso fazer uma guia que terá 3 estados Then, cada um movendo um SL para cada ordem. O motivo da pergunta é que talvez a ordem longa 1 tenha atingido a meta Profit, portanto, apenas duas ordens permanecem abertas. Se a instrução Then estiver chamando essa ordem para alterar seu SL e não existir, isso causará um problema ou ela será ignorada e passará para a próxima instrução Then. Se isso causar um problema, terei que fazer uma tabulação para cada MagicNumber para modificar apenas essa ordem. (exemplo de cada anexo com 3 em uma guia e apenas um em uma guia, o que funcionará)?
você pode colocá-la na mesma regra de negociação. Se a ordem não existir e você tentar modificar seu SL/PT, nada acontecerá, ela será simplesmente ignorada.
2. Além disso, a saída do indicador ActiveStop será preenchida e, em seguida, os números serão alterados. Portanto, o que eu estava pensando era que a instrução If compararia a saída Active Stop [1] com a saída Active Stop anterior [2]. Se for maior (porque a posição é longa, então a parada só aumentará), então moverá a parada para a nova saída. Essa é a melhor maneira?
Sim, acho que essa é a única maneira, se você precisar verificar a alteração no valor do ActiveStop.
Marcar
Marcar
EstratégiaQuant arquiteto
stearno
11 anos atrás #120926
Obrigado, Mark. Muito útil.
Visualizando 7 respostas - 1 até 7 (de um total de 7)