查看完整版本: 止损变量的问题

Greenback 2008-7-25 11:10

止损变量的问题

想法是以前5日内的最低价sl=iLowest(NULL,0,MODE_LOW,5,0)位止损开多单,使用下面的开单语句但是测试时没有执行,好像止损变量有问题,换成正常的Bid-50*Point就能执行。是不是不能直接用5日最低价直接做止损变量??

OrderSend(Symbol(),OP_BUY,Lots,Ask,2,[color=red][b]sl[/b][/color],Ask+TakeProfit*Point,"Trending",0101,0,Yellow)

高手帮忙看一下

风天君 2008-7-25 17:23

肯定有问题

iLowest(NULL,0,MODE_LOW,5,0)返回的是5周期内最低价最小的那个周期的周期数。
比如5周期内第3个最低价最小,则返回的是索引号3,所以前边还要加上一个Low [  ],变成这样:
sl=Low[iLowest(NULL,0,MODE_LOW,5,0)];
这样就可以了。

风天君 2008-7-25 17:31

以后象这样的问题有一个普遍的解决方法

以后若搞不清楚这个函数怎么用,或返回的是什么值。则可在函数下边加一行
print()函数。如本例:可以这样写

sl=iLowest(NULL,0,MODE_LOW,5,0);
print("sl=",sl);

然后编写,再执行一次,看看“终端”--“智能交易”一栏中返回的是什么值就明白了。

上边如果是第三根K线的最低价最小,则函数返回的就是sl=3,这样就很明白了,返回的是索引值。所以前边还要加一个Low[  ]  。

Greenback 2008-7-25 19:29

感激不尽 !!!
页: [1]
查看完整版本: 止损变量的问题