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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]请教公式

   

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


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

主题:[求助]请教公式

帅哥哟,离线,有人找我吗?
bhwhui
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:208 积分:1565 威望:0 精华:2 注册:2009/8/23 19:18:53
  发帖心情 Post By:2009/12/5 13:09:39    Post IP:221.7.173.165[只看该作者]

别说大侠之类的,大家一起学习。

 

估计您没有仔细看改写的代码,不是改好了么?

 

N:=MA(TR,trn);

ma1:=ma(close,man1);
ma2:=ma(close,man2);
ma3:=ma(close,man3);

BUYHHV:=ref(c,barslast(ma1>ma2 and ma2>ma3));
SELLLLV:=ref(c,barslast(ma1<ma2));

sellshortllv:=ref(c,barslast(ma1<ma2<ma3));
buyshorthhv:=ref(c,barslast(ma1>ma2));

//记得这种算法有个漏洞!

 

没有显示?,您缩小图表看看前期的交易,费率设置对么?资产缩水够开仓了么?

 

漏洞的问题,你自己纯粹的用均线交易系统试试,仔细看,就会明白了。

 

 


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


加好友 发短信
等级:论坛游民 帖子:208 积分:1565 威望:0 精华:2 注册:2009/8/23 19:18:53
  发帖心情 Post By:2009/12/5 13:17:53    Post IP:221.7.173.165[只看该作者]

另外 海龟原版每20周期计算ATR值,我改成man3周期调整,不合适的话,自己改改。"替换"就行了。。。。

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/6 21:37:41    Post IP:114.102.19.165[只看该作者]

 谢谢!!!

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
请教bhwhui  发帖心情 Post By:2009/12/7 22:54:52    Post IP:114.102.30.175[只看该作者]

input:trn(20,5,30),man1(5,2,10),man2(10,5,20),man3(20,10,60);

VARIABLE:dayCount=1,PositionCount=1,SellSign=0,dK=0;//加多空标志,1:多,-1:空 0:空仓
VARIABLE:EntAndExitSign=1,EntPoint=0,ExitPoint=0;
VARIABLE:N=0;

N:=MA(TR,trn);

ma1:=ma(close,man1);
ma2:=ma(close,man2);
ma3:=ma(close,man3);

BUYHHV:=ref(c,barslast(ma1>ma2 and ma2>ma3));
SELLLLV:=ref(c,barslast(ma1

sellshortllv:=ref(c,barslast(ma1
buyshorthhv:=ref(c,barslast(ma1>ma2));

//记得这种算法有个漏洞!

IF BARPOS>=man3 THEN
BEGIN
 IF BARPOS=man3 THEN
 IF DayCount=man3/2 OR BARPOS=man3  THEN
  BEGIN{man3/2天调整N值}
      N:=((man3-1)*N+TR)/man3;{计算N值}
      DayCount:=2;
  END
 
 DayCount:=DayCount+1;
 EntPoint:=ENTERBARS+1;
 
 IF EntPoint=EntAndExitSign THEN
     BEGIN{说明STOP指令买进头寸成功}
  PositionCount:=PositionCount+1;{头寸计数}
  SellSign:=True;{可以平仓信号,如果达到指定的价格}
   END
  
 IF PositionCount=1 THEN BEGIN{第一头寸}
  HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
  if high=buyhhv then
。。。。。

if high=buyhhv then,我感觉这里有点问题,应该是ma1>ma2 and ma2>ma3时开仓,而不是high=buyhhv时开仓。谢谢!!!

[此贴子已经被作者于2009-12-7 23:08:23编辑过]

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


加好友 发短信
等级:论坛游民 帖子:208 积分:1565 威望:0 精华:2 注册:2009/8/23 19:18:53
  发帖心情 Post By:2009/12/8 12:39:47    Post IP:221.7.173.165[只看该作者]

大哥,您还是按照版主的指导,先弄清楚公式系统吧。

 

BUYHHV:=ref(c,barslast(ma1>ma2 and ma2>ma3));

就是您的本意啊。


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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/8 19:30:04    Post IP:114.102.29.4[只看该作者]

我感觉应该这样写,赐教!!!

buyhhv:=
VALUEWHEN( ma1>ma2 and ma2>ma3, c);

。。。。。
 IF PositionCount=1 THEN BEGIN{第一头寸}
  HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
  if c=buyhhv then
。。。。。




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


加好友 发短信
等级:论坛游民 帖子:208 积分:1565 威望:0 精华:2 注册:2009/8/23 19:18:53
  发帖心情 Post By:2009/12/9 2:11:26    Post IP:221.7.173.165[只看该作者]

建议您都试试,谢谢.

 

附函数说明。

 

BARSLAST(X):上一次X不为0到现在的天数
例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数
如果没有符合条件的周期,函数将返回零

 

当条件COND满足时,取当时的DATA的值,否则取得VALUEWHEN的前一个值。
用法:
VALUEWHEN( COND, DATA)
例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);
表示当前最高价大于前五个周期最高价的最大值时返回当前最高价


 回到顶部
总数 17 上一页 1 2