[PEL] 复制代码
//交易条件
手数:=1;
{趋买市}
IF (大趋势=1 OR 大趋势=4) AND 开多次数=0 THEN BEGIN
趋买市开多:BUY(确认多=1 AND HOLDING=0,手数,THISCLOSE);
开多次数:=1;
开多状态:=1;//开仓状态1,多趋势首仓,2多趋势加仓,3震荡仓和空趋势下的多仓
END
IF (大趋势=1 OR 大趋势=4) AND 开多次数=1 THEN BEGIN
趋买市加多:BUY(确认多=1 AND HOLDING>0 AND openprofit>0 ,手数,THISCLOSE);
开多次数:=2;
开多状态:=1;//开仓状态1,多趋势首仓,2多趋势加仓,3震荡仓和空趋势下的多仓
END
IF (大趋势=1 OR 大趋势=4) AND 开空次数=0 THEN BEGIN
趋买市开空:BUYSHORT(确认空=1 AND HOLDING=0,手数,LIMIT,C+2*MINDIFF );
开空次数:=1;
开空状态:=3;
END
{趋卖市}
IF 大趋势=3 OR 大趋势=2 AND 开多次数=0 THEN BEGIN
趋卖市开多:BUY(确认多=1 AND HOLDING=0,手数,LIMIT,C-2*MINDIFF);
开多次数:=1;
开多状态:=3;//开仓状态,1,多趋势首仓,2多趋势加仓,3震荡仓和空趋势下的多仓
END
IF 大趋势=3 OR 大趋势=2 AND 开空次数=0 THEN BEGIN
开空次数:=1;
趋卖市开空:BUYSHORT(确认空=1 AND HOLDING=0,手数,THISCLOSE);
开空状态:=1;
END
IF (大趋势=3 OR 大趋势=4) AND 开多次数=1 THEN BEGIN
趋卖市加空:BUYshort(确认空=1 AND HOLDING<0 AND openprofit>0 ,手数,THISCLOSE);
开空次数:=2;
开空状态:=1;
END
{震荡市}
IF 大趋势=5 THEN BEGIN
IF 开多次数=0 THEN BEGIN
震荡市开多:BUY((震荡多=1 OR (确认多=1 AND 趋势=1)) AND HOLDING=0,手数,LIMIT,C-2*MINDIFF);
开多次数:=1;
IF(趋势=1, 开多状态=1,IF(趋势=5,开多状态=4,开多状态=3)) ;
END
ELSE IF 开空次数=0 THEN BEGIN
震荡市开空:BUYSHORT(((确认空=1 AND 趋势=3) OR 震荡空=1) AND HOLDING=0,手数,LIMIT,C+2*MINDIFF );
IF( 趋势=4 ,开空状态=1, IF(趋势=5,开空状态=4,开空状态=3));
开空次数:=1;
END
END
/////////////////////////////////
//止盈
//空单移动止盈
VARIABLE:YDZY=0; //移动止盈总开关,1为开,0为关
VARIABLE:HIGHPRICE=0,LOWPRICE=0; //保存开仓后的最高价、最低价
VARIABLE:DHCDS=6,KHCDS=6; //多、空单回撤点数
VARIABLE:DYLDS=10,KYLDS=10; //多、空单盈利点数,当盈利点数达到这个标准后,如果回撤达到上面的参数值就平仓
VARIABLE:Z3B1:=1, 空单止盈条件3=0, 空单止盈条件4=0,多单止盈条件3=0, 多单止盈条件4=0; //赚3保1开关
IF(开多状态=3 or 开空状态=3,ydzy=1,YDZY=0);
IF(开多状态=4 or 开空状态=4,ydzy=1 AND Z3B1=1,YDZY=0 AND Z3B1=1);
//空单移动止盈
IF YDZY=1 THEN BEGIN //每周期判断是否创新低
IF L<LOWPRICE THEN BEGIN
LOWPRICE:=L;
END
//如果盈利超过10点之后回撤达到3点,就平仓,保住盈利
IF ENTERPRICE-LOWPRICE>=KYLDS THEN BEGIN
IF L-LOWPRICE>=KHCDS AND 开空次数=1 THEN BEGIN //回撤超过6点
空单止盈条件3=1;
END
END
END
//空单赚5保1
IF Z3B1=1 THEN BEGIN
IF ENTERPRICE-LOWPRICE>=5 THEN BEGIN
IF ENTERPRICE-L<=1.2 THEN BEGIN
空单止盈条件4=1;
END
END
END
//多单移动止盈
IF YDZY=1 THEN BEGIN
//每周期判断是否创新高
IF H>HIGHPRICE THEN BEGIN
HIGHPRICE:=H;
END
//如果盈利超过10点之后回撤达到6点,就平仓,保住盈利
IF HIGHPRICE-ENTERPRICE>=DYLDS THEN BEGIN
IF HIGHPRICE-H>=DHCDS THEN BEGIN //回撤超过6点
多单止盈条件3=1;
END
END
END
//赚5保1
IF Z3B1=1 THEN BEGIN
IF HIGHPRICE-ENTERPRICE>=5 THEN BEGIN
IF H-ENTERPRICE<=1.2 THEN BEGIN
多单止盈条件4=1;
END
END
END
//止盈
多单止盈条件1:=CROSS(波段鬼,趋势线) and ref(波段鬼,1)>85;
多单止盈条件2:=REF(趋势,3)=1 and noT(趋势=1);
空单止盈条件1:=CROSS(趋势线,波段鬼) and ref(波段鬼,1)<15;
空单止盈条件2:=REF(趋势,3)=3 and noT(趋势=3);
//多单止盈
IF HOLDING>0 AND ((CROSS(波段鬼,趋势线) and ref(波段鬼,1)>85) or (REF(趋势,3)=1 and noT(趋势=1))) THEN begin
多头止盈:SELL(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
IF HOLDING>0 AND 开多状态=2 AND 开多次数=2 AND (多单止盈条件1 OR 多单止盈条件2) THEN BEGIN
多单止盈:SELL(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
IF HOLDING>0 AND 开多状态=3 AND 多单止盈条件3=1 THEN BEGIN
多移止盈1:SELL(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
IF HOLDING>0 AND 开多状态=3 AND 多单止盈条件4=1 THEN BEGIN
多移止盈2:SELL(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
//空单止盈
IF HOLDING<0 AND ((CROSS(趋势线,波段鬼) and ref(波段鬼,1)<15) or (REF(趋势,3)=3 and noT(趋势=3))) THEN begin
空头止盈:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
IF HOLDING<0 AND 开空状态=2 AND 开空次数=2 AND (空单止盈条件1 OR 空单止盈条件2) THEN BEGIN
空单止盈:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
IF HOLDING<0 AND 开空状态=3 AND 空单止盈条件3=1 THEN BEGIN
空移止盈1:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
IF HOLDING<0 AND 开多状态=3 AND 空单止盈条件4=1 THEN BEGIN
空移止盈2:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
end
//止损
多头止损价:=MIN(LLV(L,ENTERBARS+20),ENTERPRICE-10*MINDIFF);//前低点和和10个大点的较小值。
空头止损价:=Max(HHV(H,ENTERBARS+20),ENTERPRICE+10*mindiff);//这个策略用于股指,空头常规止损价为 开仓价加25%的10日平均波幅和3个大点的较小值。
IF HOLDING>0 AND C<多头止损价 THEN BEGIN
多止损:SELL(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
END
IF HOLDING<0 AND C>空头止损价 THEN BEGIN
空止损:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
END
//止损价调整
{若持多单,而5分钟K高点超过了开仓价+50%10日平均波幅,止损调整为保本型 }
//IF 今高>ENTERPRICE+0.5*10日平均波幅 THEN 多头止损价:=ENTERPRICE+2*MINDIFF;
//IF 今低<ENTERPRICE-0.5*10日平均波幅 THEN 空头止损价:=ENTERPRICE-2*MINDIFF;
{若时间处于14:30以后,多头跟踪止损为过去3个5分钟的最高低点与多空头止损价中的较大值}
//IF TIME>=143000 THEN BEGIN
// 多头止损价:=MAX(多头止损价,3周期最低价);
// 空头止损价:=MIN(空头止损价,3周期最高价);
//END
//日内平仓
IF TIME>=145700 and HOLDING<>0 AND TIME<=150000 THEN BEGIN
收盘平多:SELL(1,HOLDING,MARKET);
收盘平空:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
END
IF TIME>=225700 and HOLDING<>0 AND TIME<=230000 THEN BEGIN
夜收盘平多:SELL(1,HOLDING,MARKET);
夜收盘平空:SELLSHORT(1,HOLDING,MARKET);
趋卖市:=0;
趋买市:=0;
开多次数:=0;
开空次数:=0;
多头止损价:=0;
空头止损价:=0;
空单止盈条件4=0;
空单止盈条件3=0;
多单止盈条件4=0;
多单止盈条件3=0;
YDZY=0;
Z3B1=0;
开多状态=0;
开空状态=0;
END
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值