MC的股票软件有止损设置吗 [MC]
-
MC用户求助:
//指标yiyi
inputs:
StochLength( 9),
SmoothingLength( 3 ),
OverSold( 20 ),
OverBought( 80 ) ;
{通过input定义参数,可以从外部进行更改参数,参数在代码内部不能动态更改}
variables:
var_k( 0 ), //定义K值变量
var_d( 0 ), //定义D值变量
var_j( 0 ), //定义J值变量
var_date(0);
{通过关键字variables声明变量;value1到value99,condition1到condition99这两类变量是MC自带的,不需要声明就可以使用,前者是数值变量,后者是布尔变量}
if currentbar=1 then
var_date=date; //存储第一根bar的日期
Value1 = Alex_KDJ(stochlength,smoothinglength,var_k,var_d,var_j); //调用KDJ函数
value2=lowest(var_k,40);
value3=lowest(var_d,40);
value4=lowest(var_j,40);
value5=lowest(close,40);
value6=lowest(var_k,80);
value7=lowest(var_d,80);
value8=lowest(var_j,80);
value9=lowest(close,80);
{通过函数lowest计算最近多少根bar的最小值}
condition1=var_k[1]=value2 and var_d[1]=value3 and var_j[1]=value4;
condition2=close[1]=value5;
condition3=var_k[1]=value6 and var_d[1]=value7 and var_j[1]=value8;
condition4=close[1]=value9;
condition5=var_j>var_j[1] and var_j[1]<var_j[2];
condition6=date-var_date>=300;
{MC没有存储股票是否上市多少天的数据,但是可以通过第一根bar的日期与最新的日期之差来计算日期天数}
{condition1到condition7分别对应您帖子中的6个条件}
Plot1( var_k, "K" ) ;
Plot2( var_d, "D") ;
Plot3( OverBought, "OverBot" ) ;
Plot4( OverSold, "OverSld" ) ;
if ((condition1 and condition2) or (condition3 and condition4)) and condition5 and condition6 then
Alert(text(getsymbolname));
{条件满足时发送警报(返回该股票的名称),可以在交易追踪器的“警告”栏位或者通过邮件来查看}
//函数Alex_KDJ
input: length(numericsimple), smoothlength(numericsimple), var_K(numericref), var_D(numericref), var_J(numericref);
var: high1(0), low1(0), rsv(0);
high1=highest(high,length);
low1=lowest(low,length);
if high1<>low1 then
rsv=(close-low1)/(high1-low1)*100
else rsv=0;
var_k=xaverageorig(rsv,smoothlength);
var_d=xaverageorig(var_k,smoothlength);
var_j=3*var_k-2*var_d;
注意事项:
第一、选股可以使用投资组合回测或者投资组合交易功能进行。
第二、目前关于分钟的数据可能没有太长(超过1年),但是日线数据是从该股票上市那天的数据到当前,所以您的选股周期需要使用日线周期。
第三、关于邮件警告,这个功能,您可以在论坛进行搜索学习。
第四、可能没有将所有的细节都告诉您,一些问题可以在QQ群进行及时的咨询。
-
MC回复讨论一:
//指标yiyi
inputs:
StochLength( 9),
SmoothingLength( 3 ),
OverSold( 20 ),
OverBought( 80 ) ;
{通过input定义参数,可以从外部进行更改参数,参数在代码内部不能动态更改}
variables:
var_k( 0 ), //定义K值变量
var_d( 0 ), //定义D值变量
var_j( 0 ), //定义J值变量
var_date(0);
{通过关键字variables声明变量;value1到value99,condition1到condition99这两类变量是MC自带的,不需要声明就可以使用,前者是数值变量,后者是布尔变量}
if currentbar=1 then
var_date=date; //存储第一根bar的日期
Value1 = Alex_KDJ(stochlength,smoothinglength,var_k,var_d,var_j); //调用KDJ函数
value2=lowest(var_k,40);
value3=lowest(var_d,40);
value4=lowest(var_j,40);
value5=lowest(close,40);
value6=lowest(var_k,80);
value7=lowest(var_d,80);
value8=lowest(var_j,80);
value9=lowest(close,80);
{通过函数lowest计算最近多少根bar的最小值}
condition1=var_k[1]=value2 and var_d[1]=value3 and var_j[1]=value4;
condition2=close[1]=value5;
condition3=var_k[1]=value6 and var_d[1]=value7 and var_j[1]=value8;
condition4=close[1]=value9;
condition5=var_j>var_j[1] and var_j[1]<var_j[2];
condition6=date-var_date>=300;
{MC没有存储股票是否上市多少天的数据,但是可以通过第一根bar的日期与最新的日期之差来计算日期天数}
{condition1到condition7分别对应您帖子中的6个条件}
Plot1( var_k, "K" ) ;
Plot2( var_d, "D") ;
Plot3( OverBought, "OverBot" ) ;
Plot4( OverSold, "OverSld" ) ;
if ((condition1 and condition2) or (condition3 and condition4)) and condition5 and condition6 then
Alert(text(getsymbolname));
{条件满足时发送警报(返回该股票的名称),可以在交易追踪器的“警告”栏位或者通过邮件来查看}
//函数Alex_KDJ
input: length(numericsimple), smoothlength(numericsimple), var_K(numericref), var_D(numericref), var_J(numericref);
var: high1(0), low1(0), rsv(0);
high1=highest(high,length);
low1=lowest(low,length);
if high1<>low1 then
rsv=(close-low1)/(high1-low1)*100
else rsv=0;
var_k=xaverageorig(rsv,smoothlength);
var_d=xaverageorig(var_k,smoothlength);
var_j=3*var_k-2*var_d;
注意事项:
第一、选股可以使用投资组合回测或者投资组合交易功能进行。
第二、目前关于分钟的数据可能没有太长(超过1年),但是日线数据是从该股票上市那天的数据到当前,所以您的选股周期需要使用日线周期。
第三、关于邮件警告,这个功能,您可以在论坛进行搜索学习。
第四、可能没有将所有的细节都告诉您,一些问题可以在QQ群进行及时的咨询。
-
MC回复讨论二:
老师辛苦了,日线周期可以了。顺便问问这个公式或以后我自己编的公式,可以实现A股的小周期选股吗?比如1分钟或5分钟30分钟等。
-
MC回复讨论三:
小周期选股可以的,但是可能需要将条件6去除掉,因为分钟数据实盘支持1年,模拟盘不到1年时间,分钟及小时周期数据是由1分钟组合成的。
-
MC回复讨论四:
小周期选股可以的,但是可能需要将条件6去除掉,因为分钟数据实盘支持1年,模拟盘不到1年时间,分钟及小时周期数据是由1分钟组合成的。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容