Por que não colocar os parâmetros de entrada na estrutura? - página 5

 

Portanto, você ainda precisa de variáveis de entrada reais!

Parâmetros

nome

[em] O identificador da variável deentrada ou sinput. Estas variáveis são parâmetros externos ao programa cujos valores podem ser definidos na inicialização.

 
Alexey Volchanskiy:

Estou perdendo a cabeça, ainda não estou sendo ouvido. Você também pode usar .mqh, que diferença faz emcomo passá-los para a classe do algoritmo?


Aqui está um exemplo.

Arquivos anexados:
test.zip  8 kb
 
Alexey Volchanskiy:

Então você precisa de variáveis de entrada reais de qualquer maneira!

Ninguém está impedindo que você os escreva na fonte.

 
fxsaber:

Ninguém os está impedindo de prescrevê-los na fonte.


Um conto de um touro branco )) Como passá-los para a classe de algoritmos no comércio normal?

 
Alexey Volchanskiy:

Um conto de um touro branco )) Como passá-los para uma classe de algoritmos em comércio regular?

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

E por que não colocar os parâmetros de entrada na estrutura?

fxsaber, 2017.10.02 20:15

// Begin: mqh-файл
class CLASS_EXPERT
{
public:  
  template <typename T>
  void Set( void );
};
// End: mqh-файл

input int inNum = 0;

struct INPUTS
{
  const int Num;
  
  INPUTS( void ) : Num(inNum)
  {
  }
};

CLASS_EXPERT Experts[10];

void OnInit()
{
  for (int i = ArraySize(Experts) - 1; i >= 0; i--)
    Experts[i].Set<INPUTS>();
}
 
fxsaber:

Você pode me mostrar um exemplo de conveniência? Eu não consigo entender do que você está falando.


Eis um exemplo, a partir da primeira página.

struct VolumeParams                              
{
    double lot;         //Лоты
    double LotRatio;    //Множитель
    int tp;             //ТП
    int sl;             //СЛ
    int orders;         //Количество ордеров
};
VolumeParams ParamBuf[5];

input ParamBuf[0];         // Шаг 1
input ParamBuf[1];         // Шаг 2
input ParamBuf[2];         // Шаг 3
input ParamBuf[3];         // Шаг 4
input ParamBuf[4];         // Шаг 5

mais minha citação.

...aqui o cliente quer 10 entradas, e cada passo tem seu próprio tp/slot/lot/trall/sinal para entrada

Portanto, para escrever toda aquela pilha de parâmetros, será suficiente definir a estrutura e colocá-la nos parâmetros de entrada.

Com este projeto, é fácil para o programador inicializar um conjunto de estruturas de parâmetros de entrada e depois trabalhar com ele.

Expandir todos esses parâmetros em variáveis separadas e tentar trabalhar com eles.

 
Taras Slobodyanik:

aqui está um exemplo, a partir da primeira página

Ao lançar um TS, muitas vezes acontece que você não sabe quais parâmetros de entrada são melhores para escolher. Assim, você administra um Expert Advisor que tem, por exemplo, uma dúzia de conjuntos de parâmetros de entrada diferentes. E cada conjunto para cada cópia do TS. Muitas pessoas têm feito isto há muito tempo, quando a MQL4 ainda estava muito longe da MQL5.

E o fizeram através de uma cadeia externa - agora é chamada de cadeia de entrada.

input string Parameters = "1, 2, 3.5, 8, 9l";

Eles analisaram as cordas de entrada, verificaram quantas linhas de entrada havia e usaram este número para criar o mesmo número de lógica comercial com parâmetros de entrada apropriados (usando o ArrayResize). E tudo isso sobre a antiga MQL4! E lá, o MM foi distribuído para cada TS de acordo com o número de TCs e outras nuances. Em algum lugar nas antigas bases de código deveria haver exemplos.

 

sim, mas não é possível otimizar desta forma

1

 
Taras Slobodyanik:
sim, mas não é assim que a otimização é possível

Você está inventando problemas hipotéticos que não têm nada a ver com a realidade. Se a otimização for necessária, ela é feita de forma elementar. Observe a palavra em destaque. Não há nenhum obstáculo técnico. Se você não consegue organizar a Otimização neste caso, então você precisa tanto dela.

Há muitas técnicas práticas para resolver esta ou aquela necessidade. Mas eles estão longe de serem problemas hipotéticos.

 
fxsaber:

Você está inventando problemas hipotéticos que não têm nada a ver com a realidade. Se a otimização for necessária, ela é feita de forma elementar. Observe a palavra em destaque. Não há nenhum obstáculo técnico. Se você não consegue organizar a Otimização neste caso, então você precisa tanto dela.

Há muitas técnicas práticas para resolver esta ou aquela necessidade. Mas eles estão longe de serem problemas hipotéticos.

o tema não é sobre otimização)
Por que não colocar os parâmetros de entrada na estrutura?