Perguntas de um "boneco" - página 155

 
input string Periods = "1 2 3 56 78 67";
 
TheXpert:
Interessante. Mas gostaria de ser capaz de optimizar os períodos do testador.
 
gpwr:
Interessante. Mas gostaria de ser capaz de optimizar os períodos.
A optimização seria melhor feita em cada instrumento separadamente. Se for possível, é claro.
 
gpwr:
Interessante. Mas seria bom ser capaz de optimizar os períodos do testador.

Depois tem de escrever uma enumeração, com todas as opções possíveis.

Os enums podem ser comentados e os parâmetros mostrarão os comentários em vez do valor enumeral, como de costume.

enum ENUM_CUSTOM
{
 tf1_1_1,//1 1 1
 tf1_2_1,//1 2 1
 tf1_2_3,//1 2 3
 tf2_1_1,//2 1 1 
};

Para grandes números, o corpo pode ser preenchido de forma programática.

 
Urain:

Depois tem de escrever uma enumeração, com todas as possibilidades.

Nah, isso é desajeitado e grosseiro.

Podemos fazê-lo da mesma forma, com um fio e apenas o número da corrida como parâmetro separado. Poderíamos utilizar o número da corrida e a cadeia de optimização para obter os valores.

Mas, neste caso, a genética não funcionará correctamente.

 
TheXpert:
A optimização seria feita de forma mais apropriada em cada instrumento separadamente. Se for possível, é claro.
É compreensível. No testador escolherei apenas parâmetros com o mesmo índice (por exemplo, MAPer[0], Trig[0], MaxPrice[0],MinPrice[0]) e optimizarei apenas eles. Oh, os criadores deveriam ter decidido acrescentar esta funcionalidade. O compilador não teria achado muito difícil criar primeiro um array e depois escrever os dados de entrada nele. Qual é o problema aqui? Porque não são permitidos arrays como dados de entrada?
 
gpwr:
Isto é compreensível. No testador escolherei apenas parâmetros com o mesmo índice (por exemplo, MAPer[0], Trig[0], MaxPrice[0],MinPrice[0]) e optimizarei apenas eles. Oh, os criadores deveriam ter decidido acrescentar esta funcionalidade. O compilador não teria achado muito difícil criar primeiro um array e depois escrever os dados de entrada nele. Qual é o problema aqui? Porque não são permitidos arrays como dados de entrada?
O problema está no tamanho da pesquisa do testador.
 

Comecei a escrever o mesmo MACD baseado na fonte MACD mas baseado no LWMA (diferença entre o LWMA curto e longo e uma linha de sinal baseada na diferença).

Substituí-o por LinearWeightedMAOnBuffer, mas tem um parâmetro formal de pesos "extra". Compreendo certamente que é uma soma de pesos e compreendo o significado, mas como posso gerá-lo de forma programática?

Документация по MQL5: Основы языка / Переменные / Формальные параметры
Документация по MQL5: Основы языка / Переменные / Формальные параметры
  • www.mql5.com
Основы языка / Переменные / Формальные параметры - Документация по MQL5
 
progma137:

Comecei a escrever o mesmo MACD baseado na fonte MACD mas baseado no LWMA (diferença entre o LWMA curto e longo e uma linha de sinal baseada na diferença).

Substituí-o por LinearWeightedMAOnBuffer, mas tem um parâmetro formal de pesos "extra". Devo certamente compreender que é a soma de pesos e compreender o significado, mas como é que o posso gerar programticamente?

Não precisa de ser gerado. Basta criar uma variável para armazenamento intermédio deste peso, para que não tenha de recalcular o seu valor de cada vez que o chamar.

Desta forma, em cada chamada de pesos é modificado, não completamente recalculado, o que acelera muito os cálculos

 
stringo:

Não precisa de ser gerado. Basta criar uma variável para armazenamento intermédio deste peso, para que não tenha de recalcular os seus valores cada vez que a chamar.

Desta forma, na próxima chamada o peso é modificado, não completamente recalculado, o que acelera muito os cálculos

Obrigado. Funcionou. Declarei esta variável como uma variável global.