关于MQL5向导和标准交易类库的问题 - 页 7

 

是的,所以主人新创建的顾问根本就不工作!?

2011.08.08 19:08:30 核心1连接关闭
2011.08.08 19:08:30 核心1日志文件 "D:\Program\MetaTrader 5\Tester\Agent-127.0.0。1-3000\logs\20110808.log" 写道
2011.08.08 19:08:30 Core 1 测试仪因OnInit关键错误而停止
2011.08.08 19:08:30 Core 1 2011.0101 00:00:00 OnInit: 错误初始化指标
2011.08.08 19:08:30 Core 1 2011.01 00:00:00 CExpert::InitIndicators: 错误初始化货币对象的指标
2011。08.08 08 19:08:30 Core 1 2011.01.01 00:00:00CExpertBase::InitIndicators: 参数设置未被检查
20112011.08.08 19:08:30 核心 1 2011.01.01 00:00:00 CExpertBase::SetOtherSeries: 禁止更改时间序列
2011.08.08 19:08:30 核心 1 2011.01.01 00:00:00 CExpertBase::SetPriceSeries: 禁止更改时间序列
2011.08.08 19:08:302011.08.08 19:08:30 Core 1 EURUSD,H4: 历史数据从2010.01.04 00:00开始
2011.08.08 19:08:30 Core 1 EURUSD,H4: 历史缓存保留估计2472条
2011.08.08 19:08:30 Core 1 EURUSD: 包含367194条从2010.01.04 00:00到2010.12.31 22:59的开始数据的M1记录
2011.08.08 19:08:30 Core 1 EURUSD: 包含367194条从2010.01.04 00:00开始数据的M1记录。19:08:30 Core 1 EURUSD,Daily:历史数据从2010.01.04 00:00开始
2011.08.08 19:08:30 Core 1 EURUSD,Daily:历史缓存为估计412条保留
2011.08.08 19:08:30 Core 1 EURUSD:包含367194条M1记录的开始数据,从2010.01.04 00:00到2010.12。31 22:59
2011.08.08 19:08:30 Core 1 Trailing_FixedPips_ProfitLevel=400
2011.08.08 19:08:30 Core 1 Trailing_FixedPips_StopLevel=200
2011.2011.08.08 19:08:30 核心1信号_2_AC_Weight=0.30
2011.08.08 19:08:30 核心1信号_1_AC_Weight=0.30
2011.08.082011.08.08 19:08:30 Core 1 Signal_0_AC_Weight=0.30
2011.08.08 19:08:30 Core 1 Signal_TakeLevel=400
2011.08.08 19:08:30 Core 1 Signal_StopLevel=200
2011。2011.08.08 19:08:30 Core 1 Signal_ThresholdClose=80
2011.08.08 19:08:29 Core 1 Signal_ThresholdOpen=20
2011.2011.08.08 19:08:29 核心 1 Expert_Title=Master03
2011.08.08 19:08:29 核心 1 EURUSD,H1: 测试2011年的Expert\Master03.ex5。01.01.01 00:00至2011.08.01 00:00的输入:
2011.08.08 19:08:29 核心1 EURUSD,H1 (MetaQuotes-Demo):1分钟OHLC点数生成。OnTick只在bar begin上执行
2011.08.08 19:08:29 Core 1 EURUSD,H1: history begins from 2010.01.04 00:00
2011.08.08 19:08:29 Core 1 EURUSD,H1: history cache reserved for estimated 9891 bars
2011.08.19:08:29 19:08:29 Core 1 EURUSD: 包含367194条M1记录的起始数据,从2010.01.04 00:00到2010.12.31 22:59
2011.08.08 19:08:29 Core 1 EURUSD: 历史数据从1993.05.13同步到2011.08.05
2011.08.08 19:08:29 Core 1 EURUSD: 载入27字节的历史数据来同步
2011.2011.08.08 19:08:29 Core 1 EURUSD: 符号同步,收到3304字节的符号信息
2011.08.08 19:08:29 Core 1 Intel Core i5 M 430 @ 2.27GHz, 2996 MB
2011.08.08 19:08:29 Core 1 收到158 Kb的总初始化数据
2011.2011.08.08 19:08:29 核心1成功初始化
2011.08.08 19:08:29 核心1初始存款10000.00美元,杠杆1:500
2011.08.08 19:08:29 核心1专家文件添加: Experts\Master03.ex5。156794字节加载
2011.08.08 19:08:29 核心1 5304字节的输入参数加载
2011.08.08 19:08:29 测试员分析历史的质量为100%
2011.08.08 19:08:28 核心1共同同步完成
2011.08.08。19:08:28 19:08:28 Tester EURUSD,H1 (MetaQuotes-Demo): 测试 experts\Master03.ex5 从 2011.01.01 00:00 到 2011.08.01 00:00 要开始
2011.08.2011.08.08 19:08:28 核心1授权(代理构建485)
2011.08.08 19:08:28 核心1连接
2011.08.08 19:08:28 核心1连接到127.0.0.1:3000

附加的文件:
Master03.mq5  8 kb
71pon5.PNG  22 kb
 
Erm955:

这就是问题所在,我重新编译了它!

我的错。
附加的文件:
MoneyNone.mqh  4 kb
 
uncleVic:
我的错。

好!

 

维克叔叔。

我想重新审视在向导中启用自动生成多币种的可能性。不这样做的主要原因是Wizard的菜单太复杂了。但是,如果我们同意这些货币对的所有输入数据将是共同的,那么复杂的情况就会出现在只添加一个菜单--用于并发操作的货币对列表。根据我使用多货币工具的经验,这是很可以接受的。实施机制对你来说也不难。在本质上,它归结为机械地复制了一段代码,每个符号都有小的内含物。

也就是说,向导的菜单和实现并不复杂,但我们得到的是一个更多功能的向导,它几乎可以让你立即实现多种策略,而且是在多货币模式下。

我在此附上我的解决方案的变体。这可能是有用的。

附加的文件:
 
Erm955:

维克叔叔。

我想重新审视在向导中启用自动生成多币种的可能性。不这样做的主要原因是Wizard的菜单太复杂了。但是,如果我们同意这些货币对的所有输入数据将是共同的,那么复杂的情况就会出现在只添加一个菜单--用于并发操作的货币对列表。根据我使用多货币工具的经验,这是很可以接受的。实施机制对你来说也不难。在本质上,它归结为机械地复制了一段代码,每个符号都有小的内含物。

也就是说,向导的菜单和实现并不复杂,但我们得到的是一个更多功能的向导,它几乎可以让你立即实现多种策略,而且是在多货币模式下。

我在此附上我的解决方案的变体。这可能是有用的。

管理层说不行。
 
uncleVic:
请看这里 的英文论坛。

主持人好!

谢谢你的提示。试图弄清楚。这里有一个关于程序代码的问题。

根据我的理解,这里描述了自定义SAR指标的设置(即输入参数)。前三个(从0到2)是清楚的。第四个(应用价格)从何而来?它不存在于自定义SAR指标本身。请详细解释这块的情况!也许这是所有这些定制指标重新设计(调整)中最困难的部分。提前感谢您!

//--- prepare indicator parameters
   MqlParam CustomSAR_prop[];
   ArrayResize(CustomSAR_prop,4);
//--- indicator file
   CustomSAR_prop[0].type=TYPE_STRING;
   CustomSAR_prop[0].string_value="Examples\\ParabolicSAR";
//--- SAR step
   CustomSAR_prop[1].type=TYPE_DOUBLE;
   CustomSAR_prop[1].double_value=m_step;
//--- SAR maximum
   CustomSAR_prop[2].type=TYPE_DOUBLE;
   CustomSAR_prop[2].double_value=m_maximum;
//--- applied price
   CustomSAR_prop[3].type=TYPE_INT;
   CustomSAR_prop[3].integer_value=PRICE_CLOSE;
//--- initialize object
   if(!m_sar.Create(m_symbol.Name(),m_period,IND_CUSTOM,4,CustomSAR_prop))
     {
      printf(__FUNCTION__+": error initializing object");
      return(false);
     }
   m_sar.NumBuffers(1);
//--- ok
   return(true);
  }
 
ForexMoneyMaker:

主持人好!

谢谢你的提示。试图弄清楚。这里有一个关于程序代码的问题。

根据我的理解,这里描述了自定义 SAR指标的 设置(即输入参数)。前三个(从0到2)是清楚的。第四个(应用价格)从何而来?它不存在于自定义SAR指标本身。请详细解释这块的情况!也许这是整个重新设计(定制)自定义指标中最困难的部分。提前感谢您!

是的,你可能不需要它。这不是我写的。
 

那么,请允许我再问一个关于这个代码片段的问题。

m_sar.NumBuffers(1); - 这个运算符是做什么用的(去哪里),为什么括号里有个1?

 
ForexMoneyMaker:

那么,请允许我再问一个关于这个代码片段的问题。

m_sar.NumBuffers(1); - 这个运算符是做什么用的(去哪里),为什么括号里有个1?

它设置用户指标的 缓冲区数量(因为它们的数量事先不知道)。
Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
uncleVic:
设置自定义指标的 缓冲区数量(因为事先不知道缓冲区的数量)。

谢谢你!

我成功地完全实现了这个想法!并以足够复杂的自定义指标为基础。我会想,也许我应该试着就这个问题写一篇相应的文章。这方面其实并不复杂。:)