Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1912

 
Alekseu Fedotov #:

Não vejo aqui nenhum erro.

PERIOD_CURRENT é 0 - a constante mágica

Deve ser pelo menos _Periodo (o período do gráfico atual) e nem sempre é 0

 
Alekseu Fedotov #:

Não vejo aqui nenhum erro.

Onde este pedaço de código é levado, há também um parâmetro de entrada

sinput ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Период

De forma correspondente, obtemos a condição se 0 não for igual a 0.

Mas se substituirmos PERIOD_CURRENT por qualquer outro período no parâmetro de entrada, a condição se manterá independentemente do período do gráfico. Qual é, então, o objetivo desta condição?

 
Alexey Viktorov #:

Onde este pedaço de código é levado, há também um parâmetro de entrada

De forma correspondente, obtemos a condição se 0 não for igual a 0

Mas se substituirmos PERIOD_CURRENT por qualquer outro período no parâmetro de entrada, a condição se manterá independentemente do período do gráfico. Então, qual é o objetivo desta condição?

Faz sentido apenas uma vez, para que a função ChartSetSymbolPeriod() não o incomode muito;

 
Alekseu Fedotov #:

O ponto é apenas um, para que a função ChartSetSymbolPeriod() não seja puxada desnecessariamente;

Em princípio, sim. Mas a questão era sobre a presença de erros, não sobre a conveniência desta condição.

 

Boa tarde, caros desenvolvedores!

Estou diante da necessidade de agrupar as ordens para trabalhar com cada grupo separadamente (fechamento, recarga, etc.). Acho que a tarefa não é muito difícil, mas não tenho a menor idéia de como resolvê-la. Tenho uma idéia muito pouco clara, só isso. Ninguém enfrentou tal problema? O agrupamento pode ser feito de qualquer forma( terminalglobal devariáveis, comentários, etc.). Eu ficaria grato por qualquer ajuda.

 
AMarkov ( terminalglobal devariáveis, comentários, etc.). Eu ficaria grato por qualquer ajuda.

Por que você não quer usar Magik? Porque pode haver mais de um mágico em uma EA.

 
Magik
Alexey Viktorov #:

Por que um mágico não é adequado? Afinal de contas, pode haver mais de um mágico em um conselheiro.

A Magik também é adequada. Presumo que todas estas opções terão quase o mesmo algoritmo. Portanto, isso não importa. O principal é encontrar a solução).

 
AMarkov #:
Magik

A Magik também é adequada. Presumo que todas estas opções terão quase o mesmo algoritmo. Então é tudo a mesma coisa. O principal é encontrar uma solução).

É claro que a solução é a mesma. Determinar o critério pelo qual a ordem pertence a este ou aquele grupo e identificá-lo de acordo com esse critério...
 
Alexey Viktorov #:
É claro que a solução é a mesma. Você define o critério segundo o qual a ordem pertence a este ou aquele grupo e o identifica de acordo com este critério...

Obrigado por sua participação. A declaração de missão é clara para mim. Estou preso com a implementação...

Experimentei-o com os comentários. Até o segundo grupo, ele numera corretamente. No terceiro, retorna um para o comentário, embora o primeiro grupo ainda esteja no mercado. A idéia não é multiplicar os números, mas pegar os que estão vagos. Espero ter explicado isso claramente).

for(int a=1; a<10; a++)

{

comment=";

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

{

if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)

{

//Print(OrderComment();

if(OrderComment()==IntegerToString(a)) continua;

senão

{

comment=IntegerToString(a);

pausa;

}

}

}

}

if(comment!="") break;

}

if(CountOfBuy(magic)<1 && CountOfSell(magic)<1) comment="1";

 
Anatoliy Markov #:

Obrigado por sua participação. A declaração de missão é clara para mim. Estou preso com a implementação...

Experimentei-o com os comentários. Até o segundo grupo, ele numera corretamente. No terceiro, retorna um para o comentário, embora o primeiro grupo ainda esteja no mercado. A idéia não é multiplicar os números, mas pegar os que estão vagos. Espero ter explicado isso claramente).

Não muito claro, mas ainda assim use o botão para inserir o código


ou ALT+s

Razão: