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
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!