Como codificar? - página 107

 

É um EA, não um indicador, não se deve misturar ambos.

 

olá a todos...

É um EA, não um indicador, não se deve misturar os dois.

Na verdade, eu pego algum código do indicador MACD e com isso faço um EA... alguém pode me ajudar qual código devo corrigi-lo?

obrigado...

 

Tente olhar alguns dos EA's que você já tem. Estude o código e tente ver se você consegue descobrir alguma lógica. Tente falar em voz alta o fluxo do programa. Isso ajuda muito!

Boa Sorte

Lux

 

olá a todos...

obrigado luxinterrior pela resposta...

Tente olhar alguns dos EA's que você já tem. Estude o código e tente ver se você consegue descobrir um pouco da lógica. Tente falar em voz alta o fluxo do programa. Isso ajuda muito! Boa Sorte

eu tenho 7 buffer... buffer1 até buffer7... cada buffer salvará o valor da barra MACD... o EA abrirá

COMPRAR poste quando o MACD se tornar em forma de 'u'.

a condição quando...

if (MacdBuffer7>MacdBuffer5&&MacdBuffer5>MacdBuffer3&&MacdBuffer3>MacdBuffer1

&&MacdBuffer1<MacdBuffer2&&MacdBuffer2<MacdBuffer4&&MacdBuffer4<MacdBuffer6) [/CODE]

SELL post when the MACD become 'n' shape..

the condition when..

[CODE] if(MacdBuffer7<MacdBuffer5&&MacdBuffer5<MacdBuffer3&&MacdBuffer3<MacdBuffer1

&&MacdBuffer1>MacdBuffer2&&MacdBuffer2>MacdBuffer4&&MacdBuffer4>MacdBuffer6)

espero que alguém possa me ajudar a resolver o problema... obrigado...

 

Existe uma maneira de forçar o programa a calcular?

Agora mesmo ele espera pelo próximo tique.

Eu tenho 6 gráficos abertos e o mesmo indicador está em todos os seis gráficos.

Se um gráfico recebe um tick, ele é atualizado, mas os outros gráficos não o fazem, então eles estão "empatados".

Obrigado.

 
:: se for adequado, então tente formar em um EA, lá você pode fazer loop & usar a função sleep, eu tentei várias configurações simples para ter apenas processos/cálculos não relacionados a ticks, mas então você tem o problema da tela de atualização ... então ... Eu mudei tudo de volta ao normal ... a importância de fazê-lo não foi tão grande ... talvez na MQL5 chegando

:: os indicadores não conseguem lidar com a função sono()

:: você pode escrever uma dll, buscar todas as janelas em seu terminal... e depois fazer/enviar uma "refresh screen/window" para cada janela infantil. Mas então você tem que enviar um arquivo dll junto com seu indicador para outros ... novamente ... tornando-o complicado ...

TheRumpledOne:
Existe uma maneira de forçar o programa a calcular?

Agora mesmo, ele espera pelo próximo tick.

Eu tenho 6 gráficos abertos e o mesmo indicador está em todos os seis gráficos.

Se um gráfico recebe um tick, ele é atualizado, mas os outros gráficos não o fazem, então eles estão "empatados".

Obrigado.
 

Olá,

Espero que você não se importe comigo aqui, estou olhando para uma situação semelhante e tenho uma dúvida sobre o assunto... e se você codificar um loop no final de seu programa que diga "se nenhuma ordem estiver aberta novamente". e deixá-lo loop talvez 3 ou 4 vezes.

Se ele fizer isso, então qualquer ordem não atendida (o que acontece com bastante freqüência) certamente deverá ser atendida. ou há algo errado com meu pensamento.

Acho que pareceria algo assim...

for (int k = OrdersTotal() ==0; k >=2; k++)

{

se ( ! OrderSelect ( k, SELECT_BY_POS, MODE_TRADES ))continuar;

se (k > 2) quebrar;

}

retorno(0);

}

Ainda sou novo nisto, portanto, se não faz sentido, por favor me explique o motivo.

 

Para Lux, ajk, Raygun, Devil2000, IN10TION

Obrigado pelas dicas.

Vou experimentá-las e espero encontrar a resposta.

Publicarei mais tarde.

Grande Seja

 
amatrader:
Olá,

Espero que você não se importe comigo aqui, estou olhando para uma situação semelhante e tenho uma dúvida sobre o assunto... e se você codificar um loop no final de seu programa que diga "se nenhuma ordem estiver aberta novamente". e deixá-lo loop talvez 3 ou 4 vezes.

Se ele fizer isso, então qualquer ordem não atendida (o que acontece com bastante freqüência) certamente deverá ser atendida. ou há algo errado com meu pensamento.

Acho que pareceria algo assim...

Ainda sou novo nisto, portanto, se não faz sentido, por favor me explique o motivo.

Ei, isso é uma boa idéia!

Eu poderia verificar o tempo e se X segundos ou minutos se esgotaram, então saia do laço.

OBRIGADO!!

P.S. Isto não foi para um EA. Eu não codifico EAs.

 
:: não funcionará com indicadores como esse, mesmo se você fizer um loop 1.000.000 vezes, ele empatará tudo o resto, nada mais do que esse loop será processado, quando o loop estiver terminado então seu terminal continuará seus processos normais antes de um novo tick.

:: nesse loop de 1.000.000 é inútil verificar/controlar outra coisa, é por isso que a função do sono() não funciona.

TheRumpledOne:
Ei, isso é uma boa idéia!

Eu poderia verificar o tempo e se passaram X segundos ou minutos então sair do laço.

OBRIGADO!!

P.S. Isto não foi para uma EA. Eu não codifico EAs.