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
感激不尽 !!!