客服热线:18391752892

求教:历史订单的注释为什么只能获取到tp

   日期:2019-01-12     浏览:459    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 我的EA多单和空单注释不一样,具体是多单BUY-1.12535,空单SELL1.12434 ,我现在要搜索历史记录,代码如下:
    for(i=0;i i++)
     {
     if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) OrderSymbol()==Symbol() OrderMagicNumber()==MyMagicNum)
       
         Print( 719MyBuyComment= ,MyBuyComment, OrderComment()= ,OrderComment(), SringSubStr(OrderComment(),0,13)= ,StringSubstr(OrderComment(),0,13));
     }
结果:OrderComment()   没有显示BUY-1.12535[tp],而只显示tp,请高手赐教,如何能获取到历史订单的完整注释

comment参数的特殊作用
A:这参数本意是用于记录这个订单的描述信息,程序只能在订单入场的时候设定它。同时系统会在这个订单发生止损 止赢或者拆单的时候自动修改这里的内容。
既然订单发生止损 止赢或者拆单的时候自动修改这里的内容。
那我可以在下单的时候给comment赋值”on”,当订单生成后我可以用OrderComment()
函数实时获取它的comment值如果不等于”on”那就说明订单已经止损或止赢了。



@string OrderComment() 返回定单的注释。
int ticket=12345678;
if ( OrderSelect( ticket, SELECT_BY_TICKET ) == true )
         {
         if( OrderCloseTime() != 0 OrderProfit() 0 )
           {
            Print(StringConcatenate( Order # , ticket, closed by stoploss!
         }
        }
这种方法就是判断订单的盈利是小于0来判断的,但是有个问题,就是如果是移动止损,虽然止损了但是有可能是盈利的,这样的就没法判断出来了
用OrderComment 函数,每次止损或者止盈后,系统自动给订单加入一个注释,如果是止损就是s/l,判断字符串里包含这个字符串就行了。同理,只赢的就是t/p。
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情快递
推荐行情快递
点击排行