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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 已经执行的信号因为后面信号闪烁后又消失了,怎么办?

   

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


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

主题:已经执行的信号因为后面信号闪烁后又消失了,怎么办?

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


加好友 发短信
等级:论坛游侠 帖子:128 积分:0 威望:0 精华:0 注册:2017/7/31 14:10:51
已经执行的信号因为后面信号闪烁后又消失了,怎么办?  发帖心情 Post By:2017/9/27 19:45:56 [只看该作者]

如题,金字塔图表程序化交易小周期引用大周期的跨周期引用,因为小周期走完的时候大周期也正好符合信号,所以信号被执行了,后面大周期走完后信号不符合了,原来已经执行的信号在图表交易上消失了,这样直接导致已经开的仓位完全不被图表交易记录。而同样的情况文华财经WH8是把信号保留的,就是保留那一刻符合的信号,即时后面闪烁掉了。有什么办法可以实现跟文华财经一样吗?

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


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
  发帖心情 Post By:2017/9/28 9:09:38 [只看该作者]

这种信号闪烁的跨周期引用,一般会向前偏移引用,不引用当前的周期,而是引用上一个周期,这样信号就能保证是稳定的。

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


加好友 发短信
等级:论坛游侠 帖子:128 积分:0 威望:0 精华:0 注册:2017/7/31 14:10:51
  发帖心情 Post By:2017/9/28 13:49:20 [只看该作者]

    谢谢解答!这个偏移引用是知道的,现在想要实现的就是不用偏移引用也可以让已经执行的信号不消失,可以吗?

    就是说即使后面大周期的信号没触发,但已经执行的信号也不消失。这个在文华wh8里的机制就是这样的,它就是:

小周期引用大周期,也不用偏移引用。如小周期5分钟K线引用30分钟k线,都是当根K线,不使用偏移。

1、小周期符合信号,大周期在小周期符合信号的那一刻也符合
2、然后系统就发指令执行开仓,后面大周期不符合了,但已经执行的信号也不消失
3、这个是文华里是这样

    但金字塔的图表交易是让信号消失的,这样会使得已经开仓的仓位得不到程序控制了(程序会认为根本没有开仓)

    有什么办法可以像文华那样吗?还是说金字塔内部机制定了只能这样了?求解,谢谢!
[此贴子已经被作者于2017/9/28 13:50:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/9/28 14:10:37 [只看该作者]

在金字塔中,信号闪烁本身就被视为是一种异常现象,由于小周期引用大周期,小周期线走完了,大周期线还没有走完,很容易在大周期走完后,由于数据变化对前面的信号产生影响,所以在金字塔中都建议客户往前偏移一根K线,引用已经固定的数据,避免信号的闪烁。金字塔中没有对消失的信号进行显示,只根据数据计算条件判断信号是否满足,满足了才会显示出来。

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


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2017/7/20 10:49:07
  发帖心情 Post By:2017/9/28 22:14:18 [只看该作者]

以下是引用gxx978在2017/9/28 14:10:37的发言:
在金字塔中,信号闪烁本身就被视为是一种异常现象,由于小周期引用大周期,小周期线走完了,大周期线还没有走完,很容易在大周期走完后,由于数据变化对前面的信号产生影响,所以在金字塔中都建议客户往前偏移一根K线,引用已经固定的数据,避免信号的闪烁。金字塔中没有对消失的信号进行显示,只根据数据计算条件判断信号是否满足,满足了才会显示出来。

金字塔在信号闪烁问题上确实做的不够,除了小周期引用大周期导致的信号闪烁外,在同一根k线上进行平仓,金字塔也无法解决信号闪烁问题,比如这样一个例子,在开仓以后,模型计算一个止损值,当价格触碰这个值的时候立即止损平仓,那么在开仓的同一根K线上就必须要用到最新价c,用到c的话信号就会闪烁,我找了很多办法都无法固定dang根K线上的这个信号!


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


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2017/9/29 7:18:52 [只看该作者]

用金字塔的后台可以方便处理。但信号闪烁的模型你真的敢实盘?这样的模型测试结果都是虚假的,是很多骗子的长用手法。

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/29 8:37:02 [只看该作者]

闪烁这种不是软件平台造成的,是你自己的策略处理上造成的。close本身就是变动的,要是不在信号触发点的位置闪动才是怪事,除非行情持续向一个方向上升或者下降。

这种是需要你自己条件中控制的。

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
2017gogogoo
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2017/7/20 10:49:07
  发帖心情 Post By:2017/9/29 11:06:14 [只看该作者]

以下是引用wenarm在2017/9/29 8:37:02的发言:

闪烁这种不是软件平台造成的,是你自己的策略处理上造成的。close本身就是变动的,要是不在信号触发点的位置闪动才是怪事,除非行情持续向一个方向上升或者下降。

这种是需要你自己条件中控制的。

 

谢谢,我不是说闪烁是软件造成的,我的意思是金字塔在解决信号闪烁问题上做的不够,需要在同一根K线上做止损平仓,这个需求应该不少吧,如果不用close来处理这个止损条件,你有别的方法吗?用到close就一定会闪烁,我尝试了好多种办法都解决不了,包括不在同一根K线上止损,而是用软件的自动止损功能,但它的止损值是固定的,我需要动态计算这个止损值,所以替代不了!

你说是策略处理上造成的,没错,但我想在同一根K线上做止损平仓的需求,你有不用close信号不闪烁的处理方法吗?


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


加好友 发短信
等级:论坛游侠 帖子:236 积分:0 威望:0 精华:0 注册:2017/7/20 10:49:07
  发帖心情 Post By:2017/9/29 11:12:30 [只看该作者]

这是公式代码,图表1分钟

 

input:ss(2,1,999,1),t(0,0,400000,1),p(0,0,400000,1);
VARIABLE:kzsATR=drawnull,doubleATR=drawnull,threeATR=drawnull,cfT=0,CFP=0,eckcON=0;//eckcON为二次开仓开关。
ATR:=ref(MA(tr,20),1);
abb:=(time0-timetot0(dynainfo(207))<=20) or not(islastbar);
mck:=(h-l)/ma(tr,20);
3G:=if(ref(holding,1)<0,hhv(ref(h,1),2),drawnull);
ll:if(cfT=0 and t<>0 and date[DATACOUNT]=date,t,drawnull),LINETHICK2,colorblue;
lll:if(cfP=0 and p<>0 and date[DATACOUNT]=date,p,drawnull),LINETHICK2,COLORBROWN;


///////////////////收盘和夜盘平仓模块//////////////////////////////////////////////////////////////////////////////
neipan:=STRNCMP(STKNAME,'螺纹',4)=0 or STRNCMP(STKNAME,'矿石',4)=0 or STRNCMP(STKNAME,'轧卷',4)=0 or
  STRNCMP(STKNAME,'焦炭',4)=0 or STRNCMP(STKNAME,'焦煤',4)=0 or STRNCMP(STKNAME,'玻璃',4)=0 or
  STRNCMP(STKNAME,'动力',4)=0 or STRNCMP(STKNAME,'鸡蛋',4)=0 or STRNCMP(STKNAME,'硅铁',4)=0 or
  STRNCMP(STKNAME,'锰硅',4)=0 or STRNCMP(STKNAME,'橡胶',4)=0 or STRNCMP(STKNAME,'玉米',4)=0 or
  STRNCMP(STKNAME,'淀粉',4)=0 ; //内盘品种
youse:=STRNCMP(STKNAME,'沪铜',4)=0 or STRNCMP(STKNAME,'沪锌',4)=0 or STRNCMP(STKNAME,'沪铝',4)=0 or
  STRNCMP(STKNAME,'沪镍',4)=0 or STRNCMP(STKNAME,'沪锡',4)=0 or STRNCMP(STKNAME,'沪铅',4)=0 ;
guijin:=STRNCMP(STKNAME,'白银',4)=0 or STRNCMP(STKNAME,'黄金',4)=0;
huanggongnongchan:=STRNCMP(STKNAME,'沥青',4)=0 or STRNCMP(STKNAME,'豆一',4)=0 or 
  STRNCMP(STKNAME,'塑料',4)=0 or STRNCMP(STKNAME,'豆粕',4)=0 or STRNCMP(STKNAME,'棕榈',4)=0 or
  STRNCMP(STKNAME,'聚氯',4)=0 or STRNCMP(STKNAME,'豆油',4)=0 or STRNCMP(STKNAME,'豆粕',4)=0 or
  STRNCMP(STKNAME,'聚丙',4)=0 or STRNCMP(STKNAME,'棉花',4)=0 or STRNCMP(STKNAME,'新菜',4)=0 or
  STRNCMP(STKNAME,'白糖',4)=0 or STRNCMP(STKNAME,'P',1)=0  or STRNCMP(STKNAME,'甲醇',4)=0 or
  STRNCMP(STKNAME,'菜粕',4)=0 ;

IFclose:=if(time=190000  or (time=050000 and youse) or (time=063000 and guijin) or
  (time=033000 and huanggongnongchan) or (time=030000 and strleft(stkname,4)='沥青'),1,0 );
  
if IFclose and abb and dynainfo(55)<>c and holding<0 then begin
 sellshort(1,holding,marketr);
 kzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
end
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 


//开空
if  l<=ll then begin
 if o>=ll and holding=0 and not(IFclose) then BEGIN 
  buyshort(1,ss,limitr,ll-mindiff*4);
  kzsATR:=ll+max(mindiff*2,ATR);
  doubleATR:=ll-ATR*2;
  threeATR:=ll-ATR*3;
 end
 cfT:=1;
end

if l<=lll then begin
 if  o>=lll and holding=0 and eckcON=1 and not(IFclose) then BEGIN 
  buyshort(1,ss,limitr,lll-mindiff*4);
  kzsATR:=lll+max(mindiff*2,ATR);
  doubleATR:=lll-ATR*2;
  threeATR:=lll-ATR*3;
  cfP:=1;
 end  
 if l<lll then cfP:=1;
end
 

 
//破3根K线最高价平仓
if  holding<0 and h>3G then BEGIN
  SELLSHORT(1,holding,marketr);
 kzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
 eckcON:=1;
end


 
//ATR止损
if holding<0 then begin
 if l<doubleATR then kzsATR:=min(kzsATR,ENTERPRICE+mindiff*4);//突破2倍ATR后下移止损
 if l<threeATR  then kzsATR:=min(kzsATR,ENTERPRICE+mindiff*2);//突破3倍ATR后下移止损
end

CorH:=if(enterbars=0 or kzsATR<ref(kzsATR,1),c,h);
if  CorH>kzsATR and holding<0 then BEGIn
 SELLSHORT(1,holding,marketr); 
 kzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
 eckcON:=1; 
end

 

//脉冲大K线平仓
ccl:=openint<ref(openint,1);
if  holding<0 and ccl and mck>5 and (c-l)>mindiff*2 then begin
 sellshort(1,holding,marketr);
 kzsATR:=drawnull;
 doubleATR:=drawnull;
 threeATR:=drawnull;
end

 

//日内全局变量归零处理
//if time=CLOSETIME(0) then eckcON:=0;

 
止损线:min(3G,kzsatr),colorred;


//调试
2atrr:doubleATR;
3atr:threeatr;
//qqqqq:EXTGBDATA('A1')

[此贴子已经被作者于2017/9/29 11:13:59编辑过]

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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/29 11:22:00 [只看该作者]

没办法,在图表中不能做到鱼和熊掌兼得的。你即需要即时止损触发,又需要图表中产生的信号稳定。

 或者你考虑使用后台,后台没有闪烁的概念,触发就是触发,不会牵扯到历史k线信号虚拟的计算。

[此贴子已经被作者于2017/9/29 11:23:08编辑过]


编程无捷径,技巧靠积累。
 回到顶部
总数 13 1 2 下一页