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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教交易匹配信号却不交易的问题

   

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


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

主题:请教交易匹配信号却不交易的问题

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


加好友 发短信
等级:新手上路 帖子:58 积分:0 威望:0 精华:0 注册:2019/11/25 13:24:59
请教交易匹配信号却不交易的问题  发帖心情 Post By:2019/12/16 14:46:01    Post IP:218.17.197.226[只看该作者]




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

如上图,在图表中回测,多空交替进行交易,做多做空的指标都匹配上,图表中也可以看到有做空的交易。但是为何会出现如上图,空的指标匹配上了,却不进行交易,交易代码如下,请老师指教:


ORDVOL:=1;
   
IF CD_BUY_LONG then 
   BEGIN  
   sellshort(holding<0,holding,market); //周期均线多头排列,则平空开多
   开多:buy(holding=0,ORDVOL,MARKET);
   END

IF CD_SELL_LONG then 
   BEGIN
   平多:SELL(holding>0,holding,market); //多头止盈
   END 
IF CD_BUY_SHORT then  
   BEGIN
   SELL(HOLDING>0,holding,MARKET);//周期均线空头排列,则平多开空
   开空:BUYSHORT(HOLDING=0,ORDVOL,MARKET);
   END 
IF CD_SELL_SHORT then   //空头止盈
   BEGIN
   平空:SELLSHORT(holding<0,HOLDING,MARKET);
   END 


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/12/16 15:03:00    Post IP:180.169.30.6[只看该作者]

 给出完整代码。否则我没法判断的。而且你这个绘制图形的条件和开仓条件未必就是一样的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
Hxpj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:0 威望:0 精华:0 注册:2019/11/25 13:24:59
  发帖心情 Post By:2019/12/16 15:35:23    Post IP:218.17.197.226[只看该作者]


开多单和止盈

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

开空单和止盈


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

是根据绘图的条件,设定开多单和开空单,不是完全没有,感觉是丢信号一样。

//看多指标
min_GA_Long:=#GMMAPower.X3;
5min_GA_Long:=STKINDI('','GMMAPower.X3',0,2,0);
15min_GA_Long:=STKINDI('','GMMAPower.X3',0,3,0);
60min_GA_Long:=STKINDI('','GMMAPower.X3',0,5,0);
3ZQGZ_LONG:=5min_GA_Long and 15min_GA_Long and 60min_GA_Long;
CD_VOL_LONG1:=#黄金量柱.倍量#=1;
CD_VOL_LONG2:=#黄金量柱.倍量#=1 and #黄金量柱.梯量#=1;
CD_VOL_LONG:=CD_VOL_LONG1 or CD_VOL_LONG2;
CD_MACD1:=#MACD3.X_6#>0;//DIF值
CD_MACD2:=#MACD3.MACD#>0;//MACD值
CD_MACD3:=#MACD3.X_6#>=REF(#MACD3.X_6#,1);
CD_MACD4:=#MACD3.X_7#>=REF(#MACD3.X_7#,1);
CD_MACD_LONG:=CD_MACD1 AND CD_MACD2 and (CD_MACD3 and CD_MACD4);
//开多单条件
CD_BUY_LONG:=3ZQGZ_LONG AND CD_VOL_LONG AND CD_MACD_LONG;
//看多止盈指标
CD_MACD_DIF:=#MACD3.X_6#<REF(#MACD3.X_6#,1);
CD_MACD_DEA:=#MACD3.X_7#<REF(#MACD3.X_7#,1);
CD_MACD_LONG_SELL:=CD_MACD_DIF AND CD_MACD_DEA;
CD_JG:=(#GMMAPower.MA1#<#GMMAPower.MA2# or #GMMAPower.MA1#<#GMMAPower.MA3#) or (REF(#GMMAPower.VAR6#,2) > #GMMAPower.NOTEXT20
CD_SELL_LONG:=CD_JG;

//看空指标
min_GA_short:=#GMMAPower.X4#;
5min_GA_short:=STKINDI('','GMMAPower.X4',0,2,0);
15min_GA_short:=STKINDI('','GMMAPower.X4',0,3,0);
60min_GA_short:=STKINDI('','GMMAPower.X4',0,5,0);
3ZQGZ_SHORT:=5min_GA_short and 15min_GA_short and 60min_GA_short;
CD_VOL_short:=#黄金量柱.倍量下跌#=1;
CD_MACD5:=#MACD3.MACD#<0;
CD_MACD6:=#MACD3.X_6#<REF(#MACD3.X_6#,1);
CD_MACD7:=#MACD3.X_7#<REF(#MACD3.X_7#,1);
CD_MACD_SHORT:=CD_MACD5 and CD_MACD6 AND CD_MACD7;
//开空仓
CD_BUY_SHORT:=3ZQGZ_SHORT and CD_VOL_short and CD_MACD_SHORT;
//看空止盈指标
CD_MACD_DIF_short:=#MACD3.X_6#>=REF(#MACD3.X_6#,1);
CD_MACD_DEA_short:=#MACD3.X_7#<REF(#MACD3.X_7#,1);
CD_MACD_DG1:=#MACD3.底拐#=1;
CD_MACD_DG2:=#MACD3.底拐2#=1;
CD_MACD_DG:=CD_MACD_DG1 or (CD_MACD_DG1 and CD_MACD_DG2);
CD_MACD_SHORT_SELL:=CD_MACD_DIF_short and CD_MACD_DEA_short or CD_MACD_DG;
CD_GJ_short:=CROSS(#GMMAPower.MA1#,#GMMAPower.MA2#);
CD_SELL_SHORT:=CD_MACD_SHORT_SELL or CD_GJ_short;

ORDVOL:=1;  
IF CD_BUY_LONG then 
   BEGIN  
   sellshort(holding<0,holding,market); //周期均线多头排列,则平空开多
   开多:buy(holding=0,ORDVOL,MARKET);
   END
IF CD_SELL_LONG then 
   BEGIN
   平多:SELL(holding>0,holding,market); //多头止盈
   END 
IF CD_BUY_SHORT then  
   BEGIN
   SELL(HOLDING>0,holding,MARKET);//周期均线空头排列,则平多开空
   开空:BUYSHORT(HOLDING=0,ORDVOL,MARKET);
   END 
IF CD_SELL_SHORT then   //空头止盈
   BEGIN
   平空:SELLSHORT(holding<0,HOLDING,MARKET);
   END 

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


加好友 发短信
等级:新手上路 帖子:58 积分:0 威望:0 精华:0 注册:2019/11/25 13:24:59
  发帖心情 Post By:2019/12/16 15:45:37    Post IP:218.17.197.226[只看该作者]



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


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

在图表中都是能找到交易的,如上做空会出现匹配上信号,但不进行交易。

//看多指标
5min_GA_Long:=STKINDI('','GMMAPower.X3',0,2,0);
15min_GA_Long:=STKINDI('','GMMAPower.X3',0,3,0);
60min_GA_Long:=STKINDI('','GMMAPower.X3',0,5,0);
3ZQGZ_LONG:=5min_GA_Long and 15min_GA_Long and 60min_GA_Long;
CD_VOL_LONG1:=#黄金量柱.倍量#=1;
CD_VOL_LONG2:=#黄金量柱.倍量#=1 and #黄金量柱.梯量#=1;
CD_VOL_LONG:=CD_VOL_LONG1 or CD_VOL_LONG2;
CD_MACD1:=#MACD3.X_6#>0;
CD_MACD2:=#MACD3.MACD#>0;
CD_MACD3:=#MACD3.X_6#>=REF(#MACD3.X_6#,1);
CD_MACD4:=#MACD3.X_7#>=REF(#MACD3.X_7#,1);
CD_MACD_LONG:=CD_MACD1 AND CD_MACD2 and (CD_MACD3 and CD_MACD4);
//看多交易策略
CD_BUY_LONG:=3ZQGZ_LONG AND CD_VOL_LONG AND CD_MACD_LONG;
//看多止盈指标
CD_JG:=(#GMMAPower.MA1#<#GMMAPower.MA2# or #GMMAPower.MA1#<#GMMAPower.MA3#) or (REF(#GMMAPower.VAR6#,2) > #GMMAPower.NOTEXT20#);
CD_SELL_LONG:=CD_JG;
//看空指标
5min_GA_short:=STKINDI('','GMMAPower.X4',0,2,0);
15min_GA_short:=STKINDI('','GMMAPower.X4',0,3,0);
60min_GA_short:=STKINDI('','GMMAPower.X4',0,5,0);
3ZQGZ_SHORT:=5min_GA_short and 15min_GA_short and 60min_GA_short;
CD_VOL_short:=#黄金量柱.倍量下跌#=1;
CD_MACD5:=#MACD3.MACD#<0;//MACD值
CD_MACD6:=#MACD3.X_6#<REF(#MACD3.X_6#,1);//DIF升为无效
CD_MACD7:=#MACD3.X_7#<REF(#MACD3.X_7#,1); //DEA升为无效
CD_MACD_SHORT:=CD_MACD5 and CD_MACD6 AND CD_MACD7;
CD_BUY_SHORT:=3ZQGZ_SHORT and CD_VOL_short and CD_MACD_SHORT;
//看空止盈指标
CD_MACD_DIF_short:=#MACD3.X_6#>=REF(#MACD3.X_6#,1);//DIF升为有效值
CD_MACD_DEA_short:=#MACD3.X_7#<REF(#MACD3.X_7#,1);//DEA升为无效值
CD_MACD_DG1:=#MACD3.底拐#=1;
CD_MACD_DG2:=#MACD3.底拐2#=1;
CD_MACD_DG:=CD_MACD_DG1 or (CD_MACD_DG1 and CD_MACD_DG2);
CD_MACD_SHORT_SELL:=CD_MACD_DIF_short and CD_MACD_DEA_short or CD_MACD_DG;
CD_GJ_short:=CROSS(#GMMAPower.MA1#,#GMMAPower.MA2#);
CD_SELL_SHORT:=CD_MACD_SHORT_SELL or CD_GJ_short;
//交易策略
ORDVOL:=1;
IF CD_BUY_LONG then 
   BEGIN  
   sellshort(holding<0,holding,market); //周期均线多头排列,则平空开多
   开多:buy(holding=0,ORDVOL,MARKET);
   END

IF CD_SELL_LONG then 
   BEGIN
   平多:SELL(holding>0,holding,market); //多头止盈
   END 
IF CD_BUY_SHORT then  
   BEGIN
   SELL(HOLDING>0,holding,MARKET);//周期均线空头排列,则平多开空
   开空:BUYSHORT(HOLDING=0,ORDVOL,MARKET);
   END 
IF CD_SELL_SHORT then   //空头止盈
   BEGIN
   平空:SELLSHORT(holding<0,HOLDING,MARKET);
   END 

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2019/12/17 19:40:15    Post IP:115.238.230.131[只看该作者]

你用了跨周期函数了,这种你现在看到的信号和当时的信号是不一样的

比如我在一分钟上使用大盘日线红绿判断,早上大盘红了我有信号,下午发现大盘又绿了那么早上的一分钟的信号会全部消失掉的

解决方法是跨周期引用时候最后一个参数用-1,表示向前引用

 


 回到顶部