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


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

   

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


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

主题:[求助]请教公式

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
[求助]请教公式  发帖心情 Post By:2009/12/2 23:48:12    Post IP:114.102.26.34[显示全部帖子]

MA1:=MA(C,5);
MA2:=MA(C,10);
MA3:=MA(C,20);

开多:ma1>ma2 and ma2>ma3;
平多:ma1<ma2;
开空:ma1<ma2 and ma2<ma3;
平空:ma1>ma2;

我想把上面的代码放入海龟交易法的代码中,可是没有信号显示,我实在弄不出,请帮忙解决,谢谢!!!
[此贴子已经被作者于2009-12-3 0:16:14编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/3 23:19:23    Post IP:114.102.26.109[显示全部帖子]

 请帮我做一个,麻烦了。

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/4 16:24:11    Post IP:114.102.26.170[显示全部帖子]

 我想要他的资金管理和头寸管理,意思就是我不用海龟的开平仓条件,用我自己的开平仓条件来替换海龟的开平仓条件,再加上海龟的头寸管理,现在我实在编不出,请帮忙解决,先谢谢了。
[此贴子已经被作者于2009-12-4 16:25:41编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/4 22:33:07    Post IP:114.102.31.43[显示全部帖子]

 谢谢大侠,另外请问是什么漏洞?能告知吗?再谢!!!

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/4 22:39:54    Post IP:114.102.31.43[显示全部帖子]

图上还是显示不出开仓,平仓的信号。而软件自带的海龟就有开平仓信号,谢谢!!!

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2009/12/4 22:49:25    Post IP:114.102.31.43[显示全部帖子]

 VARIABLE:dayCount=1,PositionCount=1,SellSign=0;
VARIABLE:EntAndExitSign=1,EntPoint=0,ExitPoint=0;
VARIABLE:N=0;

MA1:MA(C,5);
MA3:MA(C,10);

M:=MA(TR,20);

BUYHHV:=HHV(H,20);
SELLLLV:=LLV(L,10);

ss:n,linethick0;

IF BARPOS>=21 THEN BEGIN
IF BARPOS=21 THEN
N:=M;
IF DayCount=6 OR BARPOS=21 THEN BEGIN{5天调整N值}
N:=(19*N+TR)/20;{计算N值}
DayCount:=2;
END
DayCount:=DayCount+1;
EntPoint:=ENTERBARS+1;
IF EntPoint=EntAndExitSign THEN BEGIN{说明STOP指令买进头寸成功}
PositionCount:=PositionCount+1;{头寸计数}
SellSign:=True;{开始以STOP卖出,如果达到指定的价格}
END
IF PositionCount=1 THEN BEGIN{第一头寸}
HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
开1:BUY(1,HOW,STOP,BUYHHV);{在20日新高STOP指令买进}
END
IF PositionCount=2 THEN BEGIN{如到第二头寸}
HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
开2:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第一头寸)+0.5个N以STOP指令买进}
END
IF PositionCount=3 THEN BEGIN{如到第三头寸}
HOW:=CASH(0)*0.01/N;
开3:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第二头寸)+0.5个N以STOP指令买进}
END
IF PositionCount=4 THEN BEGIN
HOW:=CASH(0)*0.01/N;
开4:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);
END
IF SellSign=True THEN BEGIN
    ExitPoint:=EXITBARS+1;
    IF ExitPoint=EntAndExitSign THEN BEGIN {说明卖出成功}
       PositionCount:=1;{头寸计算复原}
       SellSign:=False;
    END
    IF ENTERPRICE-2*N then SELL(1,100%,STOP,SELLLLV);{退出离盈利头寸}
    ELSE
    SELL(1,100%,STOP,ENTERPRICE-2*N);{退出亏损头寸}
    END
END;
上面是系统自带的海龟交易法开多、平多的源码,其开多平多仓条件是:
BUYHHV:=HHV(H,20);
SELLLLV:=LLV(L,10);

现在我想用下面的开平仓条件代码替换掉海龟交易法中的开多平多仓条件:
MA1:=MA(C,5);
MA2:=MA(C,10);
MA3:=MA(C,20);

开多:ma1>ma2 and ma2>ma3;
平多:ma1<ma2;

开空:ma1<ma2 and ma2<ma3;
平空:ma1>ma2;

应该如何编,请大侠出手相助,谢谢!!!

[此贴子已经被作者于2009-12-4 23:05:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wzywzy292
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wzywzy292
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
。。。。。




 回到顶部