Olá pessoal. Tudo bem?
Gostaria de pedir ajuda a vcs. Se puderem me ajudar.
Estou com o seguinte problema. Estou criando um robo que pega dados do indicador. ele tem dois buffers que quero usar para compra e venda. um é sinalcompra[] e o outro sinalvenda[]. usei a função ArraySetAsSeries para inverter a indexação. quando sinalcompra[1] for =1 eu compro ou quando sinalvenda[1]=1 eu vendo. Só que tem um porem. eu compro se a(s) próxima(s) barra(s) tiver um aumento em 50 pontos ou vendo se a(s) proxima(s) barra(s) tiver um decrescimo de 50 pontos.
Ai Surge o problema: 1) Como faço para registrar o valor sinalcompra[1] =1 ou sinalvenda[1]=1, para que ele fique analisando se as proximas barras atingem uma diferença de 50 pontos?
2) Se eu tiver um sinalcompra[1]=1 e nao subir 50 pontos para eu comprar, e depois de algumas barras der sinalvenda[1]=1, como faço para atualizar o valor que eu teria gravado que era de sinalcompra[1]?
Se puder me ajudar ficarei muito grato.
Att. Lucas Massotti
Como eu vejo isso (se entendi bem):
1. Cria uma variável para ser o passo (no caso 50 pontos, mas depois voce pode mudar);
2. Cria uma variável para armazenar o valor da entrada;
3. Cria uma varável para armazenar o preço corrente;
4. Compara através de um "if" se o preço corrente eh >= (ou <= ) a valor de entrada +/- passo;
5. Envia ordem (compra/venda) para aumento do lote, fazendo as devidas verificações de risco;
6. Variável de entrada recebe novo valor (5) e recomeça o ciclo.
Espero ter contribuído.
[ ]'s
entendi. Por exemplo, se der sinalcompra[1]=1, como faço para ter uma variável que segura este valor sabendo que conforme entra uma nova barra o sinalcompra[1] ja nao é mais o mesmo =1?
Pelo que entendi, depois da primeira compra o sinal passa a ser os 50 pontos . Correto?
Sendo assim, não precisa mais voltar no buffer, basta seguir a sequencia que te sugeri.
[ ]'s
Quase la.
Após um sinal de compra (sinalcompra[1]=1) qualquer barra que vem na sequencia em que o valor do preço mais alto menos o valor do preço mais alto do candle do sinal de compra for maior que 50 eu compro.
Não sei se deu pra entender...
Se a proxima barra der 50 pontos blz. mas e se for a segunda barra? assim eu teria que registrar o valor do sinalcompra[1]=1 porque conforme surge novas barras o valor do sinalcompra[1] muda.
Quase la.
Após um sinal de compra (sinalcompra[1]=1) qualquer barra que vem na sequencia em que o valor do preço mais alto menos o valor do preço mais alto do candle do sinal de compra for maior que 50 eu compro.
Não sei se deu pra entender...
Se a proxima barra der 50 pontos blz. mas e se for a segunda barra? assim eu teria que registrar o valor do sinalcompra[1]=1 porque conforme surge novas barras o valor do sinalcompra[1] muda.
Sem ver seu codigo fica complicado.
Em seu lugar eu só utilizaria o buffer enquanto não houvesse posição aberta. Com posição aberta eu adotaria a forma sugerida.
Pelo que estou entendendo você terá stop móvel (trailing stop), correto?
esta ai o codigo. Usei a função "if" para estabelecer condições. Mas do jeito que fiz só pega a próxima barra e nao analisa as próxima.
ve se consegue entender agora...
esta ai o codigo. Usei a função "if" para estabelecer condições. Mas do jeito que fiz só pega a próxima barra e nao analisa as próxima.
ve se consegue entender agora...
Hoje não consigo mais analisar isto.
Ao ver seu código sugiro que você leia urgentemente a thread abaixo.
Assim que conseguir verificar seu código posto aqui minhas sugestões, se outros colegas não o fizerem antes.
[ ]'s
![Um checklist dos riscos dos robôs antes de operar em conta real Um checklist dos riscos dos robôs antes de operar em conta real](https://c.mql5.com/36/26/um-checklist-dos-riscos-dos-rob__1.jpg)
- 2014.04.23
- www.mql5.com
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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
Olá pessoal. Tudo bem?
Gostaria de pedir ajuda a vcs. Se puderem me ajudar.
Estou com o seguinte problema. Estou criando um robo que pega dados do indicador. ele tem dois buffers que quero usar para compra e venda. um é sinalcompra[] e o outro sinalvenda[]. usei a função ArraySetAsSeries para inverter a indexação. quando sinalcompra[1] for =1 eu compro ou quando sinalvenda[1]=1 eu vendo. Só que tem um porem. eu compro se a(s) próxima(s) barra(s) tiver um aumento em 50 pontos ou vendo se a(s) proxima(s) barra(s) tiver um decrescimo de 50 pontos.
Ai Surge o problema: 1) Como faço para registrar o valor sinalcompra[1] =1 ou sinalvenda[1]=1, para que ele fique analisando se as proximas barras atingem uma diferença de 50 pontos?
2) Se eu tiver um sinalcompra[1]=1 e nao subir 50 pontos para eu comprar, e depois de algumas barras der sinalvenda[1]=1, como faço para atualizar o valor que eu teria gravado que era de sinalcompra[1]?
Se puder me ajudar ficarei muito grato.
Att. Lucas Massotti