Loading ...

日内交易模型和TICK模型的编写

Author: , Created: 2019-07-12 09:58:48, Updated: 2019-07-16 15:37:11

数字货币市场几种常见的交易模式

img

这其中,日内交易模型是本文重点介绍的对象,也是在数字货币市场最常见的一种交易方法。它的优势是利润可以立竿见影,且屏蔽了很多跨交易日方面的消息和基本面突发状况的影响。缺点也有不少,比如对于交易员或者策略的设计要有独到之处,竞争非常激烈,对于一些关键点位的判断,不止是正确与否的问题,还要有足够的硬件与网速支持来确保订单可以及时成交,特别是止损单,对于资金管理方面来讲是至关重要的。

幸运的是,发明者量化平台的优秀API支持,对于各大主流交易所,至少让你在硬件方面的担忧省去大半。读者需要做的是,保证一个畅通的互联网链接就足以。

日内趋势交易模型介绍

以下是一个简单的例子:

N:=BARSLAST(DATE<>REF(DATE,1))+1;
H>HV(H,2)&&C>HV(C,2)&&N>=3&&TIME<1445,BK;
L<LV(L,2)&&C<LV(C,2)&&N>=3&&TIME<1445,SK;
//开仓的时间要控制在清仓之前,否则清仓后又会开仓
C<REF(L,1),SP;
C>REF(H,1),BP;
TIME>=1450,CLOSEOUT;//当日收盘前10分钟无论多空都平仓(模型清仓)
AUTOFILTER;

img

从上图的以IF为例子,我们可以看到,需要注意的是:

  • 选择有趋势的品种和时段,规避盘整行情
  • 开仓时间的控制
  • 尾盘清仓语句的编写
  • 坚决止损
  • 如何实现只用当日数据计算

我们应该尽量选择有趋势的品种和时段,规避盘整行情,比如:

N:=BARSLAST(DATE<>REF(DATE,1))+1;
H1:=VALUEWHEN(N=1,H);
L1:=VALUEWHEN(N=1,L);
HH:=HV(H,N);
LL:=LV(L,N);
(C>H1||C>HH)&&PANZHENG=0,BK;
(C<L1||C<LL)&&PANZHENG=0,SK;
C<=BKHIGH-10*MINPRICE,SP;
C>=SKLOW+10*MINPRICE,BP;
AUTOFILTER;

PANZHENG=0,当前这根k线不处于盘整状态,后市大涨或大跌的可能性大 PANZHENG=1,当前这根k线处于盘整状态,后市不会大涨或大跌

开仓时间控制上,我们控制在清仓之前,否者清仓后又会开仓

img

关于开仓时间控制,我们可以这样写:

MID:=MA(CLOSE,26);
TMP2:=STD(CLOSE,26);
TOP:=MID+2*TMP2;
BOTTOM:=MID-2*TMP2;//布林通道
UPBAND:=HV(HIGH,5);
DNBAND:=LV(LOW,5);//唐奇安通道
(TIME>0910&&TIME<1450||TIME>2100)&&C>TOP&&H>=UPBAND,BPK;
(TIME>0910&&TIME<1450||TIME>2100)&&C<BOTTOM&&L<=DNBAND,SPK;
TIME>=1450&&TIME<=1500||TIME<=0100,CLOSEOUT;
AUTOFILTER;

注意,以上只是按照国内商品期货的开收盘时间来约束开仓时间,由于数字货币市场大部分交易所都是24小时交易的,且数字货币期货多为连续合约,因此读者在套用模型时,请按照交易标的具体情况,具体调整。

使用CLOSEOUT清仓指令在尾盘进行平仓是个不错的选择,它可以平掉所有方向的仓位。

尾盘清仓语句的编写:

CROSS(C,MA(C,5))&&TIME<1513,BPK;
CROSS(MA(C,5),C)&&TIME<1513,SPK;
TIME>=1513,CLOSEOUT;//收盘前两分钟,清仓。

坚决止损在交易中有多重要,相信做过交易的朋友应该都明白,我们在写止损策略的时候,一定要做到定义尽量明确且要考虑各种逻辑的意外情况。我们可以这样写:

NN:=BARSLAST(DATE<>REF(DATE,1))+1;
OO:=VALUEWHEN(NN=1,O);
HH:=HHV(H,NN);
LL:=LLV(L,NN);
PREDAYRANGE:=MAX((HH-LL),O*0.01);
UPPERBAND:=OO+PREDAYRANGE*0.3;
LOWERBAND:=OO-PREDAYRANGE*0.3;
H>UPPERBAND&&TIME<1514&&COUNT(BARSBK=1||BARSSK=1,N)<2,BK;//一天只交易两次
L<LOWERBAND&&TIME<1514&&COUNT(BARSBK=1||BARSSK=1,N)<2,SK;//一天只交易两次
L<BKPRICE*(1-0.01),SP; //止损部分
H>SKPRICE*(1+0.01),BP;
TIME>=1514,CLOSEOUT;
AUTOFILTER;

注意:止损语句的编写以及灵活运用COUNT函数实现日内交易次数的控制

TICK模型的编写

一些盘口概念的解释

主动买:买开、卖平 主动卖:卖开、买平

增仓:持仓量的增减 现手:成交量

多开:多头开仓 持仓量增加 持仓量减少 多平:多头平仓 持仓量增加 持仓量减少

空开:空头开仓 持仓量增加 持仓量增加 空平:空头平仓 持仓量增加 持仓量减少

以上价格涨跌配合成交增减的组合,分别反映了市场上投资者的哪种心态和行为?

价格和数量反映了目前多空双方达成一致的均衡:

  • 价格不变化或者变化很小,市场正处于横盘小幅震荡的走势 交易不活跃
  • 价格在很大范围内上下变化,市场正处于剧烈震荡中 交易不活跃
  • 价格不断升高,上涨行情,反之下跌行情 交易活跃
  • 价格变化缓慢,缺乏动力 交易不活跃
  • 价格不断跳动,有走出趋势行情的动力 交易活跃
  • 价格迅速跳动,价格均速变大,价位连续,稳健趋势行情的特征,后期可能加速
  • 价格迅速跳动,变化不连续,呈跳跃性,表示放量突破的行情。。。。。。

TICK函数介绍

ASK1 取得TICK图该笔TICK的卖一价 ASK2 取得TICK图该笔TICK的卖二价 ASK3 取得TICK图该笔TICK的卖三价 ASK4 取得TICK图该笔TICK的卖四价 ASK5 取得TICK图该笔TICK的卖五价

ASK1VOL 取得TICK图该笔TICK的卖一量 ASK2VOL 取得TICK图该笔TICK的卖二量 ASK3VOL 取得TICK图该笔TICK的卖三量 ASK4VOL 取得TICK图该笔TICK的卖四量 ASK5VOL 取得TICK图该笔TICK的卖五量

BID1 取得TICK图该笔TICK的买一价 BID2 取得TICK图该笔TICK的买二价 BID3 取得TICK图该笔TICK的买三价 BID4 取得TICK图该笔TICK的买四价 BID5 取得TICK图该笔TICK的买五价

BID1VOL 取得TICK图该笔TICK的买一量 BID2VOL 取得TICK图该笔TICK的买二量 BID3VOL 取得TICK图该笔TICK的买三量 BID4VOL 取得TICK图该笔TICK的买四量 BID5VOL 取得TICK图该笔TICK的买五量

NEW 取得TICK图的最新价

详情请参见发明者量化平台官方My语言文档:https://www.fmz.com/bbs-topic/2569

注意:TIME在TICK周期中返回六位数值,编写时间条件时需要注意

让我们来写一个基于TICK的趋势模型

M:=30;
J:MA(NEW,M);
EVERY(NEW>J,10)&&NEW>HV(NEW,20)&&TIME<151450,SK;
EVERY(NEW<J,10)&&NEW<LV(NEW,20)&&TIME<151450,BK;
NEW>BKPRICE+0.8,SP;
NEW<SKPRICE-0.8,BP;
NEW<BKPRICE-0.8,SP;
NEW>SKPRICE+0.8,BP;
EVERY(NEW>=SKPRICE,40)&&BARSSK>40,BP;
EVERY(NEW<=BKPRICE,40)&&BARSBK>40,SP;
TIME>=151450,CLOSEOUT;
AUTOFILTER;

注意:思路和普通趋势模型一致且TICK图无高开低收的概念,最新价用NEW函数来取得

TICK盘口模型

DEF_TICKDATA(1,10);
SETBIGVOL(50);
SHE:=ASKBIGCOUNT;//TICK图所定义数据区主动卖大单次数的和
BHE:=BIDBIGCOUNT;//TICK图所定义数据区主动买大单次数的和
SHE>=4&&RISING(10)=1,SK;
BHE>=4&&RISING(10)=0,BK;
NEW<=BKPRICE-4*MINPRICE,SP;
NEW>=SKPRICE+4*MINPRICE,BP;
NEW>=BKPRICE+4*MINPRICE,SP;
NEW<=SKPRICE-4*MINPRICE,BP;
AUTOFILTER;

关于挂单量,各位读者可以把以下的经验作为写策略时的考虑因素,但这不是定理,大家可酌情参考:

  • 挂单量大的一方为强
  • 主动成交的一方为强
  • 撤单一方为弱
  • 反复在同一价位成交表示争夺激烈,短期价格无方向,也可能是短期趋势可能反转
  • 不断挂单、撤单表示不坚定,也可能是吸引成交

关于成交量和持仓量:

  • 成交量代表市场活跃度
  • 成交量/持仓量 代表投机度,投机度强一般波动性大
  • 增仓、放量伴随大涨,代表相当强势
  • 减仓、缩量伴随下跌,代表相当弱势
  • 价量仓方向不统一,代表分歧和能量不均

TICK盘口辅助判断趋势模型

MA1:MA(NEW,60);
DEF_TICKDATA(0,10);
BHE:=BID1VOL+BID2VOL+BID3VOL;
SHE:=ASK1VOL+ASK2VOL+ASK3VOL;
NEW>MA1&&NEW>HV(NEW,20)&&ASKVOL<BIDVOL&&EVERY(BHE>SHE*1.5,3),BK;
NEW<MA1&&NEW<LV(NEW,20)&&ASKVOL>BIDVOL&&EVERY(BHE*1.5<SHE,3),SK;
EVERY(NEW>MA1,5),BP;
EVERY(NEW<MA1,5),SP;
AUTOFILTER;

关于价格涨跌

  • 匀速拉升或者匀速下跌容易导致大跳水或大反弹
  • 阶梯上涨或者下跌,不易转向
  • 不断加速易触板
  • 不断减速需要修正走势

以上就是几个比较常用的日内交易模型和基于Tick的模型,读者可以在这些框架下延申自己的一些想法,但是,这里再次声明,以上模型由于展示函数需求,都是以国内商品期货为标的而展示的,数字货币市场由于交易时长的连续性和期货合约的连续性,各位读者一定要分清楚交易标的,在套用以上合约的时候,根据不同的交易规则进行分别配置。


More

1725664 最低一分钟周期,怎么能够用得上tick,用得上吗?我试过不行。