当前位置: 首页 > news >正文

网站建设需要会什么软件/许昌seo公司

网站建设需要会什么软件,许昌seo公司,湘潭专业seo优化推荐,做网站多久能盈利模型根据从上至下,从左至右的顺序进行计算;编写中每一行计算,都能引用本次计算上面各行的计算结果一、股票模型的机制:股票分为T1模型和T0模型股票模型默认为T1模型,T0模型需要写入StockT0_Plus:True;启用T0交易模式(一…

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

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

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

(一)T+1模型:

通过低买高卖获得盈利,遵循股票T+1交易规则。

交易指令:BK买入;SP卖出

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))

BK;

if(CrossUp(MA1,MA2))

BK;

if(Close>BKPrice+10*MinPrice || Close

SP;

PlotLine("MA1",MA1,White);

End

(2)精简模式:

默认一根K线只执行第一个信号;信号执行方式为出信号立即下单。

一根日k线计算一次,公式计算快,但是可能会有信号消失的情况

避免信号消失的编写要点:

K线走完确认信号下单,使用REF判断信号条件

K线盘中执行,使用High/Low判断信号条件

例:编写模型阳线买入,盈利10个点的时候,卖出一半持仓;阴线全部卖出

Begin

If(High>Open)//当根K线盘中为阳线时,买入开仓

BK(600);

If(Low>BKPrice+10*MinPrice)//当根K线盈利10个点的时候,卖出一半持仓

SP(300);

If(Low

SP(BKVol);

End

2、分钟周期模型的编写

一根K线只执行第一个信号;信号执行方式为出信号立即下单。

可能会出现信号消失。

分钟周期模型,可以实现一天内的多次加仓。

避免信号消失的编写要点:

(1)K线走完确认信号下单,使用REF判断信号条件

(2)K线盘中执行,使用High/Low判断信号条件

例子:编写模型阳线买入,阴线卖出

Setting

AddTimes:3;//可以连续卖出3次

Begin

If(Ref(IsUp,1)) //前一根K线确认为阳线,买入

BK(100);

If(Ref(IsDown,1))//前一根K线确认为阴线,卖出

SP;

End

Setting

StockT0_Plus:True;

Begin

If(Low

SK(600);

If(Low

BP(300);

If(High>Open)//当根K线盘中为阳线时,买入

BP;

End

(二)T+0模型:

若账户中有足够的历史持仓(底仓额度),可以通过日内“高点卖出》低点买入”的反复操作获得日内盈利,从而变相实现股票的T+0交易

交易指令:BK\SK\BP\SP\BPK\SPK

1)支持先卖出后买入:

SK/SPK信号为卖出股票,即减少底仓限额,对应信号是BP/BPK,BP代表买入股票,补足底仓;BPK代表买入股票,补足底仓(相当于BP)后在底仓可用额度范围内继续买入(相当于BK)之后再卖出。

2)支持先买入后卖出:

BK/BPK信号为买入股票,当模型中写入的手数大于底仓额度,按照底仓额度计算;当模型写入手数小于底仓额度,按照实际手数计算,对应信号可以是SP、SPK,SP代表卖出股票,减少底仓额度;SPK代表卖出股票,减少底仓额度(相当于SP)后在底仓可用额度范围内继续卖出(相当于SK)之后再买入。

编写要点:

模型写入StockT0_Plus:True;启用T+0交易模式

股票模型不支持信号消失的处理,模型编写中请避免信号消失

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))

SK;

if(CrossDown(MA1,MA2))

SK;

if(CloseSKPrice+5*MinPrice)//当根K线满足止盈、止损之后买入回补

BP;

PlotLine("MA1",MA1,White);

End

2、分钟周期模型的编写

一根K线只执行第一个信号;信号执行方式为出信号立即下单,信号消失不处理

避免信号消失的编写要点:

(1)K线走完确认信号下单,使用REF判断信号条件

(2)K线盘中执行,使用High/Low判断信号条件

例子:编写模型阳线买入,阴线卖出

Setting

AddTimes:3;//可以连续卖出3次

StockT0_Plus:True;

Begin

If(Ref(IsUp,1))//前一根K线确认为阳线,买入100股

BK(100);

If(Ref(IsDown,1)) //前一根K线确认为阴线,卖出

SP;

End

Setting

StockT0_Plus:True;

Begin

If(Low

SK;

If(High>Open)//当根K线盘中为阳线时,买入

SP;

End

二、期货模型的机制

35ef8b772880f26dab66962630740f91.gif

模型默认信号执行方式为指令价(出信号立即下单),也支持编写多样的信号执行方式

35ef8b772880f26dab66962630740f91.gif

模型默认为一根K线一个信号的模型,也支持编写一根K线多个信号的模型

35ef8b772880f26dab66962630740f91.gif

模型默认为一次建仓模型,也支持编写连续建仓模型

(一)信号执行方式

1、默认信号执行方式

一根K线的第一个信号有效;

出信号立即下单,下单后到k线走完的的后续信号不再执行,K线走完后复核信号。

回测不考虑信号消失成本。

避免信号消失的编写要点:

(1)K线走完确认信号下单,使用REF判断信号条件

(2)K线盘中执行,使用High/Low判断信号条件

例子:编写模型阳线买入开仓,阴线卖出平仓

Begin

If(Ref(IsUp,1)) //前一根K线确认为阳线,买入开仓

BK;

If(Ref(IsDown,1))//前一根K线确认为阴线,卖出平仓

SP;

End

Begin

If(High>Open)//当根K线盘中为阳线时,买入开仓

BK;

If(Low

SP;

End

2、通过环境设置函数设定多样化的信号执行方式

(1)设置一根k线多信号的指令价方式

写入MultSig/MultSig_Min

出信号N秒下单,不进行信号复核;

可以设置一根K线多个信号;

回测方式为逐笔或逐分钟回测,不存在信号消失,回测与实盘运行结果一致

例:

Setting

MultSig:0,0,2,0;//出信号立即下单,不进行复核,一根K线最多可以出现2个信号

Vars

NumericSeries MA1;

NumericSeries MA2;

begin

MA1=Ma(Close,5);

MA2=Ma(Close,10);

if(CrossUp(Close,MA1))

BK;

if(Close>BKPrice+10*MinPrice || Close

SP;

PlotLine("MA1",MA1,White);

PlotLine("MA2",MA2,Yellow);

End

(2)SignalNoTrading 设置模型信号是否执行

如果软件自带的信号执行方式还不能满足您的需求,您可以通过自编信号执行方式实现。

不支持回测

(二)模型类型

1、一次建仓模型

默认为一次建仓模型,不允许连续出开仓信号,可以连续出平仓信号。

只有在持仓为0时才能开新仓,一次交易只能建一次仓,有多个开仓信号都满足条件的时候,取第一个信号作为有效信号,后面的K线上的同样信号将被过滤掉

编写要点:

(1)一开一平模型:开仓手数与平仓手数一致

(2)减仓模型:平仓手数小于开仓手数

例子:

①开平仓手数一致

Vars

NumericSeries MA1;

NumericSeries MA2;

begin

MA1=Ma(Close,5);

MA2=Ma(Close,10);

if(CrossUp(Close,MA1))

BK;

if(CrossUp(MA1,MA2))

BK;

if(Close>BKPrice+10*MinPrice || Close

SP;

PlotLine("MA1",MA1,White);

PlotLine("MA2",MA2,Yellow);

End

②平仓手数小于开仓手数

Vars

NumericSeries MA1;

NumericSeries MA2;

begin

MA1=Ma(Close,5);

MA2=Ma(Close,10);

if(CrossUp(Close,MA1))

BK(2);

if(CrossUp(MA1,MA2))

BK(1);

if(Close>BKPrice+10*MinPrice || Close

SP(1);

PlotLine("MA1",MA1,White);

PlotLine("MA2",MA2,Yellow);

End

2、连续建仓模型

模型通过写入AddTimes控制一次交易过程中的最大建仓次数,允许连续出开仓信号和平仓信号;

达到最大连续建仓次数后,平掉连续建仓的首次建仓,才能另开新仓。

例:

Setting

AddTimes:3;

Vars

NumericSeries MA1;

NumericSeries MA2;

begin

MA1=Ma(Close,5);

MA2=Ma(Close,10);

if(CrossUp(Close,MA1))

BK(2);

if(CrossUp(MA1,MA2))

BK(1);

if(Close>BKPrice+10*MinPrice || Close

SP(1);

PlotLine("MA1",MA1,White);

PlotLine("MA2",MA2,Yellow);

End

三、编写常见问题

1、如何定义策略中使用的全局变量

(1)K线图公式/TICK图公式

①NumericSeries、StringSeries定义序列型变量

盘中运行:记录下每根K线的运算结果,用于下根K线的计算

回测:支持回测

注:TICK周期上每笔TICK一根K线,定义序列型变量,当根K线计算模型时使用上根K线的运算结果,相当于全局变量的用法

例子:通过序列变量控制一天之内总的开仓次数(开多+开空)

Setting

AddTimes:5;

Params

Numeric Length(3); // 周期

Vars

NumericSeries BarN; //当日K线根数

NumericSeries myflag; // 交易次数

Begin

// ------------------- 取当日K线根数及交易次数 -----------------

If(date!=date[1])

{

BarN= 1 ;

myflag =0;

}

else BarN= BarN[1]+1;

// ----------------------- 多头开仓--------------------

If (MarketPosition!=-1  And Vol > 0 )

{

If(Every(IsUp,Length) And BarN>=Length And CloseMinute>=5 And myflag<= 5)

//连续三根收阳,则开多单,最多连续开5次。

{

BPK(0, Active_Order);

myflag = myflag+1;

}

}

// ------------------------ 空头开仓-----------------

If (MarketPosition!=1  And Vol > 0 )

{

If(Every(IsDown,Length) And BarN>=Length And CloseMinute>=5 And myflag<= 5)

//连续三根收阴,则开空单,最多连续开5次。

{

SPK(0,Active_Order);

myflag = myflag+1;

}

}

If(CloseMinute<=5 And BarsSinceEntry > 0 And Vol > 0)

{

// ------------------------- 尾盘多头平仓----------------

If(MarketPosition == 1 )

Sell(0, Active_Order);

// ---------------------- 尾盘空头平仓-------------

If(MarketPosition == -1)

BP(0, Active_Order);

}

End

②GetGlobalVar(Index)、SetGlobalVar(Index,Val);GetGlobalVar2(Str)、SetGlobalVar2(Str,Val)

盘中运行:记录下每笔TICK的运算结果,用于之后的计算

回测:不支持回测

(2)算法交易公式

Global_Numeric、Global_NumericArray、Global_String、Global_StringArray定义全局变量或使用GetGlobalVar(Index)、SetGlobalVar(Index,Val);GetGlobalVar2(Str)、SetGlobalVar2(Str,Val)

盘中运行:记录下每笔TICK的运算结果,用于之后的计算

回测:支持算法交易回测

例子:通过全局变量,控制交易重复执行

(1)

Data

data0:"m1801";

Vars

Global_Numeric type;

Begin

If(data0.A_BuyProfitLoss()>5000&&type == 0) //如果该合约多头盈亏大于5000,加仓1手

{

data0.A_SendOrder(Enum_Buy,Enum_Entry,1,data0.price("Ask1"));

type = 1; //加仓后type重新赋值,避免重复执行

}

End

(2)

Data

data0:"m1801";

Begin

If(data0.A_BuyProfitLoss()>5000 && GetGlobalVar(0) == 0) //如果该合约多头盈亏大于5000,加仓1手

{

data0.A_SendOrder(Enum_Buy,Enum_Entry,1,data0.price("Ask1"));

SetGlobalVar(0,1); //加仓后全局变量第一个位置重新赋值,避免重复执行

}

End

2、如何定义布尔型变量

使用Numeric、NumericSeries定义数值型变量代替

变量返回值:1代表True;0代表Flse

例子:通过设置决定是否启用按资金比例下单

Vars

NumericSeries  Ma5;    //5周期均线

NumericSeries  Ma10;   //10周期均线

Numeric  Buytype(0);//是否启用按资金比例下单

Numeric  lots;//下单手数

Begin

If(Buytype ==0 )

{

lots = 5;//固定5手开仓

}

Else If(Buytype == 1 )

{

lots = MoneyTot*0.2/(Close*ContractUnit*MarginRatio);//按资金的百分之20开仓

}

Ma5 = Ma(Close,5);

Ma10 = Ma(Close,10);

If(Ref( CrossUp(Ma5,Ma10) ,1) )

{

BPK(lots);

}

Else If(Ref( CrossDown(Ma5,Ma10) ,1) )

{

SPK(lots);

}

End

3、如何定义数组型变量

使用NumericArray、StringArray、Global_StringArray定义不同类型的数组变量

例子:取得最近10根K线内最高价小于当前K线,最低价大于当前K线的K线数量

Vars

NumericArray deep;

Numeric i;

Numeric j;

Numeric k;

Begin

For i =0 To 9

{

If( High>High[i])

{

deep[j]=Low[i];

j = j+1;//装入最近的10根K线内小于当根最高价的K线的最低价

}

}

For i =0 To j-1

{

If( Low

k = k+1;

}

PlotNumeric("根数",k);

End

http://www.lbrq.cn/news/772273.html

相关文章:

  • 大连网站建设找哪家好/网络营销公司名字大全
  • 东莞常平邮编是多少/广州seo优化费用
  • 建设法规网站/淘宝店铺推广方法
  • 怎么在自己的电脑上做网站/怎么去营销自己的产品
  • 汽车门店管理系统/电脑优化软件排行榜
  • 漳州做网站开发/百度关键词热搜
  • 电子商城网站建设的实训内容记述/免费建立个人网站申请
  • 重庆政务服务网/重庆企业网站排名优化
  • 金站网.营销型网站/hao123影视
  • 学做网站论坛 可以吗/博客seo教程
  • 网站建设 上/做网站
  • 辽宁沈阳做网站/新闻发布系统
  • 网站运营每天做的/怎么自己做一个网站
  • wordpress remove_query_arg/百度竞价优化
  • 用php写的网站/爱站网长尾关键词挖掘查询工具
  • 镇江网站建设价位/如何做电商 个人
  • 云浮 网站建设/免费网络营销平台
  • 网站建设免费空间哪里有/seo优化范畴
  • 盐城专业做网站的公司/如何做网页链接
  • 网站 设计 深圳/安卓优化神器
  • 哪些网站可宣传/小说关键词自动生成器
  • 优良的定制网站建设/数据分析师报考条件
  • 网站建设解决方案/网络怎么推广自己的产品
  • 阿里云 网站部署/网络营销的12种手段
  • 网站建设商虎小程序/宿迁网站建设制作
  • 资阳公司网站建设/关键词文案生成器
  • 高校对网站建设的重视/线下推广
  • 杭州网站建设路/十大少儿编程教育品牌
  • 中山网站建设是什么/新平台推广赚钱
  • 鞍山网站制作报价/今日军事新闻最新消息中国
  • ZKmall开源商城的容灾之道:多地域部署与故障切换如何守护电商系统
  • 云计算分类与主流产品
  • 线性代数 · 矩阵 | 最小多项式
  • 【力扣494】目标和
  • Redis 01 数据结构
  • openEuler、 CentOS、Ubuntu等 Linux 系统中,Docker 常用命令总结