Ajuda na codificação - página 485

 
NWFstudent:
Digamos que você está negociando o gráfico de 1 hora e você usa um indicador mtf que exibe o gráfico de 4 horas, então eu quero que a configuração seja usada na próxima vez.

ou seja, estou negociando o gráfico de 1hr e o indicador está usando dados de 4hr, quando eu troco meu período de tempo para 4hr eu quero que o indicador troque para o período acima de 4hr, então agora ele vai usar os dados diários.

Encontrei este tópico, mas como não tenho certeza de onde colar para codificar ou se ele precisa de alguma modificação para o indicador real.

Próximo prazo - Fórum MQL4

O indicador ao qual quero acrescentar isto é "Traders Dynamic_Cb_ssa norm Index_alerts+arrows new 1.01" dos fóruns de elite

NWFstudent

Você pode ver neste aqui como você pode fazer isso de uma maneira simples : https://www.mql5.com/en/forum/181187/page24 (incluindo até a escolha automática do terceiro período de tempo superior)

 

Oi mladen.

Última vez por um tempo....I prometo.

Como você já deve saber, eu sou um forte fã do indicador ADX.

Eu o uso de várias maneiras e nunca entro em uma troca contra ele.

Eu também gosto do princípio do indicador de três patos

e tentaram combinar os dois, mas sem qualquer alegria.

Vou tentar mais uma vez e depois tentar outra coisa:

O indicador anexo, até onde posso ver, tem apenas uma área onde um indicador é mencionado - Linhas 54,57,60.

Tudo o resto parece estar relacionado ao cronograma.

Eu tentei remover todas as menções de 'sma & SMA' - & para adx & ADX, no seu lugar, mas sem sorte.

Será possível, & se sim (sem ocupar muito do seu tempo.), me informaria como.

Tenha um ótimo w/end.

Arquivos anexados:
 
Jeeves:
Oi mladen.

Última vez por um tempo....I prometo.

Como você já deve saber, eu sou um forte fã do indicador ADX.

Eu o uso de várias maneiras e nunca entro em uma troca contra ele.

Eu também gosto do princípio do indicador de três patos

e tentaram combinar os dois, mas sem qualquer alegria.

Vou tentar mais uma vez e depois tentar outra coisa:

O indicador anexo, até onde posso ver, tem apenas uma área onde um indicador é mencionado - Linhas 54,57,60.

Tudo o resto parece estar relacionado ao cronograma.

Eu tentei remover todas as menções de 'sma & SMA' - & para adx & ADX, no seu lugar, mas sem sorte.

Será possível, & se sim (sem ocupar muito do seu tempo.), me informaria como.

Tenha um ótimo w/end.

Jeeves

Você não pode usar adx em vez de sma nesse indicador. Os valores adx estão em uma faixa de valores completamente diferente e não podem ser comparados ao Bid como esse indicador está fazendo no código

 
mladen:
NWFstudent Você pode ver neste aqui como você pode fazer isso de uma maneira simples : https://www.mql5.com/en/forum/181187/page24 (incluindo até a escolha automática do terceiro período de tempo mais alto)

Obrigado, foi uma pasta de cópia direta

 

Prezado(a),

alguém pode me ajudar.

o que aconteceu com este " bilhete inválido para a função OrderModify".

Mas em outros pode trocá-lo.

lotes duplos externos = 0,1;

extern double stopsize = 200;

tamanho externo duplo profsize = 100;

duplo risco externo = 0,01;

int err;

int ticket;

dupla parada;

duplo perfil;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

int TotalOrders = 0;

para (int i=0; i <= EncomendasTotal(); i++)

{

se (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

se (OrderSymbol() == Symbol())

TotalOrdens++;

}

se (TotalOrdens<1)

{

ticket=OrderSend(Symbol(), OP_SELL, getLots(Risk), Bid, 3, 0, 0, NULL,LimeGreen);

stop=(Bid+stopsize*Point);

prof=(Bid-profsize*Point);

OrderModify( bilhete, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

Comentário(" ");

}

 
hock87:
Prezado(a),

alguém pode me ajudar.

o que aconteceu com este " bilhete inválido para a função OrderModify".

Mas em outros pode trocá-lo.

Isso significa que seu pedido não foi aceito / executado e que a função OrderSend() retornou -1 como resultado. Verifique sempre se esse número de bilhete é > -1 antes de tentar modificar uma ordem recém-criada.

 

Algum exemplo de uso de arquivos simples (não de arquivos de histórico)?

 
mladen:
xtractophaW terá que testá-lo para ver o que está acontecendo. Se eu encontrar qual é o problema, vou colocá-lo aqui

Prezado Mladen,

Você tem alguma atualização sobre meu pedido?

Aproveite seu fim de semana

Obrigado de antemão,

Thierry

 
xtractalpha:
Prezado Mladen,

Você tem alguma atualização sobre meu pedido?

Aproveite seu fim de semana

Obrigado de antemão,

Thierry

Thierry

Apague as linhas 74 e 137 de seu código (você está chamando a função LotsizeCalc() de ambas as linhas e dessa forma você está empurrando artificialmente o tamanho do lote para cima em cada tick)

Depois de deletar essas linhas, deve funcionar bem

 
mladen:
Thierry

Apague as linhas 74 e 137 de seu código (você está chamando a função LotsizeCalc() de ambas as linhas e dessa forma você está empurrando artificialmente o tamanho do lote para cima em cada tick)

Depois de deletar essas linhas, deve funcionar bem

Obrigado por sua resposta rápida!

Eu apaguei as linhas, mas a EA ainda está abrindo negócios com os lotes errados.

É realmente estranho porque a EA está ignorando meu código Martingale. Porque a EA só está abrindo negócios com lotes de 0,10 ou 0,20.... (veja a foto).

Tela tirada por Lightshot

Acho que minha função lotizecalc tem que ser o problema. Quero que a função multiplique minha loteria pela quantidade de martingale quando eu perder uma troca.

Minha quantidade de martingaleamount é 1,5 e meu tamanho de lote é 0,10 . Isto significa que quando eu perder 5 trocas consecutivas, os lotes serão: 0,1 , 0,15 , 0,22 , 0,34 , 0,51 .

double LotsizeCalc() { if(lastOrderProfit()<0 && tradeNumber <=MaximumTrades) { tradeNumber++; malot=OrderLots()*MartingaleAmount; } else { malot = LotSize; tradeNumber=1; } return(malot); }

Alguém poderia verificar este código?

Agradecemos antecipadamente,

Thierry

Razão: