mql5语言的特点、微妙之处以及技巧 - 页 45 1...383940414243444546474849505152...247 新评论 Konstantin 2017.06.19 10:44 #441 阿列克谢-维克多罗夫。也许它能做到?尽管对于外汇来说,这并不总是正确的。它显示错误的数值,例如SBRF-9.17交易时段 在周五的结束时间==23:45:00,根据分钟图,这个功能显示00:00:00,根据交易所的信息晚上交易时段结束时间为23:50。 我不认为主要的一点是可以在我们所在的地方创建检查,并使用常量,但也许有人已经实现了这个功能,我就不必再自己写火车了。 fxsaber 2017.06.19 10:51 #442 阿列克谢-维克多罗夫。没有依赖性,也不可能有依赖性。因此,不可能有什么特别的代码。开发人员在这种情况下不使用LFO。算法是明确的--可重复的。 Konstantin 2017.06.19 11:04 #443 康斯坦丁。在期货市场,如何确定前一天市场的收盘时间,以不同的变体寻找当前的时间区间。1.我们在周六-周日的间隔时间,我们需要周五晚上交易时段 的收盘时间。 2.我们在周一至周五的封闭市场;我们需要周一至周四的晚间时段的收盘时间。 3.周一至周五的交易区间;我们需要周五晚间交易 时段的关闭时间 4.在周二至周五的时间范围内,我们需要周一至周四晚间会议 的闭幕时间。也许有人写了一个类似的功能,我不想重新发明轮子))我不认为有比常数更多的灵活性。/*! \brief Расчет конечной даты запроса */ datetime CVolumeCluster::CalcStopDate(void) { MqlDateTime _date; datetime _time_t = TimeTradeServer(_date); if(_date.hour == 23 && _date.min >= 44) { // определяем время окончания торговой сессии _date.hour = 23; _date.min = 44; _date.sec = 59; _time_t = StructToTime(_date); } else { TimeToStruct(_time_t - 86400, _date); _date.hour = 23; _date.min = 44; _date.sec = 59; if(_date.day_of_week == 0 || _date.day_of_week == 6) _date.day_of_week = 5; _time_t = StructToTime(_date); } //--- return _time_t; } Konstantin 2017.06.19 11:18 #444 请教使用CCanvas类的人,如何使图形标记的 更新不那么耗费资源,例如,我们在图形标记中有几十万行,当调整大小时,我们必须重新绘制图形标记中的每一行,因为如果不重新绘制,仅仅通过调整大小,图表上的线条就无法显示,尽管图形标记的对象改变了其大小。 Alexey Viktorov 2017.06.19 11:24 #445 康斯坦丁。可能没有什么比常数更灵活的了。这不是更容易吗?/********************Script program start function*******************/ void OnStart() { datetime timeArray[1], barArray[1]; CopyTime(_Symbol, PERIOD_D1, 0, 1, timeArray); CopyTime(_Symbol, PERIOD_M1, timeArray[0]-1, 1, barArray); Print(barArray[0]; }/*******************************************************************/ Konstantin 2017.06.19 11:41 #446 阿列克谢-维克多罗夫。这不是更容易吗? CopyTime(_Symbol, PERIOD_D1, 0, 1, timeArray); // время текущего дня 00:00:00 CopyTime(_Symbol, PERIOD_M1, timeArray[0]-1, 1, barArray); // время открытия - 1 секунду结果基本上是正确的))谢谢 fxsaber 2017.07.11 00:28 #447 现在(1626)不工作了 关于交易、自动交易系统和交易策略测试的论坛 mql5语言的特殊性、微妙性和技巧性 fxsaber, 2017.05.05 23:48 // Возвращает текущее количество объектов классов int GetAmountObjects( void ) { const class CLASS_TMP {} Tmp; return((int)::StringFormat("%d", &Tmp) - 1); } 应用实例int OnInit() { if (GetAmountObjects() > 0) Print("До " + __FUNCSIG__ + " были вызваны конструкторы!"); return(INIT_SUCCEEDED); } fxsaber 2017.07.11 08:50 #448 // Советник возвращает полностью сформированные торговые запросы (включая ручные) #define TOSTRING(A) #A + " = " + (string)(A) + "\n" #define TOSTRING2(A) #A + " = " + EnumToString(A) + " (" + (string)(A) + ")\n" string ToString( const MqlTradeRequest &Request ) { return(TOSTRING2(Request.action) + TOSTRING(Request.magic) + TOSTRING(Request.order) + TOSTRING(Request.symbol) + TOSTRING(Request.volume) + TOSTRING(Request.price) + TOSTRING(Request.stoplimit) + TOSTRING(Request.sl) + TOSTRING(Request.tp) + TOSTRING(Request.deviation) + TOSTRING2(Request.type) + TOSTRING2(Request.type_filling) + TOSTRING2(Request.type_time) + TOSTRING(Request.expiration) + TOSTRING(Request.comment) + TOSTRING(Request.position) + TOSTRING(Request.position_by)); } void OnTradeTransaction( const MqlTradeTransaction&, const MqlTradeRequest& Request, const MqlTradeResult& ) { if (Request.action) Print(ToString(Request)); }如果同样的Filling有问题,运行这个EA并手动创建你想要的订单(终端的F9)。生成的交易请求将由EA打印。不幸的是,在真实账户上这样做是有问题的。开发商已经拒绝了这一建议。 Rashid Umarov 2017.07.11 08:58 #449 fxsaber:如果同样的Filling有问题,运行这个EA并手动创建你想要的订单(终端的F9)。生成的交易请求将由EA打印。唯一缺少的是一个关于如何工作的例子 fxsaber 2017.07.11 09:02 #450 拉希德-乌马罗夫。我们需要的是一个例子,说明它是如何工作的。手动曝光我们在日志中得到生成的交易请求Request.action = TRADE_ACTION_PENDING (5) Request.magic = 0 Request.order = 157092716 Request.symbol = EURUSD Request.volume = 0.01 Request.price = 1.13941 Request.stoplimit = 0.0 Request.sl = 1.13926 Request.tp = 1.13955 Request.deviation = 0 Request.type = ORDER_TYPE_BUY_LIMIT (2) Request.type_filling = ORDER_FILLING_RETURN (2) Request.type_time = ORDER_TIME_SPECIFIED (2) Request.expiration = 2017.07.11 12:08:00 Request.comment = Request.position = 0 Request.position_by = 0 不幸的是,对于真正的交易者来说,它是非常昂贵的。这就是为什么我提出了一个建议。 1...383940414243444546474849505152...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
也许它能做到?尽管对于外汇来说,这并不总是正确的。
它显示错误的数值,例如SBRF-9.17交易时段 在周五的结束时间==23:45:00,根据分钟图,这个功能显示00:00:00,根据交易所的信息晚上交易时段结束时间为23:50。
我不认为主要的一点是可以在我们所在的地方创建检查,并使用常量,但也许有人已经实现了这个功能,我就不必再自己写火车了。没有依赖性,也不可能有依赖性。因此,不可能有什么特别的代码。
开发人员在这种情况下不使用LFO。算法是明确的--可重复的。
在期货市场,如何确定前一天市场的收盘时间,以不同的变体寻找当前的时间区间。
1.我们在周六-周日的间隔时间,我们需要周五晚上交易时段 的收盘时间。
2.我们在周一至周五的封闭市场;我们需要周一至周四的晚间时段的收盘时间。
3.周一至周五的交易区间;我们需要周五晚间交易 时段的关闭时间
4.在周二至周五的时间范围内,我们需要周一至周四晚间会议 的闭幕时间。
也许有人写了一个类似的功能,我不想重新发明轮子))
我不认为有比常数更多的灵活性。
请教使用CCanvas类的人,如何使图形标记的 更新不那么耗费资源,例如,我们在图形标记中有几十万行,当调整大小时,我们必须重新绘制图形标记中的每一行,因为如果不重新绘制,仅仅通过调整大小,图表上的线条就无法显示,尽管图形标记的对象改变了其大小。
可能没有什么比常数更灵活的了。
这不是更容易吗?
这不是更容易吗?
结果基本上是正确的))谢谢
关于交易、自动交易系统和交易策略测试的论坛
mql5语言的特殊性、微妙性和技巧性
fxsaber, 2017.05.05 23:48
应用实例如果同样的Filling有问题,运行这个EA并手动创建你想要的订单(终端的F9)。生成的交易请求将由EA打印。
不幸的是,在真实账户上这样做是有问题的。开发商已经拒绝了这一建议。
如果同样的Filling有问题,运行这个EA并手动创建你想要的订单(终端的F9)。生成的交易请求将由EA打印。
唯一缺少的是一个关于如何工作的例子
我们需要的是一个例子,说明它是如何工作的。
手动曝光
我们在日志中得到生成的交易请求
不幸的是,对于真正的交易者来说,它是非常昂贵的。这就是为什么我提出了一个建议。