编码帮助 - 页 386

 
apprentice coder:
我在电子邮件或推送通知方面遇到了问题(在一个版本中,它们可以工作,而在另一个版本中,它们不能工作,等等......)有什么办法可以完全避免元函数的作用?

就电子邮件而言,有一些二进制文件,如这个帖子中的一个:https://www.mql5.com/en/forum/174385/page227

至于推送通知:还没有看到一些这方面的dll。

 
mladen:
就电子邮件而言,有一些二进制文件,如这个帖子中的一个:https://www.mql5.com/en/forum/174385/page227 至于推送通知:还没有看到一些二进制文件用于此。

谢谢

 

检查脚本是如何在成长条的范围为0.007,收盘价多于开盘价 的情况下收盘加的(1小时图欧洲美元)。

获得以下数据。

Script_Diapazon EURUSD,H1: 所有被调查的柱子=50000

Script_Diapazon EURUSD,H1:收盘时的平均点数加=0.0083088354833627

Script_Diapazon EURUSD,H1: 加号的收盘数在9个柱子的邻居之后=541

Script_Diapazon EURUSD,H1:加号中的总数量=4.4950799999993

Script_Diapazon EURUSD,H1:所有范围为0.007的柱子=622

启动顾问,获得了相当不同的数据。

鉴于我们有大约250个工作日,那么我们就得到了6000个小时。

启动顾问到2006年6月。

在专家 "OnTester回报391.0000000000000 "的盈利交易

630个交易的数量.

解释一下为什么顾问和脚本有这样的差异?

附加的文件:
 
QuantF:
检查脚本是如何在成长条的0.007范围后关闭,收盘价比开盘价更多(1小时图欧洲美元)。

获得以下数据。

Script_Diapazon EURUSD,H1: 所有被调查的柱子=50000

Script_Diapazon EURUSD,H1:加号收盘时的平均点数=0.0083088354833627

Script_Diapazon EURUSD,H1: 加号的收盘数在9个柱子的邻居之后=541

Script_Diapazon EURUSD,H1:加号中的总数量=4.4950799999993

Script_Diapazon EURUSD,H1:所有范围为0.007的柱子=622

启动顾问,获得了相当不同的数据。

鉴于我们有大约250个工作日,那么我们就得到了6000个小时。

启动顾问到2006年6月。

在专家 "OnTester回报391.0000000000000 "的盈利交易

630个交易数量。

解释一下为什么这种差异顾问和剧本?

QuantF

你的脚本在检查 50000条的固定数量

EA没有这个限制

 
mladen:
匡特夫

你的脚本正在检查50000条的固定数量

EA没有这个限制

所以我把测试EA的日期设置为2006年6月。

从2006年6月开始的时间安排包含了大约50000条。

我是否遗漏了什么?

 
QuantF:
所以我把测试EA的日期设定为2006年6月。

从2006年6月开始的时间安排包含约50,000条。

我是否遗漏了什么?

匡德福

是正好50.000条还是50.050或49.950?

因为在脚本中,它总是精确地测试50.000条(代码就是这样写的)。

 
mladen:
量F

这正是50.000条,还是50.050或49.950?

因为在脚本中,它总是精确地测试50.000条(这就是代码的编写方式)。

在EA大约有50,000条。确切的数字是不知道的。EA和脚本的数据是非常不同的。有利可图。EA-391,脚本-541。即使EA中的条数 被严重误判,差异也是很大的,150个交易。

 
QuantF:
在EA中大约有50,000条。确切的数字是不知道的。数据EA和脚本是非常不同的。有利可图。EA-391,脚本-541。即使在EA中的条数被严重误判,差异也是很大的150个交易。

做一个简单的计数器,检查在EA中计算了多少个条形。

如果你从2006年开始测试,那么条数 的差异可能很大。如果(也只有在)这些数字与50.000相似,那么你应该检查脚本和EA所使用的逻辑。

 
mladen:
做一个简单的计数器,检查在EA中计算了多少个条形 如果你从2006年开始测试,那么条形数的差异可能很大。如果(也只有在)这些数字与50.000相似,那么你应该检查脚本和EA所使用的逻辑

在脚本中添加了检查 测试的开始。

日期时间。

double diapazon;

双倍最大值。

int t;

int index。

double raznica;

for(int i=50000;i>0;i--)

{

if (tiket==0){time=Time;}//收到第一根柱子的时间

tiket=1。

Vsego_barov=Vsego_barov+1。

diapazon=高-低。

如果(diapazon > D && Close > Open)

{

bigD=bigD+1。

index=i-10;

max=高。

t=iHighest(NULL,0,MODE_HIGH,9,index)。

raznica=max-Close。

if (raznica > 0 && Time[t] > Time){priceD=priceD+raznica;KpriceD= KpriceD+1;}.

}

}

接收日期:EURUSD,H1: time=2006.09.28 00:00:00

从这个日期开始启动EA。盈利交易的数量。Expert_Diapazon OnTester 返回 385.00000000000000

在脚本中,盈利的交易有541笔

 
mladen:
做一个简单的计数器,检查在EA中计算了多少条 如果你从2006年开始测试,那么条数的差异可能会很大。如果(也只有在)这些数字与50.000相似,那么你应该检查脚本和EA使用的逻辑。

检查了 EA计数器。

int tiket;//在全局层面上

static datetime time;

如果(Time[0] > time)

{

tiket=tiket+1。

}

time=Time[0];

随着时间=2006.09.28 00:00:00。所有的酒吧。Expert_Diapazon OnTester返回49889.0000000000。