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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [建议]完善海龟交易法则

   

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


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

主题:[建议]完善海龟交易法则

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


加好友 发短信
等级:新手上路 帖子:25 积分:286 威望:0 精华:0 注册:2009/12/4 13:43:34
[建议]完善海龟交易法则  发帖心情 Post By:2010/6/8 16:08:36    Post IP:58.50.25.46[只看该作者]

     版主请完善海龟交易法则现在缺少做空的语句这个例子较好

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;


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


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/6/8 19:00:30    Post IP:125.34.162.15[只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=246

提交问题之前,用户可否利用论坛搜索功能先查一遍


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


加好友 发短信
等级:新手上路 帖子:25 积分:286 威望:0 精华:0 注册:2009/12/4 13:43:34
  发帖心情 Post By:2010/6/9 10:15:55    Post IP:58.50.25.46[只看该作者]

以下是引用admin在2010-6-8 19:00:30的发言:

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=246

提交问题之前,用户可否利用论坛搜索功能先查一遍

          这个帖子我看过好象存在问题还请管理员把金字塔中的海龟交易法则完善好吗


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


加好友 发短信
等级:版主 帖子:1056 积分:699 威望:0 精华:3 注册:2009/10/16 12:55:32
  发帖心情 Post By:2010/6/9 11:40:53    Post IP:61.51.193.179[只看该作者]

input:trn(20,5,30),hn(20,5,30),lown(10,5,20);

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);
BUYHHV:=HHV(H,hn);
SELLLLV:=LLV(L,lown);

sellshortllv:=llv(l,hn);
buyshorthhv:=hhv(h,lown);

IF BARPOS>=hn THEN
BEGIN
 IF BARPOS=hn THEN
 IF DayCount=hn/2 OR BARPOS=hn  THEN
  BEGIN{hn/2天调整N值}
      N:=((hn-1)*N+TR)/hn;{计算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
   BEGIN
   dk:=1;
   多开1:BUY(1,HOW,STOP,BUYHHV);{在20日新高STOP指令买进}
   END;
  
  if low=sellshortllv then
   begin
   dk:=-1;
   空开1:buyshort(1,HOW,STOP,sellshortllv);{在20日新低STOP指令空开}
   end;
 END

 IF PositionCount=2 THEN BEGIN{如到第二头寸}
  HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模}
  if dk=1 then 多开2:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第一头寸)+0.5个N以STOP指令买进}
  if dk=-1 then 空开2:buyshort(1,HOW,STOP,ENTERPRICE-0.5*N);
 END

 IF PositionCount=3 THEN BEGIN{如到第三头寸}
  HOW:=CASH(0)*0.01/N;
  if dk=1 then 多开3:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第二头寸)+0.5个N以STOP指令买进}
  if dk=-1 then 空开3:buyshort(1,HOW,STOP,ENTERPRICE-0.5*N);
 END

 IF PositionCount=4 THEN BEGIN
  HOW:=CASH(0)*0.01/N;
  if dk=1 then 多开4:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);
  if dk=-1 then 空开4:buyshort(1,HOW,STOP,ENTERPRICE-0.5*N); 
 END

 IF SellSign=True THEN
  BEGIN
      ExitPoint:=EXITBARS+1;
      if dk=1 then
       begin
        IF ExitPoint=EntAndExitSign THEN
        BEGIN {说明卖出成功}
           PositionCount:=1;{头寸计算复原}
           SellSign:=False;
           dk:=0;
        END
    
        IF ENTERPRICE-2*N then
         SELL(1,100%,STOP,SELLLLV);{退出离盈利头寸}
        ELSE
         SELL(1,100%,STOP,ENTERPRICE-2*N);{退出亏损头寸}
       end;
      
      if dk=-1 then
        begin
       IF ExitPoint=EntAndExitSign THEN
        BEGIN
           PositionCount:=1;
           SellSign:=False;
           dk:=0;
        END
    
       IF ENTERPRICE+2*N then
        sellSHORT(1,100%,STOP,BUYSHORTHHV);
       ELSE
        sellSHORT(1,100%,STOP,ENTERPRICE+2*N);
      
       END;
     END
END;

这是4楼的,你调整好费用设置,应该可以,有问题可以提出来。



金字塔-客户服务部

-----------------------------------------------------------------------------------------------------

全国统一客服电话:021-20339087  021-20339081  021-20339080

Email:service@weistock.com

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


加好友 发短信
等级:新手上路 帖子:25 积分:286 威望:0 精华:0 注册:2009/12/4 13:43:34
  发帖心情 Post By:2010/6/10 10:03:16    Post IP:58.50.25.46[只看该作者]

            版主您好;请问费用如何设置

     还有个问题 (if dk=1 then 多开2:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第一头寸)+0.5个N以STOP指令买进} )这句中的红色的1
       如何理解         

[此贴子已经被作者于2010-6-10 10:12:26编辑过]

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


加好友 发短信
等级:版主 帖子:1056 积分:699 威望:0 精华:3 注册:2009/10/16 12:55:32
  发帖心情 Post By:2010/6/10 10:33:47    Post IP:61.51.198.252[只看该作者]

系统公式编辑中右上角[费用设置],按实际情况设置

红色的1 表示总是真,因为前面已经有条件了。



金字塔-客户服务部

-----------------------------------------------------------------------------------------------------

全国统一客服电话:021-20339087  021-20339081  021-20339080

Email:service@weistock.com

 回到顶部