123+2B法则在期货股票市场基本上人人皆知。但是123+2B要实现程序化却是很难。确实很难,今天本文就来帮助大家实现123法则的程序化(考虑到实际情况,将2B法则去掉)。
一,先介绍下什么是123法则:
图1
下降趋势123法则要点如下:
1,突破下行趋势线;
2,下降趋势线不再创新低;
3,下降趋势中,价格向上突破前期短线反弹高点。分别如图1所示123。
上升趋势123法则,则将上图倒过来就行。
图2
上升趋势123法则要点如下:
1,突破上行趋势线;
2,上升趋势线不再创新高;
3,上升趋势中,价格向下突破前期短线回档点。分别如图1所示123。
这是123法则的基本原理,大家耳熟能详。
问题来了, 程序如何画线?程序如何识别画线?程序怎么写?
程序也能做到自动画线,但是有个问题,画出来的线其实并不是期货交易员特别是手工交易者所能认可的,所以,我这边就我放弃了由程序画线,而改由人工画线,程序来识别线图并由程序在线的的方向上做到完全的全自动交易。因此,本篇就能解决大部分手工交易者的苦处,想程序化,但是苦于语言难懂,好不容易学会了语言,写出来的程序还不一定有用,投入的时间成本也很巨大。因此,我们这款策略基本达到了,只要会画123法则,就能实现程序化。
下面我们开始讲解如何进行(笔者程序是用一商业平台,不点名做广告)。请见下图:
图3
我们选燃油主力来做示范(图示为4月初至今天)。红线大家基本都认识,黄线可以认为是突破了前低。请认识比较图3和图2的异同。
1,图2没有图3所示的红线的画法,它做什么的?它是限定趋势是否还在进行下跌,如果突破了,就认为下跌趋势已结束,程序将终止工作,并将已有空单进行强制平仓。而且做空单时是以此线为基准下单,越靠近红线下单,这单越是安全,毕竟离强平仓位置很近。
2,图2的细红线在图3中已没有,因为在程序中,它认可两条线,当然也可以认三根,为了简便,我就写了两根,主要是图2的细红线除了提示作用,没多大意义。
3,图3的黄线跟图2的横线是一样的。但是画图我习惯性的画歪了。
异同介绍完毕竟,那程序的交易范围在那里,就在红黄线所成的夹角中,不断做空,当K线突破红线或黄线,程序立码强制平仓之后停止工作。
参数设置如下:
stopline1=1 (黄线,画图时要先清除图面的所 有画线,然后画它,默认为1,)
TLREFK2=2(红线)
LINEVALUE=2(下单的空间限制位置,下单不能离开红线2%范围之外,说白了,怕下跌多了,跟进反弹吃亏,当然,这个2,可以设置为1 ,1就是1%,看个人)
pernn=0.01(这是跟随特定均线的,不能偏离它的1%,必须在1%内下单建仓,为是的提高单的有效性)。
buytocoverpern=0.01(这是偏离红线1%就启动强制平仓,>=1%就启动)
STOPLOSS=1(移动止盈止损,跟上述各参数是独立的模块参数,1为1%的意思,当新低后回挡1%就止盈)。
程序的二大块现简述如下:
一, 成交的主要语句如下:
if currentbar>period+5 then begin
value11=obv ;
if condition99 and condition98 then begin //and hull_var0<-SLOP_REG
IF condition39 and c<ma_p and condition19 and c<big_LowerBand THEN BEGIN //condition39 and
if mp=0 and c>ama*(1-buy_nn) and ama<ma_p //and c<ama AND close<TrendSell and c>ma_p*(1-buy_nn)
then sellshort('k1') lots share next bar at market;
END;
都是上面几句控制建仓。
二, 强制控制平仓及移动止盈止损的语句如下(下面语句的意思如前述):
IF mp=-1 AND C >=TL_GetValue( TLRefk2, Date, Time )*(1+buytocoverpern) THEN buytocover('pk3') lots SHARES NEXT BAR AT market;
上述就是程序 的基本组成构造。程序讲解完成。
如何应用呢?
上图3为一例,然后有朋友问,是不是可以用于全部品种还是特定品种,这个程序基本上只要有趋势都能用。因为123法则不可能限制于特定品种。
对熟手来说画线不成问题,如果是新手呢?我们来模仿试一下新手画图,
情况1,
图4
这新手也太新了,但是只要在程序认为的成交范围内,它还是老老实实根据条件进行交易。我们来看下绩效(默认按1手交易,K线周期2分钟,下同):
图5
不可思议,还是赚的。
还有没有更新的新手?见下图:
图6
这新手也挺新,我们来看下信号和绩效。
图7
图8
还是盈利的,主要是它能实现画完趋势线后完全的全自动交易,自行控制风险,保证交易员的睡眠。真正的实现全自动程序化。
这些都是商品期货,我们来看下股指期货(用6分钟K线周期),我们用做多那部分程序:
图9
这图也是画得丑得不行,对了,最后一笔平仓是强制平仓的,绩效如何?
图9
绩效还是可以的。趋势线再画丑点?我看下有什么情况发生:
图10
这趋势线画得也没谁了?全网最差123法则的趋势线。看下信号和绩效:
图11
图12
绩效应当说还凑合,这是2月5号到3月6号,一个月时间。
图12
所以这种手动画线的程序其容错能力到底如何,见上述全网最差123法则画法图。
当然了,限于篇幅做多程序未做展示,其实就是做空程序的反向。读者朋友可以自行去写。本篇希望能够帮助到大家并起到个抛砖引玉的作用。同时也希望能够得到各位大家指导。
联系客服