Questões básicas ...

 

Hi

Eu quero fazer o seguinte em código

"Não troco por 30 minutos desde minha última troca".

Portanto, se meus indicadores indicam que eu deveria acrescentar novamente ao meu comércio atual, então eu coloco o comércio na mesma direção somente se 30minutos tiverem passado

Estou fazendo o seguinte - este código funciona ainda - está apenas em fase de projeto - não sei como adicionar 30 minutos ao meu último pedido

Isto é para um EA que só trabalha com o par atual

int start()

{

int cnt, ticket, total, stop1;

data/hora estática última vez

total=OrdensTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//Determinar o tempo do último OrderClose

se (OrderCloseTime > última vez + 30)

{

última vez = hora de fechamento do pedido

}// se (OrderCloseTime)

}

Agora eu quero dizer

se (Curtime() > última hora + 30 minutos)

{

Negociação de contíguos

}

ajuda

 

Acho que isso parece bem, mas na verificação para o OrderCloseTime,

Não vejo porque você precisa dos 30 minutos extras.

Se o mais recente OrderCloseTime é mais recente que o anterior, então deve ser a última vez.

 

se (Curtime() > última vez + 30*60)

 

Pergunta básica ...

Hi,

Sou novo no MetaTrader e tenho uma pergunta básica:

Quero limitar as posições abertas no meu consultor especializado a apenas 1 posição de cada vez - mas quero essa limitação por símbolo, portanto, se eu tiver outro consultor especializado em outro símbolo, ele abrirá uma nova posição nesse símbolo.

Em outras palavras, quero poder abrir 1 posição para todos os símbolos, mas não mais que 1 posição para um símbolo (E estou falando de muitos conselheiros-especialistas em muitos símbolos...)

Como posso fazer isso ?

Eu vi a função"totaltrades", mas pela documentação entendi que esta função se aplica à conta e não ao símbolo atual,

então "se totaltrades=1 então saia;" causará 1 posição de cada vez para todos os símbolos...

10X !

 

1 posição para todos os símbolos

int total=OrdersTotal();

if(total<1)

{

.

.

.

}

 

Mas uma posição para um símbolo ou para um gráfico aberto?

 

bem, um por gráfico é o melhor ...

Mas se não pode ser feito, então 1 por símbolo também é bom...

 

1 por símbolo

...

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() )

return(0);

....
 

Ótimo!

10X muito!

 

E eu vou te incomodar novamente ... (:

Posso fazer isso também por tabela?

Porque eu tenho diferentes sistemas para diferentes gráficos de intervalos de tempo ...

 

desculpe-me por não entender