130
来源:互联网 发布:网络犯罪包括哪些 编辑:程序博客网 时间:2024/05/17 04:17
ordersend && ordermodify , error no 130
这个错误经常发生,意思是无效的止损止盈位
price1 = Bid - step * Point;OrderSend(Symbol(), OP_SELLSTOP, lots, price1, 3, 0, 0, "# ", 0 , 0 ,Red);
有的时候,我们没有设置成price1,而是直接设置成了step,止盈位也容易犯同样的错误;
但更多的时候,是因为价格不符合止损止盈位,具体说来这地方的原理是这样的,首先用
double spl = MarketInfo(Symbol(),MODE_STOPLEVEL);
取得止损位,如果是long order,那么止损位设置应满足:
stoplossPrice < Bid - spl * Point;如果是short order,相应的止损位应满足:
stoplossPrice > Ask + spl * Point;ps: Ask - Bid 成为点差,点差分固定点差和浮动点差。
但是现在还有个问题,就是orderModify的时候,仍然会报130的错误,好奇怪,OP_SELLSTOP会有这个错误,但OP_BUYSTOP就没有这个错误。
终于找到了,见原来的代码:
OrderModify(tic2,OpenPrice(),stoplossPrice2,takeprofitPrice2,0,Yellow)因为这个是挂单,而OpenPrice()是0,所以报错,把这个价格改掉就OK了。
OrderModify(tic2,price2,stoplossPrice2,takeprofitPrice2,0,Yellow)
另外挂单的止损位设置并不严格,举例OP_BUYSTOP,价格设在Ask价格之上,比如1000,那么止损位只要设置在1000以下即可。另外要注意的就是,我这里当时
并没有先用OrderSelect选择一下,这样很容易出现的一个错误就是,这个单号如果已经不存在了,但是EA又没有退出,就会造成OrderModify报错,好像是4058,意思
就是无效的单号,所以最好OrderModify之前先用OrderSelect选择一下。
PS:有的时候会发现价格在变,但start函数进不去,这个时候需要注意上方的Expert Adviser开关是否打开,也可以看下所加载的EA名称右侧是否有笑脸。
0 0
- 130
- 130
- 130
- issue 130
- 小辉辉130
- ocp-130
- [LeetCode] 130
- #130 Heapify
- 写在130天
- C#题目130条
- reactos操作系统实现(130)
- SGU 130 Circle
- No 130 · 面试
- codeforces 130 solitaire
- sgu 130 Circle
- oracle 042(101-130)
- 130+ essential vim commands
- 130+ essential vim commands
- (018):创建并使用自定义的数据上下文
- 第16周项目3-多科成绩(改进)
- 什么是AB测试
- Android之Handler用法总结
- Object-C 学习笔记(十二)---Foundation之NSNumer
- 130
- android的inflate方法
- android自定义Adapter中getView()三种写法及其效率问题。
- [JAVA]二进制,八进制,十六进制,十进制间进行相互转换
- Controller.cs
- 20方法训练你的头脑到达顶尖效率
- js字符串切割为二维数组
- 在RAC下建立单实例数据库
- asp.net点击button按钮,跳入不了方法中