打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
程序化交易思维入门(四)

模型编写技巧

做指标的目的是为了交易,看指标然后作出反应之后决定要不要下单再去敲单,显得很繁琐,而交易模型不仅能够在图上标出交易指令(箭头,按自己的交易思想发出的),还能够自动弹出委托单,只需要回车确认一下就能下单。交易模型的编写就是在指标编写的基础之上加入我们交易策略和思想得到的一种全自动或半自动交易方式。下面就举些简单的交易模型,以求抛砖引玉。

 

1、交易模型快速入门示范

这个模型用来示范如何把KDJ指标变成交易模型;括号内为文字说明,编写模型时不用写出。

{第一步:把KDJ指标公式COPY过来}

{第二步:":"后加上"="变为只定义不用画线,所以把后面的颜色函数(COLORWHITE)也去掉}

{第三步:把自己总结的交易条件写上,就可完成交易模型。如下:

{以下是把KDJ指标公式COPY过来,进行修改后的语句}

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K:=SMA(RSV,M1,1);

D:=SMA(K,M2,1);

J:=3*K-2*D;

{以下是加入的交易指令}

CROSS(K,D),BK;{K向上穿越D,发出买开交易指令}

CROSS(J,100),SP;{J向上穿越100,发出卖平交易指令}

CROSS(D,K),SK;{K向下穿越D,发出卖开交易指令}

CROSS(0,J),BP;{J向下穿越0,发出买平交易指令}

 

2.交叉型模型示范

MA5:=MA(CLOSE,5);  {5个周期收盘价的简单移动平均}

MA10:=MA(CLOSE,10);{10个周期收盘价的简单移动平均}

MA20:=MA(CLOSE,20);{20个周期收盘价的简单移动平均}

CROSS(MA10,MA20),BK;{MA10上穿MA20时,发出买入开仓交易指令}

CROSS(MA10,MA5),SP;{MA10上穿MA5时,发出卖出平仓交易指令}

CROSS(MA20,MA10),SK;{MA20上穿MA10时,发出卖出开仓交易指令}

CROSS(MA5,MA10),BP;{MA5上穿MA10时,发出买入平仓交易指令}

 

3MTM模型雏形

MTM:=CLOSE-REF(CLOSE,N);//定义MTM

CROSS(MTM,0),BPK;//MTM上穿0,买平并买开

CROSS(0,MTM),SPK;//MTM下穿0,卖平并卖开

 

4RSI模型雏形

LC:=REF(CLOSE,1);//定义LC

RSI1:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1)*100;//定义RSI1

RSI2:=SMA(MAX(CLOSE-LC,0),M,1)/SMA(ABS(CLOSE-LC),M,1)*100;//定义RSI2

REF(RSI1,1)<40&&CROSS(RSI1,RSI2),BPK;//上周期的RSI1<40并且RSI1上穿RSI2,买平并买开

REF(RSI1,1)>60&&CROSS(RSI2,RSI1),SPK;//上周期的RSI1>60并且RSI1下穿RSI2,卖平并卖开

 

5WM模型雏形

RSV:= (CLOSE-HHV(HIGH,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//定义RSV

LWR1:=SMA(RSV,3,1);//定义LWR1

LWR2:=SMA(LWR1,3,1);//定义LWR2

CROSS(LWR1,LWR2),BPK;//LWR1上穿LWR2,买平并买开

CROSS(LWR2,LWR1),SPK;//LWR1下穿LWR2,卖平并卖开

 

6.多条件模型示范

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;

K:=SMA(RSV,3,1);

D:=SMA(K,3,1);

J:=3*K-2*D;

{以上为KDJ公式}

MA5:=MA(CLOSE,5);

MA10:=MA(CLOSE,10);

{以上为定义5个周期收盘价的简单移动平均和10个周期收盘价的简单移动平均}

(CROSS(MA5,MA10)&&REF(J,1)<70)||(CROSS(K,D)&&J<30),BK;

{5周期均线上穿10周期均线并且前一个周期的J值(KDJ)少于70或者KD金叉时并且J值小于30时发出买入开仓交易指令}

CROSS(D,K)&&REF(J,1)>70,SP;{KD出现死叉并且前一个周期J值大于70时发出卖出平仓交易指令}

(CROSS(MA10,MA5)&&REF(J,1)>30)||(CROSS(D,K)&&J>70),SK;

{5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令}

CROSS(K,D)&&REF(J,1)<30,BP;{ KD出现金叉并且前一个周期J值小于30时发出买入平仓交易指令}

{{}内为文字说明,编写模型时不用写出}

 

7.价差型模型示范

利用运算符号和逻辑符号判断交易条件。

MA5:=MA(CLOSE,5);

{5个周期收盘价的简单移动平均}

MA10:=MA(CLOSE,10);

{10个周期收盘价的简单移动平均}

CROSS(MA10,MA5)||(CLOSE-MA5)>8,SK;

{10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令}

(MA5-CLOSE)>6,BP;

{5周期均线与收盘价的差值大于6时,发出买入平仓交易指令}

CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;

{5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令}

(CLOSE-MA5)>6,SP;

{收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令}

{ }内为文字说明,编写模型时不用写出。

 

8.REF模型示范

注意REF(X,N)的使用,表示引用N周期前的X值。

A:=OPEN-(((REF(HIGH,1)-REF(OPEN,1))+(REF(HIGH,2)-REF(OPEN,2))+(REF(HIGH,3)-REF(OPEN,3))+(REF(HIGH,4)-REF(OPEN,4)))/4)*1.8;

{A=当前周期的开盘价 -[ (一个周期前的最高价减开盘价的差+两个周期前的最高价减开盘价的差+三个周期前的最高价减开盘价的差+四个周期前的最高价减开盘价的差)/4]*1.8 }

REF(CLOSE,1)<><>A,BPK;

{连续四个周期的收盘价小于前一周期的收盘价并且当前周期的收盘价大于A时,发出买平并且买开(反手)交易指令}

REF(CLOSE,1)>REF(CLOSE,2)&&REF(CLOSE,2)>REF(CLOSE,3)&&REF(CLOSE,3)>REF(CLOSE,4)&&CLOSE<=A,SPK;

{连续四个周期的收盘价大于前一周期的收盘价并且当前周期的收盘价小于等于A时,发出卖平并且卖开(反手)交易指令}

白糖909K线图

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
通达信全部函数及其用法(2011年最新版)\均线角度公式
交易系统编程-中期研究频道
通达信八仙过海指标
通达信三线做多选股指标公式
九指金叉及超准买卖主图
公式大汇集(来自广通)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服