您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经公式>>正文内容

文华MQ股票池程序化的股票分为T+1模型和T+0模型[文华财经公式]

模型根据从上至下,从左至右的顺序进行计算;编写中每一行计算,都能引用本次计算上面各行的计算结果

一、股票模型的机制:股票分为T+1模型和T+0模型

股票模型默认为T+1模型,T+0模型需要写入StockT0_Plus:True;启用T+0交易模式

(一)T+1模型:
通过低买高卖获得盈利,遵循股票T+1交易规则。
交易指令:Buy买入;Sell卖出
T+1交易即:当日买入股票,要到下一个交易日才能卖出。
如果没有老仓,日线周期上,在某一根k线上买入后,之后这根K线上的卖出信号会自动被过滤掉;分钟周期k线上,如果当时买入后,一日内后续K线上卖出信号会自动被过滤掉。
如果有老仓,一天之内既可以出现买入信号,也可以出现卖出信号
1、日线模型的编写:
(1)精密模式:写入PanZhong_Min函数
写入PanZhong_Min:N;语句的模型,一根日k线上可以出多个信号。可以先卖出股票后这根k线上再买回来;可以一根k线上实现加仓。
N参数的意义:出信号等N分钟后确认一下信号再下单,推荐参数用0;
模型采用逐分钟计算,模型一分钟计算一次,每一根日K线要计算240次,所以比一般的指标公式计算要慢的多。
例:编写模型最新价上穿5日均线买入,如果5日均线上穿10日均线再买入一次,10个点止盈,5个点止损。当根止损或止盈后如果满足满足条件还可以重新买入
Setting
AddTimes:2;//可以连续买入2次
PanZhong_Min:0;//出信号立即下单
Vars
NumericSeries MA1;
NumericSeries MA2;
begin
MA1=Ma(Close,5);
MA2=Ma(Close,10);
if(CrossUp(Close,MA1))
buy;
if(CrossUp(MA1,MA2))
buy;
if(Close>BKPrice+10*MinPrice || Close<BKPrice-5*MinPrice)//当根K线满足止盈、止损之后还可以重新开仓
Sell;
PlotLine("MA1",MA1,White);
End
(2)精简模式:
默认一根K线只执行第一个信号;信号执行方式为出信号立即下单。
一根日k线计算一次,公式计算快,但是可能会有信号消失的情况
避免信号消失的编写要点:
K线走完确认信号下单,使用REF判断信号条件
K线盘中执行,使用High/Low判断信号条件
例:编写模型阳线买入,盈利10个点的时候,卖出一半持仓;阴线全部卖出
Begin
If(High>Open)//当根K线盘中为阳线时,买入开仓
Buy(600);
If(Low>BKPrice+10*MinPrice)//当根K线盈利10个点的时候,卖出一半持仓
Sell(300);
If(Low<Open)//当根K线盘中为阴线时,卖出平仓
Sell(BKVol);
End

(来源 www.cxh99.com

 

2、分钟周期模型的编写
一根K线只执行第一个信号;信号执行方式为出信号立即下单。
可能会出现信号消失。
分钟周期模型,可以实现一天内的多次加仓。
避免信号消失的编写要点:
(1)K线走完确认信号下单,使用REF判断信号条件
(2)K线盘中执行,使用High/Low判断信号条件
例子:编写模型阳线买入,阴线卖出

Setting
AddTimes:3;//可以连续卖出3次
Begin
If(Ref(IsUp,1)) //前一根K线确认为阳线,买入
buy(100);
If(Ref(IsDown,1))//前一根K线确认为阴线,卖出
Sell;
End

Setting
StockT0_Plus:True;
Begin
If(Low<Open)//当根K线盘中为阴线时,卖出
SellShort(600);
If(Low<SKPrice-10*MinPrice)//当根K线盈利10个点的时候,买回一半持仓
BuyToCover(300);
If(High>Open)//当根K线盘中为阳线时,买入
BuyToCover;
End

 

 

(二)T+0模型:

(来源 www.cxh99.com


若账户中有足够的历史持仓(底仓额度),可以通过日内“高点卖出》低点买入”的反复操作获得日内盈利,从而变相实现股票的T+0交易
交易指令:SellShort卖出;BuyToCover买入
T+0交易:卖出股票,底仓额度减少;买入股票,第二个交易日底仓额度回补
即,底仓额度大于0才会计算卖出信号
编写要点:
模型写入StockT0_Plus:True;启用T+0交易模式
股票模型不支持信号消失的处理,模型编写中请避免信号消失

(来源 www.cxh99.com


1、日线模型的编写:
写入PanZhong_Min:n;一根K线上的每个信号都执行;出信号N分钟下单,不复核;模型逐分钟回测、运行。
例:编写当根K线最新价下穿5日均线卖出,如果5日均线下穿10日均线再卖出一次,盈利10个点或亏损5个点就买入回补仓位
Setting
AddTimes:2;//可以连续卖出2次
StockT0_Plus:True;
PanZhong_Min:3;//根据逐分钟回测的方式执行出信号3分钟后下单,不进行复核
Vars
NumericSeries MA1;
NumericSeries MA2;
begin
MA1=Ma(Close,5);
MA2=Ma(Close,10);
if(CrossDown(Close,MA1))
SellShort;
if(CrossDown(MA1,MA2))
SellShort;
if(Close<SKPrice-10*MinPrice || Close>SKPrice+5*MinPrice)//当根K线满足止盈、止损之后买入回补
BuyToCover;
PlotLine("MA1",MA1,White);
End
2、分钟周期模型的编写
一根K线只执行第一个信号;信号执行方式为出信号立即下单,信号消失不处理
避免信号消失的编写要点:
(1)K线走完确认信号下单,使用REF判断信号条件
(2)K线盘中执行,使用High/Low判断信号条件
例子:编写模型阳线买入,阴线卖出

Setting
AddTimes:3;//可以连续卖出3次
StockT0_Plus:True;
Begin
If(Ref(IsDown,1))//前一根K线确认为阴线,卖出100股
SellShort(100);
If(Ref(IsUp,1)) //前一根K线确认为阳线,买入全部回补
BuyToCover;
End
② Setting
StockT0_Plus:True;
Begin
If(Low<Open)//当根K线盘中为阴线时,卖出
SellShort;
If(High>Open)//当根K线盘中为阳线时,买入
BuyToCover;
End


<!--end 第一大部分--> <!--start 第二大部分-->

 

来源:http://www.cxh99.com/2018/02/10/50056.shtml

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容