Da sim Felipe, você pode usar o ativo Win$, e pegar o contrato do periodo.
Agora toda vez que o contrato acabar voce tera que atualizar o grafico.
ou rodar diretamente no ativo win$ apontando sempre para o ativo do contrato vigente
Sanderson, deixa eu ver se entendi:
Eu teria que rodar o robô no gráfico do WIN$ porém no código MQL5 eu teria que, ao invés de colocar _Symbol para fazer referência ao atual gráfico, por WIN$? Vai funcionar?
Obrigado
Sanderson, deixa eu ver se entendi:
Eu teria que rodar o robô no gráfico do WIN$ porém no código MQL5 eu teria que, ao invés de colocar _Symbol para fazer referência ao atual gráfico, por WIN$? Vai funcionar?
Obrigado
input bool UseTeste=false; void OnTick() { Ativo = "zzz"; if((TimeCurrent()>D'2017.10.18 00:00' && TimeCurrent()<D'2017.12.12 20:00')){ Ativo = "WINZ17";} if((TimeCurrent()>D'2017.12.13 00:00' && TimeCurrent()<D'2018.02.13 20:00')){ Ativo = "WING18";} if((TimeCurrent()>D'2018.02.14 00:00' && TimeCurrent()<D'2018.04.17 20:00')){ Ativo = "WINJ18";} if((TimeCurrent()>D'2018.04.18 00:00' && TimeCurrent()<D'2018.06.12 20:00')){ Ativo = "WINM18";} if((TimeCurrent()>D'2018.06.13 00:00' && TimeCurrent()<D'2018.08.14 20:00')){ Ativo = "WINQ18";} if((TimeCurrent()>D'2018.08.15 00:00' && TimeCurrent()<D'2018.10.16 20:00')){ Ativo = "WINV18";} if((TimeCurrent()>D'2018.10.17 00:00' && TimeCurrent()<D'2018.12.11 20:00')){ Ativo = "WINZ18";} tradenow=1; if(UseTeste) { Ativo = _Symbol; if((TimeCurrent()>D'2013.02.13 16:00' && TimeCurrent()<D'2013.02.13 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2013.04.17 16:00' && TimeCurrent()<D'2013.04.17 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2013.06.12 16:00' && TimeCurrent()<D'2013.06.12 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2013.08.14 16:00' && TimeCurrent()<D'2013.08.14 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2013.10.16 16:00' && TimeCurrent()<D'2013.10.16 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2013.12.18 16:00' && TimeCurrent()<D'2013.12.18 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2014.02.12 16:00' && TimeCurrent()<D'2014.02.12 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2014.04.16 16:00' && TimeCurrent()<D'2014.04.16 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2014.06.18 16:00' && TimeCurrent()<D'2014.06.18 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2014.08.13 16:00' && TimeCurrent()<D'2013.08.13 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2014.10.15 16:00' && TimeCurrent()<D'2014.10.15 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2014.12.17 16:00' && TimeCurrent()<D'2014.12.17 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2015.02.18 16:00' && TimeCurrent()<D'2015.02.18 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2015.04.15 16:00' && TimeCurrent()<D'2015.04.15 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2015.06.17 16:00' && TimeCurrent()<D'2015.06.17 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2015.08.12 16:00' && TimeCurrent()<D'2015.08.12 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2015.10.14 16:00' && TimeCurrent()<D'2015.10.14 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2015.12.16 16:00' && TimeCurrent()<D'2015.12.16 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2016.02.17 16:00' && TimeCurrent()<D'2016.02.17 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2016.04.13 16:00' && TimeCurrent()<D'2016.04.13 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2016.06.15 16:00' && TimeCurrent()<D'2016.06.15 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2016.08.17 16:00' && TimeCurrent()<D'2016.08.17 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2016.10.12 16:00' && TimeCurrent()<D'2016.10.12 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2016.12.14 16:00' && TimeCurrent()<D'2016.12.14 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2017.02.15 16:00' && TimeCurrent()<D'2017.02.15 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2017.04.12 16:00' && TimeCurrent()<D'2017.04.12 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2017.06.14 16:00' && TimeCurrent()<D'2017.06.14 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2017.08.16 16:00' && TimeCurrent()<D'2017.08.16 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2017.10.18 16:00' && TimeCurrent()<D'2017.10.18 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} if((TimeCurrent()>D'2017.12.13 16:00' && TimeCurrent()<D'2017.12.13 20:00')){CLOSEALL(0);CLOSEALL(1);tradenow=0;} } Ask = SymbolInfoDouble(Ativo,SYMBOL_ASK); Bid = SymbolInfoDouble(Ativo,SYMBOL_BID); }
Isso aqui que postei em cima deve resolver seu problema
Brilhante João! Ele só terá que se preocupar em 2019. (sem sarcasmo, ok?) Sua lógica é peculiar e interessante mas, trocar o _Symbol no EA me parece o caminho mais curto, até porque ele pode desiludir-se com o EA antes disso! - Se comento este ponto é por conta do meu algoritmo que já migrou do MT4 e agora está rodando no MT5 e adaptá-lo a Bolsa (rodava no Forex e devido a isso, ainda estou sofrendo com alguns ajustes; está na 5° versão). -
Brilhante João! Ele só terá que se preocupar em 2019. (sem sarcasmo, ok?) Sua lógica é peculiar e interessante mas, trocar o _Symbol no EA me parece o caminho mais curto, até porque ele pode desiludir-se com o EA antes disso! - Se comento este ponto é por conta do meu algoritmo que já migrou do MT4 e agora está rodando no MT5 e adaptá-lo a Bolsa (rodava no Forex e devido a isso, ainda estou sofrendo com alguns ajustes; está na 5° versão). -
João, deixa eu ver se entendi. Eu não poderia utilizar a "metade" do seu código? Veja abaixo se a solução não funcionaria também?
if((TimeCurrent()>D'2017.10.18 00:00' && TimeCurrent()<D'2017.12.12 20:00')){ Ativo = "WINZ17";} if((TimeCurrent()>D'2017.12.13 00:00' && TimeCurrent()<D'2018.02.13 20:00')){ Ativo = "WING18";} if(PositionSelect(Ativo)==true && enterSLTP==true) { ZeroMemory(requisicao); ZeroMemory(resposta); requisicao.action = TRADE_ACTION_SLTP; requisicao.symbol = Ativo; . . . }
João, deixa eu ver se entendi. Eu não poderia utilizar a "metade" do seu código? Veja abaixo se a solução não funcionaria também?
João, deixa eu ver se entendi. Eu não poderia utilizar a "metade" do seu código? Veja abaixo se a solução não funcionaria também?
Não entendi muito sua pergunta Felipe, mas de qualquer forma você é obrigado a usar o ASk e Bid que está no código.
Se você se refere ao que está abaixo do "UseTeste" essa parte é apenas para facilitar o uso do testador de estratégias, podendo rodar os teste em série contínua.
A parte que serve para operações no Win é apenas a parte superior do código mesmo.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Galera, boa noite
Seguinte: montei um robô para operação com WINQ17, porém, após o vencimento, vou ter que alterar manualmente para a próxima letra do contrato? Não daria para fazer nada automaticamente?
Grande abs!