欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 变动周期

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5113人关注过本帖树形打印复制链接

主题:变动周期

帅哥哟,离线,有人找我吗?
黄金精算师
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/7/29 11:18:08    Post IP:121.13.65.239[只看该作者]


//未处理好问题,连板开盘会认为有数据, 同理跨月也会认为波动作       2016年7月28日

ma5:=ma(c,5);
ma10:=ma(c,10);
ma1010:=ma(ma10,10);
ma200:=ma(c,400);



refH:=REF(H,100);
refL:=REF(L,100);
maH:=ma((refH/C),1),noaxis;
maL:=ma((refL/C),1),noaxis;

//同步振幅:ma((maH-maL),1),noaxis;
//同步振幅:同步振幅0*2000;

{

if 同步振幅>=0.04  then ma1:=5;
if 同步振幅<0.04 and 同步振幅>=0.03   then ma1:=20;
if 同步振幅<0.03 and 同步振幅>=0.02   then ma1:=40;
if 同步振幅<0.02  then ma1:=60;

}
//==============================================================================
{
//日线振幅,最大为10,实际有20!!!!!
振幅:=stkindi('','带涨跌的振幅.HL',0,6,-1),noaxis,linethick2,COLORMAGENTA;//这是日线



//取反

取反:=0.1-振幅;//把取到的行情波动-----波动大用小周期,波动小用大周期
取正数:=取反*100;
由正数再缩小:=取正数*取正数/10;
放大:由正数再缩小*由正数再缩小*3;//非线性放大器倍数放大   1+1  *3=6      3+3*3=18    注意负数未处理




//ma1:=ma(C,40);



可变周期:=放大;
可变线5:ma (C,可变周期);
可变线6:ma (C,可变周期*1.2);
}
//====================================================


//向前所取数据
//换前同样日线数,50周期含晚盘
振幅:=(ref(hhv(H ,60),1) -  ref(LLV(L,60),1) )/C ;  //(H-L)/C  等于每天涨跌比

//振幅L:RET(L,50) ;
振幅MA:=ma(振幅,10),noaxis;
振幅MA2:=ma(振幅MA,10),noaxis;

振幅对比:=ma(振幅,100),noaxis;


//取反

取反:=0.1-振幅;//把取到的行情波动-----波动大用小周期,波动小用大周期
取正数:=取反*100;  //按周期应该没有负数
由正数再缩小:=取正数*取正数/10;
放大:=由正数再缩小*由正数再缩小*3;//非线性放大器倍数放大   1+1  *3=6      3+3*3=18    注意负数未处理




可变周期:=放大,noaxis;
可变周期平滑处理:ma(可变周期,30);//,noaxis;//实际用的周期



//-----------
振幅为0:=(ref(hhv(H ,2),1) -  ref(LLV(L,2),1) )/C ;  //涨停板及跌停板定义为H-L为0    注意,在特别行情也会假死


可变线2:= ma (C,可变周期平滑处理);


if 可变周期平滑处理<=10    then 可变周期2:=ma10 ;    //最小周期限制为10
if 可变周期平滑处理>10    then 可变周期2:=可变线2 ;
if 振幅为0<0.0001   then 可变周期2:=ma10 ;        //涨停板及跌停板设定为最大周期   如果边板,开板与收板会闪!!!!
限了最小周期变线:可变周期2;



//------------------------------------------------------------------------------------------光标与突破
{
光标位置:SYSPARAM(1);

可变周期:=光标位置;

MAI:ma (C,可变周期-5);

光标H观察线:C>ref(hhv(光标位置 ,60),1);
drawsl(光标H观察线,C,0,60,1);     //

//左向右计数:SYSPARAM(3)-SYSPARAM(2);

//drawtext(barpos>=SYSPARAM(2) and barpos<=SYSPARAM(3),close,numtostr(barpos-SYSPARAM(2)+1,0));

//右向左计数:SYSPARAM(3)-SYSPARAM(2);
//drawtext(barpos>=SYSPARAM(2) and barpos<=SYSPARAM(3),close,numtostr(SYSPARAM(3)-barpos+1,0));

//MA6:stkindi('','公式1.ma20',0,6,-1),linethick2,coloryellow;//调用了公式里2=5分钟K柱120均线//18=10分钟60   20日平均
}

//-----------------------------------
突破处理:可变周期平滑处理,NOAXIS;//突破周期
突破ma50:=ma(50,1);
//突破周期:=10;
if 突破处理<=50    then 突破处理2:=突破ma50 ;    //最小周期限制为50

突破处理3:突破处理2,NOAXIS;
{
//---------------向上突破-----------------------
突破H:限了最小周期变线 >ref(hhv(限了最小周期变线 ,突破处理3),1);//ma1>ma(c,60);
drawsl(突破H,C,0,突破处理3,1);     //突破观察线
//---------------向下突破-----------------------
突破L:限了最小周期变线<ref(LLV(限了最小周期变线,突破周期),1);//ma1>ma(c,60);
drawsl(突破L,C,0,突破周期,1);     //60分钟突破观察线
}

//---------------开平仓----------------------------------------------------------------------
KD:=0;//突破H;// CROSS(可变线,可变线2);   //开多
PD:=0;//突破L;//CROSS(可变线2,可变线);                       //平多
KK:=0;      //开空
PK:=0;                          //平空


{
KD:=0;//MA3>REF(MA3,10) AND CROSS(CLOSE,MA1);   //开多
PD:=CROSS(MA1,CLOSE);                       //平多
KK:=0;//MA3<REF(MA3,10) AND CROSS(MA1,CLOSE);      //开空
PK:=0;//CROSS(CLOSE,MA1);                          //平空
}
{
平空:SELLSHORT(PK,0,LIMITR,REF(MA1,1));
开多:BUY(KD AND HOLDING=0,1,LIMITR,REF(MA1,1));
平多:SELL(PD,0,LIMITR,REF(MA1,1));
开空:BUYSHORT(KK AND HOLDING=0,1,LIMITR,REF(MA1,1));
}

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号


//持仓:HOLDING,LINETHICK0;
资产:ASSET,NOAXIS;
//可用现金:CASH(0),LINETHICK0;

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/29 11:27:17    Post IP:180.169.30.6[只看该作者]

取正数:=取反*100;  //按周期应该没有负数

 

这样的是什么思路?为什么取反乘了100就是正数了?



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/7/29 11:36:43    Post IP:121.13.65.239[只看该作者]

这个是前面的数据处理,你前几天的
那里已经没有问题了


 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/7/29 11:44:14    Post IP:121.13.65.239[只看该作者]

有问题的只是这里
突破处理:可变周期平滑处理;//突破周期
突破ma50:=ma(50,1);

if 突破处理<=50    then 突破处理2:=突破ma50 ;    //最小周期限制为50

突破处理3:突破处理2,NOAXIS;

//---------------向上突破-----------------------
突破H:限了最小周期变线 >ref(hhv(限了最小周期变线 ,突破处理3),1);//ma1>ma(c,60);
drawsl(突破H,C,0,突破处理3,1);     //突破观察线


就是这一句
突破H:限了最小周期变线 >ref(hhv(限了最小周期变线 ,突破处理3),1);
按习惯写法可以为
会变动的平均数:按百分比转换的数据;
突破H:C >ref(hhv(C ,会变动的平均数),1);//这里限制了最小数据为50;

//==============================================================
//这个的问题与上面那个平均线不会变一样
这段不行的,

refH:=REF(H,1);
refL:=REF(L,1);
maH:=ma((refH/C),1),noaxis;
maL:=ma((refL/C),1),noaxis;


振幅:ma((maH-maL),1),noaxis;          //在屏幕上显出来 
if 振幅>0.03  then 振幅均线:=
Ma(c,5); ;
if 振幅>0.03  then 振幅均线5:=
ma(c,40) ;//在屏幕上显出来

//----------------------------------------------------------------------------------------------

这段可以的

refH:=REF(H,1);
refL:=REF(L,1);
maH:=ma((refH/C),1),noaxis;
maL:=ma((refL/C),1),noaxis;

ma5:=Ma(c,5);                                           //这个的增加只是让上面的可行的,我后面,要样的用法,只是变成突破了
ma40:=ma(c,40);
振幅:ma((maH-maL),1),noaxis;          //在屏幕上显出来 
if 振幅>0.03  then 振幅均线:=ma5 ;
if 振幅>0.03  then 振幅均线5:ma5 ;//在屏幕上显出来



 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/7/29 11:49:13    Post IP:121.13.65.239[只看该作者]

取正数:=取反*100;  //按周期应该没有负数

 

这样的是什么思路?为什么取反乘了100就是正数了?

///////////////////////-----------------------------------------------------------------------------
上面那一段,是一种算法的需要,不会影响到其的
而且这上部份已经通过调试了

[此贴子已经被作者于2016-7-29 11:49:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/29 12:58:39    Post IP:180.169.30.6[只看该作者]

我看了一下,代码实现了你要的

你看前面 两个图,变量那里绿色的50一直都在,但是放大k线图后因为没有了转折,所以那条noaxis的线就没了,但是值一直在



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/7/29 13:41:23    Post IP:121.13.65.239[只看该作者]

那个一点屏幕,移动一下就消失了
这样代码更清楚一点,你用IF00试

ma1:ma(c,5);
变数:ma1/10,NOAXIS;

限制变数:变数;
if 变数<=310    then 限制变数:=50 ;    //最小周期限制为50

ZZ:限制变数;   //低于310的情况下屏幕上应该一部份50长度的线
drawsl(ma1,C,0,限制变数,1);                   //屏幕观察

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/29 13:49:06    Post IP:180.169.30.6[只看该作者]

那个一点屏幕,移动一下就消失了

这个问题我上面讲过了,是绿色线没有变化,所以导致noaxis不显示了,但是值还在,并没有问题



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/7/29 14:31:34    Post IP:121.13.65.239[只看该作者]

这就是上面的那个问题,只是上面的那个问题你换了个写法可行了,但是同样的问题,我还没有解决,;因为我想取的数据并取不出来
你上面的处理方案是


ma5:=Ma(c,5);                                           //新加
ma40:=ma(c,40);              //新加
if 振幅>0.03  then 振幅均线:=ma5 ;       // 原来是
if 振幅>0.03  then 振幅均线:=ma(C,5) ; 
if 振幅>0.03  then 振幅均线5:ma40 ;//       //
原来是if 振幅>0.03  then 振幅均线:=ma(C,40) ; 


你说的是那个振幅没有历史数据,实际上这个用振幅也是可以的,这只是当低于多少时设定为定值时失效,所以我才用平均线,因为平均线是一定有数据的


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/29 14:46:47    Post IP:180.173.198.10[只看该作者]

以下是引用黄金精算师在2016-7-29 13:41:23的发言:
那个一点屏幕,移动一下就消失了
这样代码更清楚一点,你用IF00试

ma1:ma(c,5);
变数:ma1/10,NOAXIS;

限制变数:变数;
if 变数<=310    then 限制变数:=50 ;    //最小周期限制为50

ZZ:限制变数;   //低于310的情况下屏幕上应该一部份50长度的线
drawsl(ma1,C,0,限制变数,1);                   //屏幕观察

这段代码出现的问题能不能描述一下?实际使用好多的线



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
总数 54 上一页 1 2 3 4 5 6 下一页