初学者的问题 MQL5 MT5 MetaTrader 5 - 页 58 1...515253545556575859606162636465...1503 新评论 Denis Kirichenko 2012.10.27 10:20 #571 teetrinker: Myexpert.Time(10)是否应该返回图表上第10个柱形的时间?以及如何正确书写?谢谢你在理论上,是的,它应该...根据文档, Time 方法通过指定的索引获得Time元素的值 。它是 CExpertBase 类的一个方法 ,该类是CExpert 和所有交易策略的辅助类的基类。 亲爱的 sergeev 告诉你正确...最好是使用调试器来确定Time()方法在你的EA生活中的作用... Dimka-novitsek 2012.10.27 17:16 #572 谢谢你,Yedelkin !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!还有EnumToString(timeframe),很酷的功能!!。而我是BARAN!!!!!! Dimka-novitsek 2012.10.28 17:31 #573 请告诉我,这里有一个函数 bool PositionModify( ulong PositionTicket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) { MqlTradeRequest request = {0}; MqlTradeResult result = {0}; request.action= TRADE_ACTION_SLTP; request.order= PositionTicket; request.price= price; request.symbol= Symbol(); request.sl= stoploss; request.tp= takeprofit; return (OrderSend( request, result )); }该函数似乎有一个,,,的一面,- request.symbol=Symbol(); 为什么是Symbol()?在这里,我们设定的TP和SL的符号应该被转移。那么,我们能不能把字符串request.symbol=Symbol();去掉,就像它是愚蠢的nada? Aleksandr Prishenko 2012.10.29 14:55 #574 请教如何在未平仓的主力订单 的止损位设置翻转订单,然后在主力订单 在TP点平仓时删除它?我在代码中一次设置了两个订单。 // основной ордер +++++++++++++++++++++++++++++++++++++++ { request.action = TRADE_ACTION_PENDING; request.magic=magic_number; // ORDER_MAGIC request.symbol = "EURUSD"; request.volume = NormalizeDouble(volume()/1,2); request.price=NormalizeDouble(Ask+StopLevel*_Point,_Digits); request.sl = NormalizeDouble(request.price - SL*_Point,_Digits); request.tp = NormalizeDouble(request.price + TP*_Point,_Digits); request.deviation=0; request.type=ORDER_TYPE_BUY_STOP; request.type_filling=ORDER_FILLING_FOK; { OrderSend(request,result); if(result.retcode==10009 || result.retcode==10008) Print("Установлен ордер BuyStop"); else { Print(ResultRetcodeDescription(result.retcode)); } } // переворотный ордер +++++++++++++++++++++++++++++++++++++++ request.action = TRADE_ACTION_PENDING; request.magic=magic_number1; // ORDER_MAGIC request.symbol = "EURUSD"; request.volume = NormalizeDouble(volume()/2,2); request.price=NormalizeDouble(Bid-(SL-45) *_Point,_Digits); request.sl = NormalizeDouble(request.price + SL*_Point,_Digits); request.tp = NormalizeDouble(request.price - (TP-900)*_Point,_Digits); request.deviation=0; request.type=ORDER_TYPE_SELL_STOP; request.type_filling=ORDER_FILLING_FOK; { OrderSend(request,result); if(result.retcode==10009 || result.retcode==10008) Print("Установлен ордер SellStop"); else { Print(ResultRetcodeDescription(result.retcode)); return; } } } } }主力订单在TP点开盘和收盘,而反转订单则挂起。如果主力订单在止损点平仓,就不会有任何问题))。关闭的最佳功能是什么?我是否应该通过待处理订单,以这种方式删除它们? { request.action = TRADE_ACTION_REMOVE; request.magic=magic_number1; // ORDER_MAGIC request.symbol = "EURUSD"; request.volume = 0; request.price=0; request.sl = 0; request.tp =0; request.deviation=0; request.type=0; request.type_filling=0; { OrderSend(request,result); 还是有一个更简单的方法? Yedelkin 2012.10.30 06:54 #575 Crucian: 主力订单在TP开仓和平仓,而翻转订单则挂起。如果主力订单在停止时关闭,就不会有任何问题了))。用什么功能来关闭它比较好呢? 我是否应该通过挂单,用这种方式来删除它们?还是有一个更简单的方法? 所以问题就来了,当某些事件发生时(特别是当TP订单在开仓时触发),究竟如何删除一个 不是SL或TP订单的挂单。 目前,这种待定订单只能通过发送相关的 "删除待定订单 "请求来强制性地删除。所以我们必须在终端上监控某些事件的发生,并发送一个请求。 但与你的变体不同,在请求中只有两个字段需要指定,其中一个是request。秩序。 在你提到的情况下,OCO订单("一个坎塞尔其他(s)")将是有帮助的:在TP水平上,将放置一个具有未平仓头寸大小的订单,而在SL水平上,将放置一个具有 "逆转 "头寸所需大小的订单。如果其中一个OCO订单被触发,第二个订单将在服务器端被自动删除。然而,在这个论坛的整个生命周期中,平台的开发者一直坚持不引入任何额外的订单类型,包括OCO订单。 A100 2012.10.30 08:08 #576 Yedelkin: 然而,只要这个论坛存在,平台开发者就断然不同意引入任何额外的订单类型,包括OCO订单。 而且,既然可以通过编程实现,为什么还要引入这些东西呢? Yedelkin 2012.10.30 08:12 #577 A100: 如果你能以编程方式进行,为什么还要输入? 试着在论坛搜索中输入拉丁文和西里尔文的 "OCO "一词,并阅读它。 A100 2012.10.30 08:15 #578 Yedelkin: 试着在论坛搜索中输入拉丁文和西里尔文的 "OCO "一词,并阅读它。 OCO不是一个独立的权证,没有必要输入它 Yedelkin 2012.10.30 08:19 #579 A100: CCA不是一个独立的许可,没有必要引入它 我明白了。所以你什么都没看。但你愿意分享你的意见。好吧,你的意见被接受:你 不需要这种类型的订单。 A100 2012.10.30 08:24 #580 Yedelkin:你 不需要这种类型的订单。 一些平台有能力绑定1个(有时2个)CCA订单。在MT4/5中,我以编程方式实现了一连串的链接订单(有时相当复杂),并发现这是更方便的选择。 1...515253545556575859606162636465...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Myexpert.Time(10)是否应该返回图表上第10个柱形的时间?以及如何正确书写?
谢谢你
在理论上,是的,它应该...
根据文档, Time 方法通过指定的索引获得Time元素的值 。它是 CExpertBase 类的一个方法 ,该类是CExpert 和所有交易策略的辅助类的基类。
亲爱的 sergeev 告诉你正确...最好是使用调试器来确定Time()方法在你的EA生活中的作用...
谢谢你,Yedelkin !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
还有EnumToString(timeframe),很酷的功能!!。而我是BARAN!!!!!!
该函数似乎有一个,,,的一面,- request.symbol=Symbol(); 为什么是Symbol()?在这里,我们设定的TP和SL的符号应该被转移。那么,我们能不能把字符串request.symbol=Symbol();去掉,就像它是愚蠢的nada?
请教如何在未平仓的主力订单 的止损位设置翻转订单,然后在主力订单 在TP点平仓时删除它?
我在代码中一次设置了两个订单。
主力订单在TP点开盘和收盘,而反转订单则挂起。如果主力订单在止损点平仓,就不会有任何问题))。关闭的最佳功能是什么?
我是否应该通过待处理订单,以这种方式删除它们?
还是有一个更简单的方法?所以问题就来了,当某些事件发生时(特别是当TP订单在开仓时触发),究竟如何删除一个 不是SL或TP订单的挂单。
目前,这种待定订单只能通过发送相关的 "删除待定订单 "请求来强制性地删除。所以我们必须在终端上监控某些事件的发生,并发送一个请求。 但与你的变体不同,在请求中只有两个字段需要指定,其中一个是request。秩序。
在你提到的情况下,OCO订单("一个坎塞尔其他(s)")将是有帮助的:在TP水平上,将放置一个具有未平仓头寸大小的订单,而在SL水平上,将放置一个具有 "逆转 "头寸所需大小的订单。如果其中一个OCO订单被触发,第二个订单将在服务器端被自动删除。然而,在这个论坛的整个生命周期中,平台的开发者一直坚持不引入任何额外的订单类型,包括OCO订单。
然而,只要这个论坛存在,平台开发者就断然不同意引入任何额外的订单类型,包括OCO订单。
试着在论坛搜索中输入拉丁文和西里尔文的 "OCO "一词,并阅读它。
你 不需要这种类型的订单。