![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A resposta curta é Não.
Como sempre, a barra 0 é temporalmente incompleta tanto para EAs quanto para indicadores, e seu alto, baixo, próximo e volume são quase certamente diferentes de como eles acabam quando a barra completa e se torna barra 1. Mais exatamente, o valor de StochRSICurr no final da barra diária só é conhecido no primeiro tick da próxima barra diária (e mais tarde). Acho que você mesmo presta um mau serviço tentando usar os valores da barra 0, já que estes, com poucas exceções, refletem apenas o estado parcial da barra incompleta.
Tanto quanto sei, o indicador é invocado no momento da primeira chamada iCustom com a combinação particular do valor do parâmetro, durante cada invocação da função EA start(). As sucessivas chamadas iCustom durante uma chamada de função de início de EA, para o mesmo indicador, com a mesma configuração de valor de parâmetro, reutiliza qualquer que seja a primeira chamada produzida. A próxima função start() da EA, novamente chamando iCustom, invocará novamente o indicador, no contexto do tick que fez com que a função start fosse invocada.
Assim, aos olhos do indicador, ele é invocado uma vez para cada tick que a EA permite que ele seja invocado. Ao dizer a um MA para usar um preço aberto ou alto preço etc., ele só muda quais valores de barra ele observa, enquanto a forma de invocação permanecerá a mesma: ele é invocado a cada tick (que o EA permite).
Por favor, me ajude
Olá a todos,
Ninguém quer me ajudar. Eu coloco mais uma vez meu problema e, por favor, me ajude.
Só quero entender por que o resultado não é o mesmo com as duas maneiras de codificar o mesmo indicador (veja o código e a figura).
Manuel
retrocesso lento
Só queria dizer obrigado a Ralph Ronnquist. Agora eu tenho essa parte funcionando corretamente.
Tenho outra pergunta para qualquer pessoa que possa ajudar. Quando eu tento usar o Strategy Tester com meu EA, ele é extremamente lento. Sei que funciona, pois obtenho alguns resultados, mas preciso deixá-lo ligado durante a noite para obter 3 meses de resultados.
Meu EA é baseado na tendência diária usando o Stochastic RSI crossing (teste) e depois apenas a ação do preço. Quais poderiam ser as principais razões de ser tão lento. Está na programação ou é porque estou chamando um indicador externo ou é que o Stochastic RSI engole muita energia.
Eu executo muitas outras EA e todas elas são muito mais rápidas do que as minhas. Meu sistema é muito potente com 3GB de Ram e processador Intel Centrino Duo.
Quaisquer sugestões de idéias serão bem-vindas.
Putz
Como escrever
Olá Codificadores
sou totalmente novato na codificação Mql.4. Ainda estou aprendendo por EAs modificados existentes.
Seguindo o exemplo de um Pivot flutuante:
para a barra atual;
duplo pivô_de fluxo0 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,0,0))/3,0;
para um bar de volta
onde eu devo definir "número" ou variável "shift_bars".
duplo fluxo_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0;
Muito obrigado
BadGay,
ir para:
https://www.mql5.com/en/forum/173124
B.
Nenhuma solução encontrada
Oi Bongo
Desculpe, mas neste link não encontrei uma resposta.
Caso normal
double High1 = iHigh(NULL,0, 0); // Preço alto agora
quando eu preciso de entrada externa
double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1); // Preço alto agora
Green significa quantas barras de volta
mas no meu caso, onde devo inserir Barback_xxx, a linha completa abaixo deve ser uma barra de retorno
duplo fluxo_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0;
BadGay,
ir para:
https://www.mql5.com/en/forum/173124
B.Tempos de retorno
Oi Bongo
Desculpe, mas neste link não encontrei uma resposta.
Caso normal
double High1 = iHigh(NULL,0, 0); // Preço alto agora
quando eu preciso de entrada externa
double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1); // Preço alto agora
Green significa quantas barras de volta
mas no meu caso, onde devo inserir Barback_xxx, a linha completa abaixo deve ser uma barra de retorno
duplo fluxo_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0;Hi
Se você quiser deslocar a linha de volta em 1 barra de cada vez.
duplo fluxo_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0; = Dia atual
duplo fluxo_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1)
+ iClose(NULL,TimeFrame_Flow,1))/3.0; = Voltar 1 dia
duplo fluxo_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2)
+ iClose(NULL,TimeFrame_Flow,2))/3.0; = Voltar 2 dias
duplo fluxo_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx)
+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0;
Barback_xxx = 1,2, 3, 4 etc. recuarão 1 barra de cada vez.
Oi Cja
não é o que eu quero dizer
Hi
Se você quiser deslocar a linha de volta em 1 barra de cada vez.
Isso é PIVOT flutuante. Certo?
#1
duplo fluxo_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0)
+ iClose(NULL,TimeFrame_Flow,0))/3.0; = Dia atual
Isso é PIVOT normal para hoje. Não é?
#2
duplo fluxo_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1)
+ iClose(NULL,TimeFrame_Flow,1))/3.0; = Voltar 1 dia
Isso é PIVOT normal, mas de ontem. Não é?
#3
duplo fluxo_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2)
+ iClose(NULL,TimeFrame_Flow,2))/3.0; = Voltar 2 dias
Preciso do nº 1, mas xx barras de volta em qualquer período de tempo.
A mesma função como este Indi : PrevDayAndFloatingPivot_O.mq4. ( mas somente o FloatingPivot )
O Indi está anexado
duplo fluxo_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx)
+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0;
Barback_xxx = 1,2, 3, 4 etc. recuarão 1 barra de cada vez.talvez esta seja uma pergunta boba...
mas espero que você me ajude.
.... como fechar ou abrir uma ordem(ordem pendente) quando outra ordem chegar ao tp?
obrigado b4 !![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)