为什么不把输入参数放在结构中? - 页 5

 

所以,你仍然需要真实的输入变量!

参数

名称

[in]输入或Sinput 变量的标识符。这些变量是程序的外部参数,其值可以在启动时设置。

 
Alexey Volchanskiy:

我正在失去理智,我仍然没有被听到。你也可以使用.mqh,如何将它们传递给算法类有 什么区别?


这里有一个例子。

附加的文件:
test.zip  8 kb
 
Alexey Volchanskiy:

因此,无论如何你都需要真正的输入变量!

没有人阻止你把它们写在源头。

 
fxsaber:

没有人阻止他们在源头上开处方。


一个白牛的故事 ))如何在正常交易中把它们传递给算法类?

 
Alexey Volchanskiy:

一个白牛的故事 ))如何在常规交易中把它们传递给一个算法类?

关于交易、自动交易系统和策略测试的论坛

而为什么不把输入参数放在结构中呢?

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:

你能给我看一个方便的例子吗?我搞不清楚你在说什么。


这里有一个例子,来自头版。

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

加上我的报价。

...这里的客户想要10个输入,每个步骤都有自己的tp/sl/lot/trall/信号来输入

因此,它适用于,要写所有那堆参数,只需定义结构并把它放在输入参数中。

通过这种设计,程序员很容易初始化一个 输入参数结构的数组,然后对其进行处理。

将所有这些参数扩展为独立的变量,并尝试用它们来工作。

 
Taras Slobodyanik:

下面是一个例子,来自第一页

在启动TS时,经常会发生不知道选择哪个输入参数比较好的情况。因此,你运行一个专家顾问,例如,有十几组不同的输入参数。而每一套都是针对每一份TS的。很多人在很久以前就已经这样做了,当时MQL4离MQL5还很远。

他们通过extern字符串做到了这一点--现在它被称为输入字符串。

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

他们解析了输入字符串,检查有多少输入行,并使用这个数字来创建相同数量的交易逻辑,并有适当的输入参数(使用ArrayResize)。而这一切都发生在古老的MQL4上!而在那里,根据TC的数量和其他细微差别,为每个TS分配了MM。在古代代码库的某个地方,应该有一些例子。

 

是的,但不可能以这种方式进行优化。

1

 
Taras Slobodyanik:
是的,但这并不是优化的可能方式

你在编造与现实毫无关系的假设性问题。如果需要 优化,则以初级的方式进行。注意突出显示的单词。没有任何技术障碍。如果你不能在这种情况下组织优化,那么你就非常需要 它。

有很多实用的技术来解决这个或那个需求。但这些问题远非假设性的。

 
fxsaber:

你在编造与现实毫无关系的假设性问题。如果需要 优化,则以初级的方式进行。注意突出显示的单词。没有任何技术障碍。如果你不能在这种情况下组织优化,那么你就非常需要 它。

有很多实用的技术来解决这个或那个需求。但这些问题远非假设性的。

该主题不是关于优化的)
为什么不把输入参数放在结构中?