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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 图表转后台的问题

   

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


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

主题:图表转后台的问题

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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
图表转后台的问题  发帖心情 Post By:2020/11/24 13:50:21    Post IP:121.232.26.103[显示全部帖子]

INPUT:ZY(0.03,0.01,0.09,0.005),ZS(0.009,0.001,0.02,0.001);

IF BULL AND B_COND  AND BVOL THEN BEGIN
 TSELLSHORT(1,0,LMT,C);
 TBUY(THOLDING=0,CW%,LMT,C),PERTRADER;
END

 

zg:=hhv(h,TENTERBARS+1);

IF (ZG-TAVGENTERPRICE)/TAVGENTERPRICE>=ZY*0.2 AND C<TAVGENTERPRICE THEN BEGIN
 TSELL(1,0,LMT,C);
END
if (zg-TAVGENTERPRICE)/TAVGENTERPRICE>=ZY*0.4 and (C-TAVGENTERPRICE)<=(zg-TAVGENTERPRICE)*0.5 then begin
   TSELL(1,0,LMT,C);  
END 
多单止损:=TSELL(TAVGENTERPRICE-c>c*ZS and THOLDING>0 ,0,LMT,C);

 

请问老师,后台代码这样表述正确吗??

 

目前遇到的问题:回测时,平仓信号与图表大部分不一致,偶尔也会一致,不知道是什么原因导致的。


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/24 14:01:57    Post IP:121.232.26.103[显示全部帖子]

如图所示:出现提前平仓,后续多开仓的情况。



图片点击可在新窗口打开查看此主题相关图片如下:后台.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20201124135840.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/11/24 14:02:45编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/24 14:49:21    Post IP:121.232.26.103[显示全部帖子]

1.思路完全一致,无更改,只修改了后台代码和交易指令;

 

2.数据量也是完全一致的;

 

3.两个回测机制略有差错可以理解,但是,后台回测下来,没有按照指令去实现平仓,开仓是符合逻辑的;

 

4.更改为TAVGENTERPRICEEX2(0),错误提示:所调用的参数与预定义参数不符。


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/24 15:22:37    Post IP:121.232.26.103[显示全部帖子]

 
BULL:=(C>DJX AND N1=1) OR (C>XJX AND N3=1);
BEAR:=(C<GJX AND N2=1) OR (C<SJX AND N4=1);

BVOL:=C>O AND VOL>VA1 AND VOL>VA2 AND VOL>VA3;
SVOL:=C<O AND VOL>VA1 AND VOL>VA2 AND VOL>VA3;

B_COND:=C>REF(YL,1) OR ( CROSS(C,A4) AND CD6 )  OR (CROSS(C,BF) AND CD2);

S_COND:=C<REF(ZC,1) OR ( CROSS(A3,C) AND CD8 )  OR (CROSS(BG,C) AND CD4);


zg:=hhv(h,enterbars+1);
CS:=LLV(L,ENTERBARS+1);

IF (ZG-AVGENTERPRICE)/AVGENTERPRICE>=ZY*0.2 AND C<AVGENTERPRICE THEN BEGIN
 SELL(1,0,limitr,c);
END
IF  (AVGENTERPRICE-CS)/CS>=ZY*0.2  AND  C>AVGENTERPRICE THEN BEGIN
 SELLSHORT(1,0,limitr,c);
END

if (zg-avgenterprice)/avgenterprice>=ZY*0.4 and (C-avgenterprice)<=(zg-avgenterprice)*0.5 then begin
   sell(1,0,limitr,c);  
END
 if (avgenterprice-CS)/CS>=ZY*0.4 and (avgenterprice-C)<=(avgenterprice-CS)*0.5 then begin 
   sellshort(1,0,limitr,c);       
End

if (zg-avgenterprice)/avgenterprice>=ZY*0.6 and (C-avgenterprice)<=(zg-avgenterprice)*0.6 then begin
   sell(1,0,limitr,c);  
END
 if (avgenterprice-CS)/CS>=ZY*0.6 and (avgenterprice-C)<=(avgenterprice-CS)*0.6 then begin 
   sellshort(1,0,limitr,c);     
End

if (zg-avgenterprice)/avgenterprice>=ZY*0.8 and (C-avgenterprice)<=(zg-avgenterprice)*0.7 then begin
   sell(1,0,limitr,c);  
END
 
if (avgenterprice-CS)/CS>=ZY*0.8 and (avgenterprice-C)<=(avgenterprice-CS)*0.7 then begin 
   sellshort(1,0,limitr,c);     
End

if (zg-avgenterprice)/avgenterprice>=ZY and (C-avgenterprice)<=(zg-avgenterprice)*0.8 then begin
   sell(1,0,limitr,c);  
END
 
if (avgenterprice-CS)/CS>=ZY and (avgenterprice-C)<=(avgenterprice-CS)*0.8 then begin 
   sellshort(1,0,limitr,c);    
End


多单止损:=sell(avgenterprice-c>c*ZS and holding>0 ,0,limitr,c);
空单止损:=sellshort(c-avgenterprice>c*ZS and holding<0 ,0 ,limitr,c);

IF BULL AND B_COND  AND BVOL THEN BEGIN
 SELLSHORT(1,0,limitr,c);
 BUY(HOLDING=0,CW%,limitr,c);
END

IF BEAR AND S_COND AND SVOL THEN BEGIN
 SELL(1,0,limitr,c);
 BUYSHORT(HOLDING=0,CW%,limitr,c);
END

 

开仓逻辑是正确的,问题出在平仓语句上;

 

麻烦老师帮忙把这段语句更改为后台语句,非常感谢!!


 


 回到顶部