麻烦高手帮我补充完成这个交易系统。根据你们的系统改编的。帮忙补充下中文括号的程序。
//开盘后前三十分钟最高最低价突破模型;
M:=BARSLAST(DATE<>REF(DATE,1) );
B:=VALUEWHEN(TIME<=093000,HHV(HIGH,M));
D:=VALUEWHEN(TIME<=093000,LLV(LOW,M));
BK :=CLOSE>B AND TIME<145500 AND TIME>090000;
SP :=TIME=145500;
SK :=CLOSE<D AND TIME<145500 AND TIME>090000;
BP :=TIME=145500;
//建立多头止损条件;(突破开盘前30分钟最低价多头止损)
LongX:=l<D and holding>0;
if LongX then
begin
sell(1,0,limitr,D);
end
//建立多头止盈条件(涨停价多单止盈,不开空仓)
//建立空头止损条件;(突破开盘前30分钟最高价空头止损)
ShortX:=h<B and holding<0;
if ShortX then
begin
sellshort(1,0,limitr,B);
end
//建立空头止盈条件(跌停价空单止盈,不开多仓)
//(仅对“84321”这个账户买卖);
TBUY(1 ,lmt ,"84321",c);
TBUYSHORT(1 ,lmt,"84321",c);
{开多} ENTERLONG: BK,TFILTER;
{平多} EXITLONG: SP,TFILTER;
{开空} ENTERSHORT: SK,TFILTER;
{平空} EXITSHORT: BP,TFILTER;
资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;
你这个好乱,又有SELL,又有TSELL,还有ENTERLONG。
这三种交易语句可是不能混用的!
各位帮帮忙吧。大概我想表达的意思就是这样,请大侠帮帮我补充好吗?
//开盘后前三十分钟最高最低价突破模型;
M:=BARSLAST(DATE<>REF(DATE,1) );
B:=VALUEWHEN(TIME<=093000,HHV(HIGH,M));
D:=VALUEWHEN(TIME<=093000,LLV(LOW,M));
BK :=CLOSE>B AND TIME<145500 AND TIME>090000;
SP :=TIME=145500;
SK :=CLOSE<D AND TIME<145500 AND TIME>090000;
BP :=TIME=145500;
//建立多头止损条件;(突破开盘前30分钟最低价多头止损)
//建立多头止盈条件(涨停价多单止盈,不开空仓)
//建立空头止损条件;(突破开盘前30分钟最高价空头止损)
//建立空头止盈条件(跌停价空单止盈,不开多仓)
//(仅对“84321”这个账户买卖);
{开多} ENTERLONG: BK,TFILTER;
{平多} EXITLONG: SP,TFILTER;
{开空} ENTERSHORT: SK,TFILTER;
{平空} EXITSHORT: BP,TFILTER;
资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;
我的公式是针对前台的
建议楼主先从图表自动化交易学起,然后再学习BUY等新交易的前台交易。最后再学习后台交易。
后台的是可以自动取到当日涨停跌停价的,前台的可用于测试历史的不能取到,由于金字塔不保留昨结算,所以本模型的涨跌停板=昨收*(1 +/- 0.04)
//开盘后前三十分钟最高最低价突破模型--涨停价多单止盈/跌停价空单止盈
//适用于1分钟周期
M:=BARSLAST(DATE<>REF(DATE,1) )+1;
h30:=VALUEWHEN(TIME<=093000,HHV(HIGH,M));
l30:=VALUEWHEN(TIME<=093000,LLV(LOW,M));
//假设涨停价为 昨收的百分之4
upstop :=ref(c,1)*(1+0.04);
downstop:=ref(c,1)*(1-0.04);
//建立多头进场条件
long:=CLOSE>h30 AND TIME<145500 AND TIME>093000;
if long then
begin
sellshort(holding < 0, 0, limitr, h30);
buy(holding = 0, 1, limitr, h30);
end
//建立多头止损条件;(突破开盘前30分钟最低价多头止损)------空头进场条件就是多头止损条件
//画出多头的止损线
partline(holding>0, l30,colorred);
//建立多头止盈条件(涨停价多单止盈,不开空仓)
if holding>0 and TIME<145500 AND TIME>093000 then sell(c>upstop-3*mindiff,0,thisclose);
//建立空头进场条件
short:=CLOSE<l30 AND TIME<145500 AND TIME>093000;
if short then
begin
sell(holding > 0, 0, limitr, l30);
buyshort(holding = 0, 1, limitr, l30);
end
//建立空头止损条件;(突破开盘前30分钟最高价空头止损)------空头进场条件就是多头止损条件
//画出空头的止损线
partline(holding<0, h30, colorgreen);
//建立空头止盈条件(跌停价空单止盈,不开多仓)
if holding<0 and TIME<145500 AND TIME>093000 then sellshort(c<downstop+3*mindiff,0,thisclose);
//收盘前5分钟平仓
if time > 145500 then
begin
sell(holding > 0, 0, thisclose);
sellshort(holding < 0, 0, thisclose);
end
资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;