[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 967

 
ikatsko:
Você precisa de uma função "Nova Ordem" como "Nova Barra". A função deve ter valor VERDADEIRO apenas por um tick após o momento em que o pedido foi aberto. Isto é, no momento em que o número de pedidos abertos mudou para o lado superior. Por favor, ajude-nos a

É assim que você pode acompanhar as mudanças do revendedor no StopLevel a cada novo tick. Use o mesmo princípio para rastrear seus pedidos.

В инит:
//---------------------------------------------------
int init()
{
   Level_old =MarketInfo(Symbol(), MODE_STOPLEVEL);
//.............. дальнейший код инит .................
   return;
}
//---------------------------------------------------
В старт:
//---------------------------------------------------
int start()
{
   Level_new=MarketInfo(Symbol(),MODE_STOPLEVEL );    // Последнее значение уровня установки стопов
   if (Level_old!=Level_new)  {                       // Новое не равно старому, значит изменились условия
      Level_old=Level_new;                            // Новое запишем в "старое" для проверки на след. тике
// ............. действия, если новый уровень .......

   }
//.............. дальнейший код старт.................
   return;
}
 
IgorM:


existe esse problema - eu também tive esse problema, se o Expert Advisor fizer muitas negociações por ano - talvez muitos dados sejam armazenados para a saída do resultado final ou talvez os tampões indicadores comam a memória

eu tenho visto - não sei, paciência - para um quadro geral, o teste é para 10 anos, e é melhor otimizar por um ano e depois fazer uma seleção dos melhores parâmetros

E sobre a memória. A memória de 4 GB não é suficiente? Especialmente ao testar a estratégia - eu procurei - ela é usada apenas 50-60%.
 
volshebnik:
E sobre a memória. 4GB de memória não é suficiente? Especialmente ao testar a estratégia - eu procurei - ela é usada apenas 50-60%.
Entendo que o código mostrado anteriormente é uma parte dele, talvez haja pontos lentos na outra parte também
 
volshebnik:
E sobre a memória. 4 GB de memória não são suficientes? Além disso, ao testar a estratégia - eu procurei - ela é usada apenas 50-60%.


bem, não sabemos quanto o MT4 pode usar, e 4Gb não pode ser endereçado em Win32, você precisa de Win64, e para Win64 você precisa de aplicações de 64 bits, o MT5 tem um terminal de 64 bits, o MT4 nem sequer está ciente disso

SZZ: não otimize demais - você terá confiança extra em seu código. e não é certo que o mercado queira se ajustar a seus parâmetros ideais ;)

 
Entendi... Enganou-se na comparação do tipo real com valor zero.
 
artmedia70:

É assim que você pode acompanhar as mudanças do revendedor no StopLevel a cada novo tick. Use o mesmo princípio para rastrear seus pedidos.


Obrigado pela dica! De fato, as linhas:

 if (Level_old!=Level_new)  {                       // Новое не равно старому, значит изменились условия
      Level_old=Level_new;  

formar a "frente", ou seja, a mudança do estado atual em relação ao anterior. O parâmetro de_ordem_antiga é necessário. Obrigado

 
ikatsko:

Obrigado pela dica! De fato, as linhas:

formar a "frente", ou seja, a mudança do estado atual em relação ao anterior. O parâmetro de_ordem_antiga é necessário. Obrigado

De nada - também foi sugerido pela CK...
 
Techno:
Entendo que o código mostrado anteriormente é parte dele, talvez haja pontos lentos na outra parte também
Esta parte conta com carrapatos. Todos os outros cálculos estão apenas no início de cada vela de hora em hora. Foi muito lento na tabela e o loop incompleto mencionado por Igor. Talvez haja pontos lentos, há também um gráfico - os números dos castiçais são indicados - este gráfico é indesejável de ser removido - será mais difícil de analisar.
 
IgorM:


bem, não sabemos quanto o MT4 pode usar, e 4Gb não pode ser endereçado em Win32, você precisa de Win64, e para Win64 você precisa de aplicações de 64 bits, o MT5 tem um terminal de 64 bits, o MT4 nem sequer está ciente disso

ZS: não exagere na otimização - você terá confiança extra em seu código. e não tem certeza de que o mercado vai querer se ajustar a seus parâmetros ideais ;)

Sim, Igor, 32bit OS usa no máximo 3,14 GB. Estou executando Windows 7 de 64 bits. O terminal MT4 é uma aplicação de 32 bits, mas o Windows 7 de 64 bits tem a capacidade de suportar aplicações de 32 bits. Tranquilidade excessiva.... Tentando com tranquilidade ))
 

Por favor, informe:

transferimos os dados do TF mensal para o TF diário

ArrayCopySeries(TimeArray,MODE_TIME ,Symbol(),PERIOD_MN1); 

limit=Bars-counted_bars;

for(i=0,y=0;i<limit;i++)

if (Time[i]<TimeArray[y]) y++; 
{
        Month_P[i] = iMA(NULL, PERIOD_MN1, 3, 0, MODE_SMA, PRICE_TYPICAL, y+1);
}
Como comparamos os dados do gráfico do mês? Suponho que devemos tomar Month_P [i] e Month_P [i+N], onde N é o número de barras no período de tempo diário que é garantido para nos levar ao bar do mês anterior. E como determinar exatamente este número N?