1TP9Problema com a criação de ordens de parada no EAWizard...
4 respostas
Michael Ott
6 anos atrás #232652
Olá,
Tenho um problema com os EAs em que sinalizo uma ordem de parada. Criei vários EAs, por exemplo, com Ichimoku em cruzamentos de Tenkan e Kijuns, ou também com o indicador de supertendência. Mas não quero entrar com uma ordem de mercado neste momento, e sim emitir uma ordem stop. Então, criei o EA com "enter at stop" em vez de "enter at Market". À primeira vista, eles pareciam funcionar, mas, olhando mais de perto, percebi que nem todas as ordens foram colocadas. Como também criei uma seta com cada ação de compra, era possível acompanhá-la de perto. A seta era desenhada no gráfico, mas nenhuma ordem era aberta. Não apenas no backtest, mas também na negociação ao vivo! O sinal veio, a ação foi executada, a seta estava lá... mas não havia ordem. No diário e no arquivo de registro também não foi encontrada nenhuma ordem. Usei o exemplo simples do EMACross no EAWizard. Mas, em vez de uma ordem de mercado, criei uma ordem de parada. Além disso, com esse EA, nem todas as ordens são executadas! Alguém de vocês, especialistas, pode dar uma olhada se há algum erro na tradução do código da StopOrder? Estou realmente perdido, não consigo avançar mais.
(Sou alemão, usei o tradutor do Google. Desculpe-me)
Michael
Michael Ott
6 anos atrás #232679
Olá,
Encontrei o erro! É claro que, para os sinais longos que foram na direção certa, o limite de parada de compra estava abaixo do preço atual. Portanto, a ordem pendente estava incorreta e não foi transmitida. (Nos sinais curtos, é claro, exatamente o contrário) Infelizmente, mas nenhum erro foi gravado no arquivo de registro. Entretanto, se eu tivesse lido isso corretamente na programação, uma mensagem teria sido exibida:
——————
// verificar se o preço de parada/limite não está muito próximo
se(NormalizeDouble(MathAbs(price - AskOrBid), Digits) <= NormalizeDouble(getStopDifferencePrice(orderMagicNumber)/gPointPow, Digits)) {
Verbose("A ordem de parada/limite está muito próxima do preço real", " ------");
——————-
É claro que isso me poupou de muita pesquisa. Agora acabei de criar duas ordens de compra diferentes. Uma ordem Stop se ASK Close (shift1). Ou existe uma solução mais elegante?
Saudações da Alemanha,
Michael
tomas262
6 anos atrás #232683
Olá,
Eu faria isso da mesma forma que você. Uma ordem stop ou uma ordem de mercado, dependendo da distância
Michael Ott
6 anos atrás #232697
Olá, Tomás262,
Obrigado pelo feedback. Mas, como eu disse, deveria ter chegado a uma mensagem de erro? Se o limite de parada estiver acima/abaixo do preço atual?! Veja acima...:
-> Verbose ("A ordem de parada/limite está muito próxima do preço real")
Você pode controlá-lo se houver um erro?
Obrigado
Michael
tomas262
6 anos atrás #232745
Olá, Michael,
Você pode consultar outro tópico sobre isso https://strategyquant.com/forum/topic/5832-stoplimit-order-too-close-to-actual-price/#post-141685
Me avise se tiver alguma dúvida
Visualizando 4 respostas - 1 até 4 (de um total de 4)