欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 实现二三档进场的单子

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3775人关注过本帖树形打印复制链接

主题:实现二三档进场的单子

帅哥哟,离线,有人找我吗?
YKj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2016/9/27 14:22:52
实现二三档进场的单子  发帖心情 Post By:2016/10/21 10:19:23    Post IP:180.169.30.6[显示全部帖子]

实现二三档进场的单子,在本周期用限定价低于收盘价平仓,次周期以后低于最高价平仓



//策略核心:
//进场
//周线KDJ933,J<0,设为基准价,
//第一次进场;买每份的45%;10/11
//第二次进场基准价下跌3%,买每份的35%;9.7/9.7+0.97
//第三次进场基准价下跌6%,买每份的20%;9.4/9.4+15%
//离场
//      第一进场成本价上涨10%,平仓45%;
//      第二进场成本价上涨12%,平仓35%;
//      第三进场成本价上涨15%,平仓20%;

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
VARIABLE: 基准价=0,flag1=0,flag2=0,flag3=0,VOL1=0,VOL2=0,VOL3=0;


//初始化底仓价格和调仓
IF CROSS(0,J) AND HOLDING=0 THEN BEGIN
    基准价:=CLOSE;
END
SS:=1000000/基准价;

//交易条件 
//实现二三档进场的单子,在本周期用限定价低于收盘价平仓,次周期以后低于最高价平仓
{
PD1:=基准价*1.1<H;
IF ENTERBARS>1 THEN BEGIN
    PD2:=(基准价*0.97)*1.1<H;
END

IF ENTERBARS=1 THEN BEGIN
    PD2:=(基准价*0.97)*1.1<C;
END

IF ENTERBARS>1 THEN BEGIN
    PD3:=(基准价*0.94)*1.15<H;
END

IF ENTERBARS=1 THEN BEGIN
    PD3:=(基准价*0.94)*1.15<C;
END
}

PD1:=基准价*1.1<H;
PD2:=(基准价*0.97)*1.1<C;
PD3:=(基准价*0.94)*1.15<C;

KD1:=CROSS(0,J);
KD2:=CROSS(基准价*0.97,L);
KD3:=CROSS(基准价*0.94,L);



//第二次进场的平仓;买每份的35%
PCC2:=(基准价*0.97)*1.1-OPEN;
IF PD2 THEN BEGIN
   SELL(flag2=1,VOL2,LIMITR,OPEN+PCC2);
   flag2:=2;
END

//第三次进场的平仓;买每份的20%
PCC3:=(基准价*0.94)*1.15-OPEN;
IF PD3 THEN BEGIN
   SELL(flag3=1,VOL3,LIMITR,OPEN+PCC3);
   flag3:=3;
END

//第一次进场的平仓;买每份的45%
PCC1:=基准价*1.1-OPEN;
IF PD1 THEN BEGIN
   SELL(flag1=1,VOL1,LIMIT,OPEN+PCC1);
   flag1:=0;
   flag2:=0;
   flag3:=0;
   基准价:=0;
END


//第一次进场;买每份的45%
IF KD1 THEN BEGIN
   T:=3;
   BUY(HOLDING=0 AND flag1=0,SS*45/100,THISCLOSE);
   T:=2;
   VOL1:=SS*45/100;
   flag1:=1;
END

//第二次进场;买每份的35%
CZ2:=基准价*0.97-OPEN;
IF KD2 AND flag2=0 AND T=2 THEN BEGIN
   BUY(1,SS*35/100,LIMIT,OPEN+CZ2);
   T:=1;
   VOL2:=ENTERVOL;
   flag2:=1;
END

//第三次进场;买每份的20%
CZ3:=基准价*0.94-OPEN;
IF KD3 AND flag3=0 AND T=1 THEN BEGIN
   BUY(1,SS*20/100,LIMIT,OPEN+CZ3);
   T:=0;
   VOL3:=ENTERVOL;
   flag3:=1;
END




{

//-------------------以触及市价平仓--------------------------------
ZSPRICE:=基准价*(1-ZS/100);
ZSC:=ZSPRICE-OPEN;
IF L<=ZSPRICE AND HOLDING>0 AND ENTERBARS>0 THEN BEGIN
  DRAWTEXT(1,LOW,'止损');
  SELL(HOLDING>0,0,LIMITR,OPEN+ZSC);
END

{
ZYPRICE:=ENTERPRICE*(1+ZY/100);
ZYC:=ZYPRICE-OPEN;
IF H>=ZYPRICE AND HOLDING>0 AND ENTERBARS>0 THEN BEGIN
  DRAWTEXT(1,HIGH,'止盈');
  SELL(HOLDING>0,0,LIMITR,OPEN+ZYC);
END

 回到顶部
帅哥哟,离线,有人找我吗?
YKj
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2016/9/27 14:22:52
  发帖心情 Post By:2016/10/21 10:40:47    Post IP:180.169.30.6[显示全部帖子]


此主题相关图片如下:qq图片20161021104014.png
按此在新窗口浏览图片

 


 需求就是要PD2,PD3,在本周期用低于收盘价,次周期的时候低于最高价为交易条件,我一直改不对,而且附图中回测数据,二三档可以开仓的位置没有开仓


 回到顶部