文章 "轻松快捷开发 MetaTrader 程序的函数库(第 二十三部分):基准交易类 - 基准类,有效参数验证" - 页 3

 
Alexander:
你好!我下载了最新版本的程序库和 Expert Part_23,在测试仪上设置了可视模式和市场模式。
订单已打开,但所有挂单均未打开,在日志中写道 "2019.10.27 10:13:32.157 2019.09.23 10:00:02 失败 卖出止损 2.00 RTS-12.19 at 135750 (135800) sl: 135900 tp: 135600 [Invalid expiration].
Exchange symbols, broker Otkritie, version 5.00 build 2190.
另外。在以前的文章中,我想是在第 14 或 15 部分,您承诺创建与符号集合一起工作的类。
但出于某种原因,你还没有创建它们,而这些都是库的基本需求,以及符号和帐户,你已经离开了已经

在图书馆的改进方面(资源、声音等),我认为您忽略了基本任务。

谢谢您,图书馆非常需要您。

您好。与玻璃有关的工作将在创建贸易类之后实施。

我认为在库描述的这一部分,有自动设置正确到期值的可能性:

CTrading::SetCorrectTypeExpiration(const ENUM_ORDER_TYPE_TIME type=ORDER_TIME_GTC,const string symbol=NULL);
CTrading::SetCorrectTypeFilling(const ENUM_ORDER_TYPE_FILLING type=ORDER_FILLING_FOK,const string symbol=NULL);

如果有(不幸的是,我不记得这部分了),那么在 OnInit() 中调用这两个方法,并记住值,所有交易对象 使用的每个符号都应设置正确的填充值和到期类型。

如果这里没有,那就等着下一篇文章吧--已经检查过一段时间了--就在那里。

 

在 Part23 顾问的 OnInit 中,我写了两行字

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

但没有任何帮助,日志中写的是同样的内容。

 
Alexander:

在第 23 部分顾问的 OnInit 中,我写了两行字

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

没有任何帮助,日志中写入了同样的内容。

好吧,我会解决的。谢谢。

 
Alexander:

在第 23 部分顾问的 OnInit 中,我写了两行字

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

没有任何帮助,日志中写入了同样的内容。

在哪里插入这些行?

应该在创建工作符号列表 的 OnInit() 中插入:

//-- 填充已用符号数组
   used_symbols=InpUsedSymbols;
   CreateUsedSymbolsArray((ENUM_SYMBOLS_MODE)used_symbols_mode,used_symbols,array_used_symbols);

//--- 设置符号集合中使用的符号列表类型
   engine.SetUsedSymbols(array_used_symbols);

//--- 在此,您需要为所有符号的交易对象设置正确的执行和到期类型值

//--- Отображение выбранного режима работы с коллекцией объектов-символов
   Print(engine.ModeSymbolsListDescription(),TextByLanguage(".使用的字符数:",". The number of symbols used: "),engine.GetSymbolsCollectionTotal());
 
没有人注意到订单类型 是限价止损吗?
 
Алексей Тарабанов:
没有人注意到订单类型 是 StopLimit?

是的,我没注意到。还有什么其他含义吗?从本质上讲,限价止损订单是触发限价订单的止损订单。这种组合的条件不是与单独使用止损和限价订单的条件相同吗?

 
Artyom Trishkin:

是啊,我没注意。还有什么其他用途吗?基本上,限价止损订单是触发限价订单的止损订单。这种组合的条件不是与单独使用止损和限价指令的条件一样吗?

限价是不同的。还有超时。

 
Алексей Тарабанов:

限制是不同的。还有超时。

这在字符规范中的位置是什么?如何找到必要的数据?
 
无处可去。对开发者而言,还是对逻辑而言。
 
Alexander:

在第 23 部分顾问的 OnInit 中,我写了两行字

engine.TradingSetCorrectTypeExpiration();

engine.TradingSetCorrectTypeFilling();

没有任何帮助,日志中写入了同样的内容。

总的来说,我检查了 Binary.com 服务器上的差价合约。它设置了止损挂单(点击查看视频):

我如何在发现中检查?我应该开立账户吗?