input:xx(20,10,100,1);
h20:=ref(hhv(h,xx),1);
l20:=ref(llv(l,xx),1);
KPTIME:=time>093000 and time<144500;//开仓时间
ddd:=h>h20 and holding=0;//开多条件
kkk:=l<l20 and holding=0;//开空条件
if time > 150000 then
begin
sell(holding > 0, 0, limitr,o);
sellshort(holding < 0, 0, limitr,o);
end //收盘平仓
if KPTIME then buy(ddd ,1,limitr,h20+3*mindiff);//开多
if KPTIME then buyshort(kkk ,1,limitr,l20-3*mindiff);//开空
平仓条件,画个止损线,跌10个最小变动价位平仓,盈利10个点且小于15个点,回撤到开仓价格+1个最小变动价位平仓,盈利15个最小变动价位以后,回撤10个最小变动价位平仓。
全用固定时间间隔1秒下单。图表交易,图标信号和实际平仓信号一致。谢谢!
可先参考此示例自己编写,如果还有困难,请回复帖子
完整的包括止损,移动止赢交易范例代码举例
{
代码工作在图表自动交易模式下
当出现开仓后,开仓价格相比,最大损失超过2%止损
当出现盈利后,与最大盈利价格相比,回落到60%幅度后止赢离场
}
MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,30);
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF CROSS(MA1,MA2) THEN
BEGIN
BUY(1,1);
maxprofit:=0;
END
//平仓
SELL(CROSS(MA2,MA1),0);
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
win:=(c-enterprice)/enterprice*100; //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
if holding < 0 and enterbars > 0 then
begin
win:=(enterprice-c)/enterprice*100; //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
//出现浮动亏损比如2%平仓
止损:SELL(win < -2,0);
//出现最高盈利后,回落到盈利的60%平仓出场
止赢:SELL(win2 >= 60 and openprofit > 0, 0);