[举手] 请问MT4的OrderSend函数SL/TP设定

楼主: yinzhiping (志平)   2018-09-13 21:34:06
各位版大好
想请问MT4的新手问题,反复测试仍无解
1. 原本想达到的效果:
买单送出,停损挂日K低点,卖单挂日K高点
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,mktifL,Ask+tp*Point,"",56,0,Blue);
其中第6,第7个参数分别是 6.停损 7.停利
2. 目前作法及矛盾点:
目前是用在OnTick()里面设的double mktifH, mktifL自设变量 :
mktifH=NormalizeDouble(MarketInfo(NULL,MODE_HIGH),5); // 今日高
mktifL=NormalizeDouble(MarketInfo(NULL,MODE_LOW),5); // 今日低
但跑EA就是SL挂不上去不知道为什么(无论有无标准化位数都一样)
另外用了自设变量测试就可以, 下面的MA31max, MA31med, MA31min (一样double)
不知道为什么这样就可以,刚刚就不行,完全不明白中间的逻辑
MaList[0]=ma5d;
MaList[1]=ma10d;
MaList[2]=ma20d;
ArraySort(MaList,WHOLE_ARRAY,0,MODE_DESCEND);
MA31max=MaList[0];
MA31med=MaList[1];
MA31min=MaList[2];
3. 要问的问题:
1)为什么会这样 哭哭
2)追加:如果我在OrderSend以后马上用OrderSelect OrderModify改sl tp
是有办法办到的吗?
因为假设单一多用for循环找就麻烦多了
刚接触,遇到无数瓶颈
恳请各位版上先进技术指导
大感谢 T T
楼主: yinzhiping (志平)   2018-09-13 21:39:00
阿,忘了说是H1或M30策略,但变量是日高日低5/10/20MA
作者: vesta9 (菸酒生)   2018-09-14 02:50:00
MarketInfo 第一个参数换成 _Symbol
作者: n33222 (满身菜味)   2018-09-14 15:28:00
有显示ERROR吗? 你试试看用F5一条一条跑跑看
作者: ducati5566 (on the way!!!)   2018-09-14 16:15:00
有compile error吗?用High[0], Low[0]看看
作者: n33222 (满身菜味)   2018-09-14 20:39:00
这有几点可能会发生,第一就是停损数值错误,这种侦错法你可以使用PRINT来确认数字对不对,或是停损离下单点位有时近,另外一种可能就是你的ORDERSEND的逻辑指令错误,根本不进去,没看到ERROR代码或是语法很难判断,最好办法你使用F5和F9调试,一行一行去检验跑到哪里就跳掉了。明天帮你看

Links booklink

Contact Us: admin [ a t ] ucptt.com