来自一个 "傻瓜 "的问题 - 页 211

 
我很笨,但我想变得聪明,所以你能帮助我开始吗?
 
goldrail:
我很笨,但我想变得聪明,所以你能帮助我开始吗?
你必须从自给自足开始。例如,谷歌..."如何交易外汇"。
 
lordlev:

是否可以在MQL5中实现,如何实现?

1)从专家顾问表中保存正向和回测优化结果?也就是说,我想在优化过程中保存所有10 000个结果,而不是只保存一次运行历史。

2)从专家顾问那里改变优化设置。

3)通过1和2点,通过新的参数运行一个新的优化。

问题解决了。这可以用伟大的.bat和.ini工具来解决。 奇怪的是,它没有在MQL5中实现。
 
你能告诉我Metaeditor在哪里储存它的设置吗?而最重要的是,你如何将编辑的色彩方案从一个转移到另一个?
 
veti-k:
谢谢你))。
veti-k
嗨,帮助解决一个问题。

问题的实质是没有正确地划分价格!

这里有一个例子。1.2829 + 1.2814 / 2 = 1.9236,应该是1.2821。

以下是代码 SUM = High[i+1] + Low[i+1] / 2。

你能告诉我错误在哪里吗?
SUM =( High[i+1] + Low[i+1] )/2.0
 

在MQL5中是否有类似的OrderCloseBy函数?

https://docs.mql4.com/ru/trading/ordercloseby

也就是说,在逆转头寸时,是否可以像MQL4中那样,在价差上进行保存?

OrderCloseBy - Документация на MQL4
  • docs.mql4.com
OrderCloseBy - Документация на MQL4
 
solandr:

在MQL5中是否有类似的OrderCloseBy函数?

https://docs.mql4.com/ru/trading/ordercloseby

也就是说,在逆转头寸时,是否可以像MQL4中那样,在价差上进行保存?

在MT5上不需要这样做,因为柜台头寸是自动重叠的,不需要函数调用,类似于MT4的函数调用。
 

我想知道为什么PC内存中的地址需要被对齐(像_aligned_malloc() 这样的函数)? 根本原因是什么?我搞不清楚。各地都有一些回复,谁能把它送到我这里来?

 

我遇到了另一个我无法解决的问题。

我想获得过去几个月的最大和最小值。

我把数据放入MaxVal和MinVal数组。

CopyHigh(_Symbol, _Period, 0, ikolbar, MaxVal )。

CopyLow(_Symbol, _Period, 0, ikolbar, MinVal )。

在屏幕上打印。

for(iii=1; iii<ikolbar; iii++)
{
Print(MinVal[ikolbar - 1 - iii], ", MaxVal[ikolbar - 1 - iii])。

}

我在月度图上的测试器中广播,在日志中我得到...

上个月最后一天 的最高和最低价格:)

非常意外的结果。

如果有人能解释这是为什么,以及如何避免这种不可预测的结果,我将非常感激。

p.s. 这似乎与模式是 "只开价 "的事实有关。但为什么要影响对历史数据的搜索?

还有,如果我在较小的帧上用这种模式测试,是否能保证正确找到历史记录?

 
MegaVoin:

我遇到了另一个我无法解决的问题。

我想获得过去几个月的最大和最小值。

我把数据放入MaxVal和MinVal数组。

CopyHigh(_Symbol, _Period, 0, ikolbar, MaxVal )。

CopyLow(_Symbol, _Period, 0, ikolbar, MinVal )。

在屏幕上打印。

for(iii=1; iii<ikolbar; iii++)
{
Print(MinVal[ikolbar - 1 - iii], ", MaxVal[ikolbar - 1 - iii])。

}

我在月度图上的测试器中广播,在日志中我得到...

上个月最后一天 的最高和最低价格:)

非常意外的结果。

如果有人能解释这是为什么,以及如何避免这种不可预测的结果,我将非常感激。

p.s. 这似乎与模式是 "只开价 "的事实有关。但为什么要影响对历史数据的搜索?

还有,如果我在较小的框架上用这种模式测试,是否能保证正确找到历史记录?


使用SRC插入代码。像这样试试吧。

CopyHigh(_Symbol, PERIOD_MN1, 0, ikolbar, MaxVal );
CopyLow (_Symbol, PERIOD_MN1, 0, ikolbar, MinVal ); 

double max=0.0, min=0.0;
for (iii=1; iii<ikolbar; iii++)
{  max=MathMax(max, MaxVal[iii]);
   max=MathMin(min, MinVal[iii]);
}

Print(“MaxVal = “,DoubleToString(max,_Digits),”, MinVal = “,DoubleToString(min,_Digits));