程序化交易就是把自己的操作思路达成量化,让程序去执行命令。然后不断的修改完善。
第一步,我们要在行情软件上,做出来一个有明确买卖标识的指标。方便自动点击软件抓取。

比如这个图形,我们在布林中轨变红,K线变红,双红的时候买进,在MACD柱子缩短变黄的时候卖出,为了便于系统识别就要做出来一个明确的标识。

中间红色柱子是做多信号,绿色是做空信号,我们只做一次,以后的信号就过滤掉,可以利用自动点击软件做一下过滤,有选择的买卖。
主图布林源码(适用于文华财经):MID:MA(CLOSE,26),LINETHICK3;
TMP2:=STD(CLOSE,26);
TOP:MID+2*TMP2,LINETHICK3;
BOTTOM:MID-2*TMP2,LINETHICK3;
DF:=MA(CLOSE,50) ,COLORWHITE,LINETHICK3;
PARTLINE1(MID>REF(MID,1),MID),COLOR880000,LINETHICK5;
PARTLINE1(MID>REF(MID,1),MID),COLORAA0000,LINETHICK4;
PARTLINE1(MID>REF(MID,1),MID),COLORCC0000,LINETHICK3;
PARTLINE1(MID>REF(MID,1),MID),COLOREE0000,LINETHICK2;
PARTLINE1(MID>REF(MID,1),MID),COLORFF0000,LINETHICK1;
PARTLINE1(MID<REF(MID,1),MID),COLOR007700,LINETHICK5;
PARTLINE1(MID<REF(MID,1),MID),COLOR009900,LINETHICK4;
PARTLINE1(MID<REF(MID,1),MID),COLOR00BB00,LINETHICK3;
PARTLINE1(MID<REF(MID,1),MID),COLOR00DD00,LINETHICK2;
PARTLINE1(MID<REF(MID,1),MID),COLOR00FF00,LINETHICK1;
DB:=EMA(CLOSE,5) ,COLORBLUE;
DD:=EMA(CLOSE,10) ,COLORBLUE;
DDYX:=DB>DD;
DKYX:=DB<DD;
STICKLINE1(C=O,C,O,3,0),COLORWHITE;
STICKLINE1(C=O,H,L,0,0),COLORWHITE;
XG1:=C>REF(C,1) AND C>DF AND DDYX;
STICKLINE1(XG1,H,L,0,0),COLORFF0000;
STICKLINE1(XG1,C,O,3.2,0),COLOR880000;
STICKLINE1(XG1,C,O,2.6,0),COLORAA0000;
STICKLINE1(XG1,C,O,1.9,0),COLORCC0000;
STICKLINE1(XG1,C,O,1.2,0),COLOREE0000;
STICKLINE1(XG1,C,O,0.6,0),COLORFF0000;
STICKLINE1(XG1,C,O,0.3,0),COLORFF0000;
XG2:=C<REF(C,1) AND C<DF AND DKYX;
STICKLINE1(XG2,H,L,0,0),COLOR00FF00;
STICKLINE1(XG2,C,O,3,0),COLOR009900;
STICKLINE1(XG2,C,O,2,0),COLOR00BB00;
STICKLINE1(XG2,C,O,1,0),COLOR00DD00;
STICKLINE1(XG2,C,O,0.3,0),COLOR00FF00;
XG3:=C<REF(C,1) AND C>DF;
STICKLINE1(XG3,H,L,0,1),COLOR0088FF;
STICKLINE1(XG3,C,O,3.2,0),COLOR0022FF;
STICKLINE1(XG3,C,O,2.6,0),COLOR0044FF;
STICKLINE1(XG3,C,O,1.9,0),COLOR0066FF;
STICKLINE1(XG3,C,O,1.1,0),COLOR0088FF;
STICKLINE1(XG3,C,O,0.3,0),COLOR00AAFF;
XG4:=C>REF(C,1) AND C<DF;
STICKLINE1(XG4,H,L,0,1),COLORFF55FF;
STICKLINE1(XG4,C,O,3.2,0),COLOR880088;
STICKLINE1(XG4,C,O,2.6,0),COLORAA00AA;
STICKLINE1(XG4,C,O,1.9,0),COLORCC00CC;
STICKLINE1(XG4,C,O,1.1,0),COLOREE00EE;
STICKLINE1(XG4,C,O,0.3,0),COLORFF44FF;
XG5:=C>REF(C,1) AND C>DF AND DKYX;
STICKLINE1(XG5,L,H,0,0),COLOR0088EE;
STICKLINE1(XG5,CLOSE,OPEN,3,0),COLORRED;
STICKLINE1(XG5,CLOSE,OPEN,2.8,0),COLOR1029FF;
STICKLINE1(XG5,CLOSE,OPEN,2.5,0),COLOR1040FF;
STICKLINE1(XG5,CLOSE,OPEN,2.2,0),COLOR1083FF;
STICKLINE1(XG5,CLOSE,OPEN,1.7,0),COLOR10ABFF;
STICKLINE1(XG5,CLOSE,OPEN,1.2,0),COLOR10D0FF;
STICKLINE1(XG5,CLOSE,OPEN,0.7,0),COLOR10CEFF;
STICKLINE1(XG5,CLOSE,OPEN,0.2,0),COLOR10FFFF;
XG6:=C<REF(C,1) AND C<DF AND DDYX;
STICKLINE1(XG6,L,H,0,0),COLOR0088EE;
STICKLINE1(XG6,CLOSE,OPEN,3,0),COLOR0055AA;
STICKLINE1(XG6,CLOSE,OPEN,2.8,0),COLOR0066BB;
STICKLINE1(XG6,CLOSE,OPEN,2.5,0),COLOR0077CC;
STICKLINE1(XG6,CLOSE,OPEN,2.2,0),COLOR0088DD;
STICKLINE1(XG6,CLOSE,OPEN,1.7,0),COLOR0099EE;
STICKLINE1(XG6,CLOSE,OPEN,1.2,0),COLOR00AAFF;
STICKLINE1(XG6,CLOSE,OPEN,0.7,0),COLOR00CCFF;
STICKLINE1(XG6,CLOSE,OPEN,0.2,0),COLOR00FFFF;
MACD源码(适用于通达信):
{DRAWGBK(C>0, RGB(0,108,108),RGB(88,0,0),0,'11',0);}
SHORT:=12;LONG:=26;MID:=9;
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,MID);
MACD:(DIF-DEA)*2,COLORSTICK;
STICKLINE(MACD>REF(MACD,1) AND MACD<0,0,MACD,2,0 ),COLORRED;
STICKLINE(MACD<=REF(MACD,1) AND MACD<0,0,MACD,2,0 ),COLOR0011EE;
STICKLINE(MACD<=REF(MACD,1) AND MACD<0,0,MACD,1,0 ),COLOR0033DD;
STICKLINE(MACD<=REF(MACD,1) AND MACD<0,0,MACD,0,0 ),COLOR0055FF;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,2,0 ),COLORBB11BB;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,1,0 ),COLORDD33BB;
STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,0,0 ),COLORFF55BB;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,2,0 ),COLORFFBB11;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,1,0 ),COLORFFDD33;
STICKLINE(MACD<=REF(MACD,1) AND MACD>0,0,MACD,0,0 ),COLORFFFF55;
DRAWICON(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA,DIF*1.1,1),COLORRED;
HJ_2:=BARSLAST(REF(MACD,1)<0 AND MACD>0);
HJ_3:=LLVBARS(MACD,HJ_2+20);
HJ_4:=IF(HJ_3>HJ_2,REF(MACD,HJ_3),0);
HJ_5:=MACD<0 AND MACD>HJ_4 AND LOW=LLV(LOW,HJ_2+20) AND HJ_4<0;
HJ_6:=REF(HJ_5,1)=1 AND MACD>REF(MACD,1) AND REF(DIF,HJ_3)<0 AND MACD<0;
底背:DRAWLINE(HJ_4=HJ_3,MACD,HJ_6,MACD,0),COLORRED,DOTLINE;
DRAWICON(HJ_6,MACD*1.2,9);
HJ_7:=HHVBARS(MACD,HJ_2+20);
HJ_8:=IF(HJ_7>HJ_2,REF(MACD,HJ_7),0);
HJ_9:=MACD>0 AND MACD<HJ_8 AND HIGH=HHV(HIGH,HJ_2+20) AND HJ_8>0;
HJ_10:=REF(HJ_9,1)=1 AND MACD>REF(MACD,1) AND REF(DIF,HJ_7)>0;
顶背:DRAWLINE(HJ_8=HJ_7,MACD,HJ_10,MACD,0),COLOR1D7300,DOTLINE;
DRAWICON(HJ_10,MACD*1.2,15);
HJ_11:=CLOSE/MA(CLOSE,40)*100<78;
HJ_12:=CLOSE/MA(CLOSE,60)*100<74;
HJ_13:=HIGH>LOW*1.051;
HJ_14:=HJ_13 AND COUNT(HJ_13,5)>1;
HJ_15:=IF(HJ_14 AND (HJ_11 OR HJ_12),2,0);
HJ_16:=CLOSE/REF(CLOSE,25)<=1.1;
HJ_17:=SMA(MAX(CLOSE-REF(CLOSE,2),0),7,1)/SMA(ABS(CLOSE-REF(CLOSE,2)),7,1)*100<15;
HJ_18:=(CLOSE-LLV(LOW,8))/(HHV(HIGH,8)-LLV(LOW,8))*100;
HJ_19:=SMA(HJ_18,2,1);
HJ_20:=SMA(HJ_19,2,1);
HJ_21:=IF(HJ_19>REF(HJ_19,1) AND REF(HJ_19,1)<REF(HJ_19,2) AND HJ_19<23,1.5,0);
HJ_22:=100-100*(HHV(HIGH,5*8)-CLOSE)/(HHV(HIGH,5*8)-LLV(LOW,5*8));
HJ_23:=MA(CLOSE,5);
HJ_24:=IF(CLOSE>SAR(10,2,20),1,0);
HJ_25:=IF(CLOSE<SAR(10,2,20),(-1),0);
HJ_26:=ATAN((HJ_23/REF(HJ_23,1)-1)*100)*180/3.1416;
HJ_27:=IF(HJ_26>30,1,0);
HJ_28:=IF(HJ_26<(-30),(-1),0);
HJ_29:=HJ_24+HJ_27+HJ_25+HJ_28;
IF(HJ_29<(-1) OR HJ_22<25.01,DIF,DRAWNULL),COLOR1D7300;
IF(HJ_22>74.989998 OR HJ_29>0,DIF,DRAWNULL),COLORRED;
0,COLORBROWN,POINTDOT;