帮助新手修改一下吧。用在多笔周期上的。组合了好久,好象不对,没有收盘平仓信号,开多条件与平空条件一样,即平空就反手开多。平多就反手开空,这种写法对不对?最后是一天只交易三次(用在多笔周期交易)这样写对不对?
开多:=做多;
平多:=做空;
开空:=做空;
平空:=做多;
交易时间:=TIME>092000 AND TIME<150000;
//交易系统
if (交易时间 and TOTALDAYTRADE<=3)
and (开多 or 开空) then begin
buy(开多 and holding=0,p,LIMITR,o){CLOSE+MINDIFF*3),SLITHERMETHOD};
buyshort(开空 and holding=0,p,LIMITR,o){CLOSE+MINDIFF*3),SLITHERMETHOD};
END
//止损
多头止损条件:=c<enterprice-10*mindiff and time<150000;
空头止损条件:=c>enterprice+10*mindiff and time<150000;
if 多头止损条件 and holding>0 then begin
多头止损:sell(1,HOLDING,market);
end
if 空头止损条件 and holding<0 then BEGIN
空头止损:sellshort(1,HOLDING,market);
end
IF HOLDING>0 THEN BEGIN
//多头平仓
IF 平多 THEN
SELL(1,HOLDING,market);
//多头收盘平仓
IF NOT(交易时间) THEN
收盘平仓: SELL(1,HOLDING,market);
//空头平仓
IF 平空 THEN
SELLSHORT(1,HOLDING,market);
//空头收盘平仓
IF NOT(交易时间) THEN
收盘平空: SELLSHORT(1,HOLDING,market);
END
已解决。不知对不对?
交易时间:=TIME>092000 AND TIME<150000;
KD:=ref(FILTER(做多,10),1); //开多条件
PD:=FILTER(做空,10); //平多条件
KK:=ref(FILTER(做空 ,10 ),1); //开空条件
PK:=FILTER(做多,1); //平空条件
//交易系统
if 交易时间 and TOTALDAYTRADE<=3
then begin
平空:SELLSHORT(PK,p,market); //平空信号
开多:BUY(KD AND HOLDING=0,p,LIMITR,o); //开多信号
平多:SELL(PD,p,market); //平多信号
开空:BUYSHORT(KK AND HOLDING=0,p,LIMITR,o); //开空信号
end
//止损
多头止损条件:=c<enterprice-10*mindiff and time<150000;
空头止损条件:=c>enterprice+10*mindiff and time<150000;
if 多头止损条件 and holding>0 then begin
多头止损:sell(1,HOLDING,market);
end
if 空头止损条件 and holding<0 then BEGIN
空头止损:sellshort(1,HOLDING,market);
end
IF HOLDING>0 THEN BEGIN
//多头收盘平仓
IF NOT(交易时间) THEN
收盘平仓: SELL(1,HOLDING,market);
end
IF HOLDING<0 THEN BEGIN
//空头收盘平仓
IF NOT(交易时间) THEN
收盘平空: SELLSHORT(1,HOLDING,market);
END
还有一个问提是:用多笔周期图表自动交易,如2楼上面的交易统交易.在编辑系统时是用
序列计算方式还是逐K计算模式?说明中说分笔周期交易要用逐K,可是我用的是多笔啊?可不可以用序列,又没有不会用复杂函数?分笔要用逐K,多笔呢?
以下是引用jinzhe在2013/8/28 9:02:11的发言:
基本框架可以了
还有一个问提是:用多笔周期图表自动交易,如2楼上面的交易统交易.在编辑系统时是用
序列计算方式还是逐K计算模式?说明中说分笔周期交易要用逐K,可是我用的是多笔啊(10笔)?可不可以用序列,又没有不会用复杂函数?分笔要用逐K,多笔呢?
[此贴子已经被作者于2013/8/28 9:56:08编辑过]
图表是必须逐k线的,这个和多笔不多笔有冲突?
[此贴子已经被作者于2013/8/28 10:03:37编辑过]