Pergunte! - página 155

 

ajuda para codificar SL e TP

Ei, pessoal,

Eu tenho um problema com uma ea que eu tento usar em uma ac viva com fxcm bt,

o problema é que eles não permitirão que o sl and tp seja colocado com a ordem do mercado,

Por isso, preciso conseguir um código para, de alguma forma, atrasar isto por alguns segundos,

qualquer ajuda sobre isso seria muito útil

obrigado com antecedência

Arquivos anexados:
 
mallet52:
Ei, pessoal,

Eu tenho um problema com uma ea que eu tento usar em uma ac viva com fxcm bt,

o problema é que eles não permitirão que o sl and tp seja colocado com a ordem do mercado,

Por isso, preciso conseguir um código para, de alguma forma, atrasar isto por alguns segundos,

qualquer ajuda sobre isso seria muito útil

obrigado antecipadamente

Você pode usar a função "dormir" entre cada pedido ou ordermodify's. Por exemplo, a função "dormir":

Sleep(5000);

Isto é um atraso de 5 segundos (o parâmetro de sono é em milissegundos).

Cumprimentos,

Marcel.

 

ADX e MACD CrossOver

Os membros seniores podem escrever um código para um cruzamento entre o MACD e o ADX em uma janela separada e, quando o fizer, colocar uma linha vertical pontilhada. Esperemos que, digamos, um verde na compra e um vermelho na venda. Além disso, um alerta sonoro quando o fizer.

Muito obrigado.

 

ajuda necessária para codificar o atraso para SL e TP

Ei, pessoal,

Ainda tenho dificuldade em conseguir que minha ea trabalhe com fxcm bt, eles me dizem que tenho um problema com a ea colocando sl ant tp ao mesmo tempo em que ela coloca em uma ordem de mercado,

Mladen gentilmente recodificou esta ea para que aceitasse o preço de 5 dígitos e agora este problema surgiu,

Seria ótimo se alguém pudesse codificar o atraso na ea que é necessário para mim, ou explicá-lo em grandes detalhes (pois não tenho conhecimento de como codificar) e eu mesmo tentarei, para não ter que continuar incomodando todos os outros.

obrigado com antecedência

e a todos aqueles que me ajudaram no passado

 

aqui está minha ea que eu esqueci de acrescentar no último post

Arquivos anexados:
 

...

A forma como deve ser codificado não é usar o atraso (o atraso não ajudará em casos como estes), mas separar a colocação de novos pedidos em duas partes
:1. Colocar pedidos sem parar de perder e/ou ter lucro

2

. Colocação de

stop loss e/ou obter lucro em etapa separada (quando e somente quando um pedido já tiver sido aceito)

__________________________________

Agora, a EA Phoenix está fazendo essa operação em 10 lugares separados e todos eles precisariam ser reescritos (ou a lógica da EA fazendo pedidos deveria ser reescrita a fim de poder controlar estritamente os erros potenciais, e assim por diante, e assim por diante...) Neste momento não tenho tempo para fazer a reescrita completa (seria necessário mais tempo para fazê-lo corretamente), portanto não posso prometer que farei isso .

com respeito a .

mladen

mallet52:
Ei, pessoal,

Ainda tenho dificuldade em conseguir que minha ea trabalhe com fxcm bt, eles me dizem que tenho um problema com a ea colocando sl ant tp ao mesmo tempo em que ela coloca em uma ordem de mercado,

Mladen gentilmente recodificou esta ea para que aceitasse o preço de 5 dígitos e agora este problema surgiu,

Seria ótimo se alguém pudesse codificar o atraso na ea que é necessário para mim, ou explicá-lo em grandes detalhes (pois não tenho conhecimento de como codificar) e eu mesmo tentarei, para não ter que continuar incomodando todos os outros.

obrigado com antecedência

e a todos aqueles que me ajudaram no passado

 

Movimento original. Ave a ser colocado em janela separada

Eu tentei mudar a única linha de código original para a Média Móvel que vem com o MetaTrader 4 e colocá-lo em uma janela separada, mas quando eu faço isso não mostra todas as opções que eu gostaria de ter que vem com o código original, ou seja, como [ Ma método 'simples'] e aplicar para 'fechar' ou abrir etc...

O que eu estou fazendo de errado?

Muito obrigado.

 

...

Você não está fazendo nada de errado

Metatrader, por enquanto (vai ser alterado na versão 5) não permite essas entradas de parâmetros "descritivos" nos indicadores personalizados (portanto, os indicadores não incorporados).

newcoder:
Eu tentei mudar a única linha de código original para a Média Móvel que vem com o MetaTrader 4 e colocá-lo em uma janela separada, mas quando eu faço isso não mostra todas as opções que eu gostaria de ter que vem com o código original, ou seja, como [ Ma método 'simples'] e aplicar para 'fechar' ou abrir etc...

O que estou fazendo de errado?

Muito obrigado.
 

Agradecimentos rápidos para mladen

Obrigada por me ajudar, sua ajuda é muito aprumada,

Eu tentei enviar-lhe uma pm mas não posso, por alguma razão

de qualquer forma, obrigado mais uma vez

 

Freqüência de Alerta deIndicadores Personalizados

Sou novo no mq4 e estou tentando criar uma exibição na tela quando há um crossover para meus MACDs personalizados. Abaixo está meu código, mas os alertas continuam aparecendo a cada poucos minutos.

Como posso codificá-lo para exibir os alertas apenas uma vez a cada hora? Ou um alerta por barra?

//--------------------------

int start()

{

Cordel MACD1="";

color colt9;

duplo MACDM_S10 = iCustom(NULL, PERÍODO_H1, "MACD", 8,17,9, MODE_MAIN, 0);

duplo MACDS_S10 = iCustom(NULL, PERÍODO_H1, "MACD", 8,17,9, MODE_SIGNAL,0);

duplo MACDM_S11 = iCustom(NULL, PERÍODO_H1, "MACD", 8,17,9, MODE_MAIN, 1);

duplo MACDS_S11 = iCustom(NULL, PERÍODO_H1, "MACD", 8,17,9, MODE_SIGNAL,1);

if ((MACDM_S11 < MACDS_S11 && MACDM_S10 < MACDS_S10)) { MACD1="IN UPTREND"; colt9=LimeGreen; }

if ((MACDM_S11 > MACDS_S11 && MACDM_S10 > MACDS_S10)) { MACD1="IN DOWNTREND"; colt9=Red; }

if ((MACDM_S11 > MACDS_S11 && MACDM_S10 < MACDS_S10)) { MACD1="NEW UP CROSSING"; colt9=LimeGreen; }

if ((MACDM_S11 MACDS_S10)) { MACD1="NEW DOWN CROSSING"; colt9=Red; }

MACD2="";

color colt14;

duplo MACDM_L10 = iCustom(NULL, PERÍODO_H1, "MACD", 12,26,9, MODE_MAIN, 0);

duplo MACDS_L10 = iCustom(NULL, PERÍODO_H1, "MACD", 12,26,9, MODE_SIGNAL,0);

duplo MACDM_L11 = iCustom(NULL, PERÍODO_H1, "MACD", 12,26,9, MODE_MAIN, 1);

duplo MACDS_L11 = iCustom(NULL, PERÍODO_H1, "MACD", 12,26,9, MODE_SIGNAL,1);

if ((MACDM_L11 < MACDS_L11 && MACDM_L10 < MACDS_L10)) { MACD2="IN UPTREND"; colt14=LimeGreen; }

if ((MACDM_L11 > MACDS_L11 && MACDM_L10 > MACDS_L10)) { MACD2="IN DOWNTREND"; colt14=Red; }

if ((MACDM_L11 > MACDS_L11 && MACDM_L10 < MACDS_L10)) { MACD2="NEW UP CROSSING"; colt14=LimeGreen; }

if ((MACDM_L11 MACDS_L10)) { MACD2="NEW DOWN CROSSING"; colt14=Red; }

if(MACD1=="NEW UP CROSSING"&&MACD2=="IN UPTREND")

Alert(Symbol()," - ", "H1:"," MACD MAIN UPTREND MOVEMENT"," em ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

if(MACD1=="NEW DOWN CROSSING"&&MACD2=="IN DOWNTREND")

Alert(Symbol()," - ", "H1:"," MACD MAIN DOWNTREND MOVEMENT"," em ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

if(MACD2=="NEW UP CROSSING"&&MACD1=="IN UPTREND")

Alert(Symbol()," - ", "H1:"," MACD, MAIN TREND CHANGE TO UPTREND"," em ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

if(MACD2=="NEW DOWN CROSSING"&&MACD1=="IN DOWNTREND")

Alert(Symbol()," - ", "H1:"," MACD, MAIN TREND CHANGE TO DOWNTREND"," em ", Bid, " - ",TimeToStr(CurTime(),TIME_SECONDS));

return(0);

}

Razão: