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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 同一个品种多个模型 合并下单

   

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


  共有4376人关注过本帖平板打印复制链接

主题:同一个品种多个模型 合并下单

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


加好友 发短信
等级:论坛游侠 帖子:231 积分:55 威望:0 精华:0 注册:2013/2/7 14:30:23
  发帖心情 Post By:2016/1/21 15:41:14    Post IP:123.116.155.47[只看该作者]

模型A

input:LOTS(1,1,30,1);
GLOBALVARIABLE:HOLD:=drawnull;
VARIABLE:CW:=0;
variable:n=0;
向上波动率:=(((HIGH - REF(CLOSE,1)) / REF(CLOSE,1)) * 100);
AA1:=SMA(向上波动率,1,1);
向下波动率:=(((LOW - REF(CLOSE,1)) / REF(CLOSE,1)) * 100);
AA:=SMA(向下波动率,1,1);
DAYOPEN1:=VALUEWHEN((AA1 > REF(AA1,1)),OPEN);
DAYOPEN:=VALUEWHEN((AA > REF(AA,1)),OPEN);
交易时间D:=((TIME >91500) AND (TIME <92000)) OR ((TIME >93100) AND (TIME <112900)) OR ((TIME >130000) AND (TIME <132100)) OR ((TIME >133000) AND (TIME <151300));
交易时间K:=((TIME >91500) AND (TIME < 91900)) OR ((TIME >92700) AND (TIME <112900)) OR ((TIME >130000) AND (TIME <133000)) OR ((TIME >133000) AND (TIME <151300));
开多平空:=(DAYOPEN * (1 + (0.3 / 208)));
开空平多:=(DAYOPEN1 * (1 - (0.23 /208)));
K:=VALUEWHEN((OPEN > REF(LOW,1)),TRMA(开多平空,62));
K1:=VALUEWHEN((OPEN < REF(HIGH,1)),TRMA(开空平多,44));
K2:=EMA(HIGH,6);
K3:=EMA(LOW,6);
K4:=(K1 > K3);
K5:=(K2 > K);
K6:=FILTER(CROSS(HIGH,开多平空),1);
K7:=FILTER(CROSS(开空平多,LOW),1);
BO:=((HOLDING > 0) AND (ENTERBARS > 1));
SO:=((HOLDING < 0) AND (ENTERBARS > 1));
TP:=IF(BO,HHV(CLOSE,ENTERBARS),IF(SO,LLV(CLOSE,ENTERBARS),0));
OO:VALUEWHEN(DATE<>REF(DATE,1),O);//当日开盘价

IF ((K6 AND (HOLDING < 0))  AND K5) THEN
BEGIN
SELLSHORT((HOLDING < 0) ,HOLDING ,market),ignorecheckprice;//平空
END
IF ((K7 AND (HOLDING > 0))  AND K4) THEN
BEGIN
SELL((HOLDING > 0),HOLDING ,market),ignorecheckprice;//平多
END

IF (((K6 AND (HOLDING = 0)) AND 交易时间D) AND K5) THEN
BEGIN
BUY((HOLDING = 0), LOTS ,market),ignorecheckprice;//开多
n:=enterprice;
END
IF ((BO AND (CLOSE <= (TP * (1 - (0.0001 * 11))))) AND (HIGH >= (ENTERPRICE +  (OO*13/10000)))) THEN BEGIN  //多单止盈
SELL((HOLDING > 0),HOLDING,market),ignorecheckprice;
END
if c>n then n:=c; 
if n>enterprice and c<enterprice && TYPEBAR(1 ,1) >225  then 
BEGIN 
SELL((HOLDING > 0),HOLDING,market),ignorecheckprice;//平盘平多
END

IF ((ENTERPRICE - CLOSE) >(OO*20/10000)) THEN   //多单止损
BEGIN 
SELL((HOLDING > 0),HOLDING,market),ignorecheckprice;
END
BEGIN
SELL(((HOLDING > 0) AND (TIME > 151400)),HOLDING,market);
END

IF (((K7 AND (HOLDING = 0)) AND 交易时间K) AND K4) THEN
BEGIN
BUYSHORT((HOLDING = 0), LOTS,market),ignorecheckprice;//开空
n:=enterprice;
END
if c>n then n:=c; 
if n>enterprice and c<enterprice && TYPEBAR(1 ,3) >187 then 
BEGIN 
SELLSHORT((HOLDING < 0),HOLDING,market),ignorecheckprice;//平盘平空
END
IF ((CLOSE - ENTERPRICE) >(OO*30/10000)) THEN  //空单止损
BEGIN
SELLSHORT((HOLDING < 0),HOLDING,market),ignorecheckprice;
END
IF ((SO AND (CLOSE >= (TP * (1 + (0.0001 *6))))) AND (LOW <= (ENTERPRICE - (OO*15/10000)))) THEN   //空单止盈
BEGIN

SELLSHORT((HOLDING < 0),HOLDING,market),ignorecheckprice;
END
BEGIN
SELLSHORT(((HOLDING < 0) AND (TIME > 151400)),HOLDING,market);
END
BEGIN
SELL(((HOLDING > 0) AND (TIME > 151400)),HOLDING,market);
END

IF (DATE <> REF(DATE,1)) THEN
BEGIN
YTDASSET:=ASSET;
END
日盈:(ASSET - YTDASSET),NODRAW,COLORRED;


{
KD:=;          //开多条件
PD:=;          //平多条件
KK:=;          //开空条件
PK:=;          //平空条件


平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

}
{
信号语句排列规则——先平后开
“费率设置”按钮——用于合理设置模型“费率”,以便在图形上正确输出如下帐户信息:

持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
}





模型B
input:Y(1,1,100000000,1),TQ(3,3,60,1);
RSV:=(((CLOSE - LLV(LOW,2)) / (HHV(HIGH,2) - LLV(LOW,2))) * 100);
FASTK:=SMA(RSV,3,1);
MA1:=SMA(FASTK,6,1);
D:=SMA(MA1,5,1);
PT:=(REF(HIGH,1) - REF(LOW,1));
CDP:=(((REF(HIGH,1) + REF(LOW,1)) + REF(CLOSE,1)) / 3);
AH:=MA((CDP + PT),2);
AL:=MA((CDP - PT),2);
NH:=MA(((2 * CDP) - LOW),2);
NL:=MA(((2 * CDP) - HIGH),2);
NQ:=(AH + AL + NH + NL) / 4;
ABB:=(((TIME0 - TIMETOT0(DYNAINFO(207))) <= TQ) OR NOT(ISLASTBAR));
IF ABB then ;
IF ((HOLDING > 0) AND CROSS((HHV(NQ,6) * (1 - (2 * 0.001))),NQ)) THEN BEGIN
SELL((HOLDING > 0),Y,market);
END

IF ((HOLDING < 0) AND CROSS(NQ,(LLV(NQ,6) * (1 + (2 * 0.001))))) THEN BEGIN
SELLSHORT((HOLDING < 0),Y,MARKET);
END
IF ((((HOLDING = 0) AND CROSS(NQ,(LLV(NQ,6) * (1 + (2 * 0.001))))) AND (MA1 >= REF(MA1,1))) AND (TIME <= 150300)) THEN BEGIN
BUY((HOLDING = 0) ,Y,MARKET);
END
IF ((((HOLDING = 0) AND CROSS((HHV(NQ,6) * (1 - (2 * 0.001))),NQ)) AND (MA1 <= REF(MA1,1))) AND (TIME <= 150300)) THEN BEGIN
BUYSHORT((HOLDING = 0) ,Y,MARKET);
END
BO:=((HOLDING > 0) AND (ENTERBARS > 1));
SO:=((HOLDING < 0) AND (ENTERBARS > 1));
TP:=IF(BO,HHV(CLOSE,ENTERBARS),IF(SO,LLV(CLOSE,ENTERBARS),0));
IF ((BO AND (CLOSE <= (TP * (1 - ((0.0001 * 11) * 3))))) AND (HIGH >= (ENTERPRICE + 10))) THEN BEGIN
SELL((HOLDING > 0),Y,market);
END
IF ((SO AND (CLOSE >= (TP * (1 + ((0.0001 * 5) * 3))))) AND (LOW <= (ENTERPRICE - 12))) THEN BEGIN
SELLSHORT((HOLDING < 0),Y,MARKET);
END
BEGIN
SELLSHORT(((HOLDING < 0) AND (TIME > 151200)),HOLDING,market);
END
BEGIN
SELL(((HOLDING > 0) AND (TIME > 151200)),HOLDING,market);
END

IF (DATE <> REF(DATE,1)) THEN
BEGIN
YYTDASSET:=ASSET;
END
日盈:(ASSET - YYTDASSET),NODRAW,COLORRED;

 回到顶部
总数 23 1 2 3 下一页