Ajuda na codificação - página 676

 

Oi, amigos,

Eu tento fazer uma EA que compra quando dois indicadores indicam (ambos têm que fazê-lo), e vende quando os mesmos indicadores indicam. Se um dos dois indicadores mudar e uma ordem estiver aberta, a ordem deve ser fechada.
Eu tentei isto, mas não entendi:

#define _doNothing 0
#define _doBuy     1
#define _doSell    2
int start()
{
   int doWhat = _doNothing;
      double hull_trend_current  = iCustom(NULL,0,"StepMA of rsi adaptive ema 2.8",PERIOD_CURRENT,RsiType,RsiLength,RsiPrice,Sensitivity,StepSize,Filter,FilterPeriod,FilterOn,10,BarToUse);
      double hull_trend_previous = iCustom(NULL,0,"StepMA of rsi adaptive ema 2.8",PERIOD_CURRENT,RsiType,RsiLength,RsiPrice,Sensitivity,StepSize,Filter,FilterPeriod,FilterOn,10,BarToUse+1);
      double hull_trend_current2  = iCustom(NULL,0,"step one more average 2.3 mtf",PERIOD_CURRENT,11,BarToUse);
      double hull_trend_previous2 = iCustom(NULL,0,"step one more average 2.3 mtf",PERIOD_CURRENT,11,BarToUse+1);
      if (hull_trend_current!=hull_trend_previous && hull_trend_current2!=hull_trend_previous2)
         if (hull_trend_current==1 && hull_trend_current2==1)
               doWhat = _doBuy;
         else  doWhat = _doSell;
         if (doWhat==_doNothing && !DisplayInfo) return(0);
         

Isto só abre ordens quando ambos os indicadores fazem a mesma mudança na mesma barra.

 
simon_json:

Oi, amigos,

Tento fazer um EA que compra quando dois indicadores indicam (ambos têm que fazê-lo), e vende quando os mesmos indicadores indicam. Se um dos dois indicadores muda e um pedido está aberto, o pedido deve ser fechado.
Eu tentei isso, mas não entendi:

Isto só abre ordens quando ambos os indicadores fazem a mesma mudança na mesma barra.

A maneira como você está verificando quando uma das condições é verdadeira, então você tem um by ou vende (não quando ambas as condições são verdadeiras). É isso que você queria?
 

Hi;

Alguém pode ajudar com o indi de auto-fibras anexo? Quero ser capaz de adicionar ou apagar os níveis de fibrilação. Tentei brincar com o código, mas não importa o que eu faça, ele mostrará apenas os níveis padrão originais. Agradeço qualquer ajuda.

Obrigado

Arquivos anexados:
Fibos.mq4  5 kb
 
speedytina:

Hi;

Alguém pode ajudar com o indi de auto-fibras anexo? Quero ser capaz de adicionar ou apagar os níveis de fibrilação. Tentei brincar com o código, mas não importa o que eu faça, ele mostrará apenas os níveis padrão originais. Agradeço qualquer ajuda.

Obrigado

Postar a tentativa quando você tentou adicionar níveis para que possamos ajudá-lo com a codificação
 
mladen:
A maneira como você está verificando quando uma das condições é verdadeira, então você tem um by ou vende (não quando ambas as condições são verdadeiras). É isso que você queria?

Obrigado pela resposta!
Quero comprar quando ambos os indicadores indicarem (digamos que ambos são verdes). Se alguém ficar vermelho (vender), a EA deve sair da compra. Se o mesmo indicador ficar verde novamente (então ambos estão verdes), a EA deve comprar novamente. E o mesmo para os pedidos de venda;

Quero vender quando ambos os indicadores indicam (digamos que ambos estão vermelhos). Se alguém ficar verde (comprar), a EA deve sair de vender. Se o mesmo indicador ficar vermelho novamente (então ambos são verdes), a EA deve vender novamente.

Assim, eles são como que filtrados um ao outro.

 
simon_json:

Obrigado pela resposta!
Quero comprar quando ambos os indicadores indicarem (digamos que ambos são verdes). Se alguém ficar vermelho (vender), a EA deve sair da compra. Se o mesmo indicador ficar verde novamente (então ambos são verdes) a EA deve comprar novamente. E o mesmo para os pedidos de venda;

Quero vender quando ambos os indicadores indicarem (digamos que ambos são vermelhos). Se um deles ficar verde (comprar), a EA deve sair de vender. Se o mesmo indicador ficar vermelho novamente (portanto, ambos são verdes), a EA deve vender novamente.

Assim, eles são como que filtrados um ao outro.

simon

Como posso observar, não feche o comércio em um indicador de sinais opostos, pode ser um sinal falso/curto, fechar em alguma outra coisa ou quando todos os dois se voltam para o oposto ou por limite de lucro.... por último feche uma porção (digamos 50%) desse comércio se você quiser usar seu primeiro método.

 
mladen:
Postar a tentativa quando você tentou adicionar níveis para que possamos ajudá-lo com a codificação

Obrigado mladen.

Estou tentando adicionar o nível de fibrilação 0,764.

Mudei as linhas de código 71 e 88 de nível de fibras 1.618 para 0.764. Ele compilou ok. Entretanto, quando carrego o indi revisado para um gráfico, ele continua mostrando o nível 1.618, mesmo que dentro não esteja mais no código. O nível 0,764 não mostra mesmo que esteja agora no código, ao invés de 1,618.

Eu também tentei adicionar uma linha adicional de código além dos 5 níveis padrão. Isso também não funcionou. Em vez de linhas de código "f_1[i] a f_7[i]", aumentei para "f_1[i] a f_8[i]".

Obrigado por qualquer ajuda

 
speedytina:

Obrigado mladen.

Estou tentando adicionar o nível de fibrilação 0,764.

Mudei as linhas de código 71 e 88 de nível de fibras 1.618 para 0.764. Ele compilou ok. Entretanto, quando carrego o indi revisado para um gráfico, ele continua mostrando o nível 1.618, mesmo que dentro não esteja mais no código. O nível 0,764 não mostra mesmo que esteja agora no código, ao invés de 1,618.

Eu também tentei adicionar uma linha adicional de código além dos 5 níveis padrão. Isso também não funcionou. Em vez de linhas de código "f_1[i] a f_7[i]", aumentei para "f_1[i] a f_8[i]".

Obrigado por qualquer ajuda

Esse indicador está usando amortecedores apenas como uma espécie de distração. Ele cria um objeto "fibo" e então, no objeto, os níveis devem ser tratados de forma diferente. Use os

Arquivos anexados:
Fibos.mq4  6 kb
 
mntiwana:

simon

Como posso observar, não feche o comércio em um indicador de sinais opostos, pode ser um sinal falso/curto, fechar em alguma outra coisa ou quando todos os dois se voltam para o oposto ou por limite de lucro .... por último feche uma porção (digamos 50%) desse comércio se você quiser usar seu primeiro método.

Obrigado por sugestões! Sim, soa bem. Acho que posso codificar algumas das sugestões por conta própria se eu conseguir ajuda para o início :)
 
simon_json:
Obrigado pelas sugestões! Sim, soa bem. Acho que posso codificar algumas das sugestões por conta própria se eu conseguir ajuda para o início :)

Eu acho que MLADEN e stevenpun estão ajudando você a cronometrar o tempo e você está fazendo isso perfeitamente, embora devagar :)

graças a ambos.