Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!
Olá a todos,
Ainda estou implementando o gerenciamento de ordens pelo codigo.
No momento utilizo as ordens OCO para facilitar visualizar a estratégia e fazer os ajustes na lógica.
Percebo que após a ordem ser colocada no simulador, se não executada até a nova vela (2 minutos no meu caso) a ordem é cancelada automaticamente.
Minha dúvida fica sendo quem esta cancelando a ordem?
Isso vai acontecer na conta real da mesma forma?
Acredito que é o prório mode de automação de estratégias talvez por "segurança".
Enfim, espero que alguem possa contribuir.
==>+<==++==>+<==
<+> Peace and Love <+>
==>+<==++==>+<==
Oi @tenere22! Tudo bem?
Eu fiz uma série recentemente que talvez possa lhe ajudar a entender melhor (caso não tenha visto ainda).
No segundo vídeo da série, eu explico como funciona cada função de ordem nos diferentes contextos do Profit: https://www.youtube.com/watch?v=g8oWovIxGgs .
Em resumo, no backtesting você não consegue pendurar ordens...você precisa ficar enviando os comandos em todo processo que a condição for válida, se não o stop e o alvo (ordem limitada) acabam não sendo executados.
No Módulo de Automação de Estratégias, o tratamento das ordens é o que realmente acontece na prática (tirando um bug de velocidade de replay que afeta o preço de execução das ordens). Nesse contexto, as ordens ficam penduradas e não são canceladas no próximo candle.
Infelizmente a forma de programar ordens em backtesting é diferente que a forma utilizada no Módulo de Automação. Eu acredito que a Nelogica esteja trabalhando na harmonização porque não faz sentido ser diferente.
Grande abs!
Oi Jonh @admin! tudo blz?
Já tinha assistido o video mencionado e aproveito para parabeniza-lo pelo excelente conteúdo/apresentação.
Pelo que entendi até agora, no simulador com ordens OCO tenho um relatório bem mais próximo da realidade do que no backtesting, visto a forma que é tratado o código sem os ticks do candle. Claro que preciso de mto mais tempo, aproximadamente 1 hora para cada dia de teste (8x). Enfim é o q temos por enquanto.
No seu profit e no simulador, uma ordem OCO gerada pela Robo, também é cancelada no próximo candle?
E para finalizar por acaso você ja tem o modulo para rodar na conta real?
Abs!
==>+<==++==>+<==
<+> Peace and Love <+>
==>+<==++==>+<==
Oi @tenere22! Primeiramente, obrigado!
No meu Módulo de Automação as ordens OCO só são canceladas quando o alvo ou stop é acionado. Isto funciona quando as ordens são com a mesma quantidade de papéis/contrato. Este comportamento OCO é reproduzido de forma "automágica" pelo Profit...se as quantidades são diferentes...aí a outra ordem não é cancelada quando uma é executada. (Será que você não está utiilzando nenhum comando de "CancelPendingOrders"?)
Eu ainda não contratei o módulo para rodar em conta real. Acho que tem muito bug ainda e pontos para melhorar. Por enquanto, estou desenvolvendo só em conta simulada. Minha ideia é mesclar aqui na Comunidade o uso de Profit com MetaTrader.
Se a aceitação for legal, devo começar a gerar conteúdo no início do ano que vem.
Abs!