以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  一个高频单边思路求帮助  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=180801)

--  作者:AMOS
--  发布时间:2020/6/24 14:07:22
--  一个高频单边思路求帮助
请教老师指导完善:
适用场景:开盘极端行情及盘中快速拉升大跌;
 逻辑描述:连续上涨无回调或者若有回调需满足‘无成交量的价差>最大回撤’;//a and ( b or c);
A:all((c>=ref(c,1) ,3);

bb:HHVBARS<=1;//回调的定义
B:all((HHVBARS<=ref(bb,1) ,3));//
 
C:无成交量的价差>最大回撤;
无成交量的价差:最大两个价位之间的差,价差之间是没有成交量的//?
最大回撤:日内最高价-ee;//类似于此,请教更简洁的写法或者函数
dd:HHVBARS(H,TODAYBAR);
ee:LLV(L,dd);

顺势开多(开空)条件:a and ( b or c);
平多:a ,b条件不满足 and  C无成交量的价差<最大回撤;

自己尝试写的半成品,不够简洁,满足不了高频极端行情交易需求
请教老师帮助完善

--  作者:gxx978
--  发布时间:2020/6/24 14:18:02
--  

1、麻烦详细描述下无成交量的价差是什么意思,不是很明白。

2、另外最大回撤是从当天开盘后开始统计,从当前最高点回落的一个最大的幅度?


--  作者:AMOS
--  发布时间:2020/6/24 14:21:57
--  
1.类似于‘跳空’,两个价位间无成交量的最大差价;
2.日内策略,日内最高点回落的最大幅度;

--  作者:AMOS
--  发布时间:2020/6/24 14:29:18
--  
日内策略,tick级别周期
--  作者:gxx978
--  发布时间:2020/6/24 14:30:52
--  

1、这个不太好处理,我们再考虑下吧,或者说您是否有别的更好的思路?

2、当天的最大回撤,可以用全局变量来标记,例如:

   VARIABLE:A=0;
   M:hhv(h,todaybar);
  IF M-C>A THEN
    A:=M-C;
   
 IF TIME>CLOSETIME(4) THEN 
   A:=0;

[此贴子已经被作者于2020/6/24 14:43:00编辑过]

--  作者:gxx978
--  发布时间:2020/6/24 14:42:38
--  

考虑了下,就是比较当根K线的close和上根K线的close的差值,若这个差值大于1个变动价位,表示中间存在日内跳空,统计这个跳空的最大值。看是否满足您的需求。

variable:jc=1*mindiff;
qc:ref(c,1);
if c-qc>jc then
  jc:=c-qc;

 

IF TIME>CLOSETIME(4) THEN 
   jc:=1*mindiff;

[此贴子已经被作者于2020/6/24 14:54:15编辑过]

--  作者:AMOS
--  发布时间:2020/6/24 15:08:55
--  
非常棒的思路!图片点击可在新窗口打开查看
老师能否帮我优化写一下这个高频的单边策略,速度是第一的,虽然逻辑达到了;
(我写的回调那些逻辑,估计在高频中都追不上行情。
谢谢


--  作者:gxx978
--  发布时间:2020/6/24 15:19:35
--  
这个最好先完成代码的逻辑编写,再实际运行测试下,看运行的效果如何。
--  作者:AMOS
--  发布时间:2020/6/26 11:39:09
--  
逻辑代码已经完成,请老师优化,高频速度第一,谢谢

逻辑描述:连续上涨无回调或者若有回调需满足‘跳空>最大回撤’;//a and ( b or cc); 高频日内 TICK级别 适用于单边极端行情
A:all((c>=ref(c,1) ,3));
A2:all((c<=ref(c,1) ,3);

bb:HHVBARS<=1;//回调的定义
B:all((HHVBARS<=ref(bb,1) ,3));//上
bb2:LLVBARS<=1;//
B2:all((LLVBARS<=ref(bb2,1) ,3));//下
 
CC:跳空>最大回撤;
跳空:无成交量的最大价差;//最大两个价位之间的差,且价差之间是没有成交量
最大回撤:从当前日内最高点回落的一个最大的幅度;
VARIABLE:ss=0;
   M:=hhv(h,todaybar);
  IF M-C>ss THEN
    ss:=M-C;
  
 IF TIME>CLOSETIME(4) THEN
   ss:=0;

 VARIABLE:XX=0;
   ZD:=LLv(L,todaybar);
  IF C-ZD>xx THEN
    XX:=C-ZD;
  
 IF TIME>CLOSETIME(4) THEN
   XX:=0;
 
  variable:jc=1*mindiff;
qc:=ref(c,1);
if c-qc>jc then
  jc:=c-qc;
 
IF TIME>CLOSETIME(4) THEN
   jc:=1*mindiff;

 //交易条件
KDC:A and(B OR JC>ss);//开多
kkc: A2 and (B2 OR abs(JC)>xx);//开空
pdc:not(A) and not(B)  and JC<ss;//平多   请教不满足A B条件是这么写吗?想表达不满足连续性(至少3个k线满足)
PKC:not(A2) and not(B2) and   abs(JC)<xx;//平空
//交易系统
TSELLSHORT(PKC,THOLDING,LMT,DYNAINFO( 36));//平空
TBUY(KDC,1,LMT,DYNAINFO( 29));//开多   买卖开仓都用一个价 买二价 DYNAINFO( 29) 这个写对吗?
TSELL(PDC,THOLDING,LMT,DYNAINFO( 36));//平多
TBUYSHORT(KKC,1,LMT,DYNAINFO( 29));//开空

另外,请教有没有顺势开仓(顺方向开仓)的函数?

--  作者:AMOS
--  发布时间:2020/6/26 12:05:14
--  
盲测了一日的TICK数据,盲选40个主力合约(不含股指债券),
有10几个(不到20个)开仓信号发出,其它主要指标也符合预期,
由于拿不到历史TICK数据,只能一日一测....