新浪博客

关于文华财经软件的一些常见代码编写3(源于金鹰)

2014-07-30 09:23阅读:


1、//该模型仅仅用来示范如何编写多条件下的过滤模型开平条件
//用户需要根据自己交易经验,补充完整开仓条件,进行修改后再实际应用!!!
//文华不保证模型的盈利效果,也不对这些模型的交易结果负责。
N1:=5;
N2:=10;
N3:=10;
N4:=5;
SJ1:=(TIME>0905&&TIME<(1500-5||1515-5));
//定义入场时间条件(当时间大于9点05小于14点55的时候入场)
SJ2:=(TIME>(1500-5||1515-5));//定义出场时间条件

JC:=CROSSUP(MA(C,N1),MA(C,N2));
//定义简单的均线金叉(收盘价的N1周期的简单移动平均线上穿N2周期的简单移动平均线)
SC:=CROSSDOWN(MA(
C,N1),MA(C,N2));
//定义简单的均线死叉(收盘价的N1周期的简单移动平均线下穿N2周期的简单移动平均线)

TP1:=C>REF(C,1); //定义简单的向上突破条件(当前最新价(收盘价)大于上一根K线的收盘价)
TP2:=C<</span>REF(C,1); //定义简单的向下突破条件(当前最新价(收盘价)小于上一根K线的收盘价)

ZY:=C>BKPRICE+N3*MINPRICE||C<</span>SKPRICE-N3*MINPRICE;
//定义止盈条件(当前价格大(小)于买(卖)开价N3个最小变动价位)
ZS:=C<</span>BKPRICE+N4*MINPRICE||C>SKPRICE+N4*MINPRICE;
//定义止损条件(当前价格小(大)于买(卖)开价的N4个最小变动价位)

KD:=(SJ1&&JC&&TP1)||(SJ1||JC||TP1); //综合了时间限制、金叉、向上突破等的开多条件
KK:=(SJ1&&SC&&TP2)||(SJ2||SC||TP2); //综合了时间限制、死叉、向下突破等的开空条件
BPK1:=(SJ1&&JC&&TP1)||(SJ1||JC||TP1); //综合了时间限制、金叉、向上突破等的做多条件
SPK1:=(SJ1&&SC&&TP2)||(SJ2||SC||TP2); //综合了时间限制、死叉、向上突破等的做多条件
PD:=(SJ2&&SC&&TP2)||(SJ2||SC||TP2)||ZY||ZS; //综合了时间限制、死叉、向下突破以及止损止盈等平多条件
PK:=(SJ2&&JC&&TP1)||(SJ1||JC||TP1)||ZY||ZS; //综合了时间限制、金叉叉、向下突破以及止损止盈等平空条件

KD=1,BK;//满足开多条件的时候,委托发出买入开仓
KK=1,SK;//满足开空条件的时候,委托发出卖出开仓
BPK1=1,BPK;//满足开多平空的反手条件的时候,执行做多条件
SPK1=1,SPK;//满足开空平多的反手条件的时候,执行做空条件
PD=1,SP;//满足平多条件的时候,委托发出平多指令
PK=1,BP;//满足平空条件的时候,委托发出平空指令

CLOSEMINUTE<=2,CLOSEOUT;//定义尾盘2分钟的清仓
SETDEALPERCENT(20);//定义入场资金比率为20%
AUTOFILTER;//过滤模型执行卖开后买平和买开后卖平操作
SETSIGMAXNUM(1);//定义一根K线上最多出现一个买卖信号

2、//该模型仅仅用来示范如何编写多条件下的过滤模型开平条件
//用户需要根据自己交易经验,补充完整开仓条件,进行修改后再实际应用!!!
//文华不保证模型的盈利效果,也不对这些模型的交易结果负责。
N1:=5;
N2:=10;
N3:=10;
N4:=5;
SJ1:=(TIME>0905&&TIME<(1500-5||1515-5));
//定义入场时间条件(当时间大于9点05小于14点55的时候入场)
SJ2:=(TIME>(1500-5||1515-5));//定义出场时间条件

JC:=CROSSUP(MA(C,N1),MA(C,N2));
//定义简单的均线金叉(收盘价的N1周期的简单移动平均线上穿N2周期的简单移动平均线)
SC:=CROSSDOWN(MA(C,N1),MA(C,N2));
//定义简单的均线死叉(收盘价的N1周期的简单移动平均线下穿N2周期的简单移动平均线)

TP1:=C>REF(C,1); //定义简单的向上突破条件(当前最新价(收盘价)大于上一根K线的收盘价)
TP2:=C<</span>REF(C,1); //定义简单的向下突破条件(当前最新价(收盘价)小于上一根K线的收盘价)

ZY:=C>BKPRICE+N3*MINPRICE||C<</span>SKPRICE-N3*MINPRICE;
//定义止盈条件(当前价格大(小)于买(卖)开价N3个最小变动价位)
ZS:=C<</span>BKPRICE+N4*MINPRICE||C>SKPRICE+N4*MINPRICE;
//定义止损条件(当前价格小(大)于买(卖)开价的N4个最小变动价位)

KD:=(SJ1&&JC&&TP1)||(SJ1||JC||TP1); //综合了时间限制、金叉、向上突破等的开多条件
KK:=(SJ1&&SC&&TP2)||(SJ2||SC||TP2); //综合了时间限制、死叉、向下突破等的开空条件
BPK1:=(SJ1&&JC&&TP1)||(SJ1||JC||TP1); //综合了时间限制、金叉、向上突破等的做多条件
SPK1:=(SJ1&&SC&&TP2)||(SJ2||SC||TP2); //综合了时间限制、死叉、向上突破等的做多条件
PD:=(SJ2&&SC&&TP2)||(SJ2||SC||TP2)||ZY||ZS; //综合了时间限制、死叉、向下突破以及止损止盈等平多条件
PK:=(SJ2&&JC&&TP1)||(SJ1||JC||TP1)||ZY||ZS; //综合了时间限制、金叉叉、向下突破以及止损止盈等平空条件

KD=1,BK;//满足开多条件的时候,委托发出买入开仓
KK=1,SK;//满足开空条件的时候,委托发出卖出开仓
BPK1=1,BPK;//满足开多平空的反手条件的时候,执行做多条件
SPK1=1,SPK;//满足开空平多的反手条件的时候,执行做空条件
PD=1,SP;//满足平多条件的时候,委托发出平多指令
PK=1,BP;//满足平空条件的时候,委托发出平空指令

CLOSEMINUTE<=2,CLOSEOUT;//定义尾盘2分钟的清仓
SETDEALPERCENT(20);//定义入场资金比率为20%
AUTOFILTER;//过滤模型执行卖开后买平和买开后卖平操作
SETSIGMAXNUM(1);//定义一根K线上最多出现一个买卖信号
DRAWTEXT(BARSBK=1,H,'做多');
DRAWTEXT(BARSSK=1,L,'做空');
DRAWTEXT(BARSSP=1,C,'平多');
DRAWTEXT(BARSBP=1,O,'平空');

3、//该模型仅仅用来示范如何编写多条件下的非过滤过滤模型加减仓条件
//用户需要根据自己交易经验,补充完整开平仓条件,进行修改后再实际应用!!!

A:=多头开仓条件;
A1:=多头加仓条件;
B:=空头开仓条件;
B1:=空头加仓条件;
A2:=多头减仓条件;
B2:=空头减仓条件;
D:=多头全平仓条件;
E:=空头全平仓条件;

A && NOT(ISLASTSK|| ISLASTBK) , BK(2);
//当满足多头开仓条件并且上一个信号不是买入或者卖出信号(防止锁仓),执行买入开仓2手
B && NOT(ISLASTBK|| ISLASTSK) , SK(2);
//当满足空头开仓条件并且上一个信号不是买入或者卖出信号(防止锁仓),执行卖出开仓2手
BKVOL>=2 && A1 && ISLASTBK , BK(1);
//当满足多头加仓信号并且上一个信号为买开信号并且多头持仓大于等于2手,执行多头加仓1手
SKVOL>=2 && B1 && ISLASTSK , SK(1);
//当满足空头加仓信号并且上一个信号为卖开信号并且空头持仓大于等于2手,执行多头加仓1手
//以上两行代码为加仓条件
A2 && ISLASTBK&&BKVOL>=2,SP(1);
//当满足多头减仓条件并且上一个信号为买入开仓并且多头持仓大于等于2,执行减仓1手的卖出平仓操作
B2 && ISLASTSK&&SKVOL>=2,BP(1);
//当满足空头减仓条件并且上一个信号为卖出开仓并且空头持仓大于等于2,执行减仓1手的买入平仓操作

我的更多文章

下载客户端阅读体验更佳

APP专享