设为首页收藏本站

 找回密码
 注册
楼主: 东方
打印 上一主题 下一主题

一点一点消化“海龟” [复制链接]

Rank: 4

精华
0
UID
41
积分
498
帖子
67
主题
8
阅读权限
50
注册时间
2007-7-25
最后登录
2019-3-24
21#
发表于 2007-10-9 21:19:38 |只看该作者

系列疑问求助---7

设置某个索引的全局变量值。
Bool SetGlobalVar(Integer nIndex,Numeric fVal)
参数 nIndex 要设置全局变量的索引值,该值从0开始计数,不能大于50。
fVal 要设置变量的值。  
备注 设置某个索引的全局变量值,返回值为布尔型。  
示例 SetGlobalVar(1,123); 将第2个全局变量设置为123。

为什么海龟中有的是按照次序的:
Begin
    If(BarStatus == 0)
    {
        SetGlobalVar(0,InvalidNumeric);
        SetGlobalVar(1,0);
        SetGlobalVar(2,InvalidNumeric);
    }Else
    {
        preBreakoutType = GetGlobalVar(1);
        preBreakOutPrice = GetGlobalVar(2);
    }


而之后还有好几个却都是没有次序的:
SetGlobalVar(0,myEntryPrice);
但注释有的为// 保存第一次开仓的价格,有的为// 保存最后一次开仓的价格?

这些没有次序的值各自互相不混淆吗?
是不是因为各自包含在不同的“段落”里,所以不相互影响?





系列疑问求助---8

在 如何赋值给myentryprice http://www.tradeblazer.net/forum/thread-644-1-1.html 的第一楼里,
If(MarketPosition==1)
  { While (close>AA&&close>myentryprice)
              myentryprice=close;
              if(close<aa)
              break;
   }

这里出现了 While    if    break , 其详细含义是什么?
这些海龟里没有,区别在哪里?

[ 本帖最后由 东方 于 2007-10-9 21:30 编辑 ]

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
22#
发表于 2007-10-10 11:25:14 |只看该作者

回复 #21 东方 的帖子

1、注释不一致,是因为保存的值性质不一样。但用处是一样的。
保存的值都是用来进行止损控制的。需要的是最后的开仓价格。

2、while循环阿。。break 退出循环。建议看帮助文件,一下说不清楚的

使用道具 举报

中级操盘手

Auto Trading Learner

Rank: 9Rank: 9Rank: 9

精华
1
UID
7
积分
15417
帖子
216
主题
26
阅读权限
150
注册时间
2007-7-21
最后登录
2007-11-22
23#
发表于 2007-10-10 17:30:39 |只看该作者
好贴要顶!!

使用道具 举报

Rank: 4

精华
0
UID
41
积分
498
帖子
67
主题
8
阅读权限
50
注册时间
2007-7-25
最后登录
2019-3-24
24#
发表于 2007-11-26 21:36:19 |只看该作者
系列疑问求助---9

1)、海龟代码里有诸如:开仓、增仓、止损、离市等,减仓的代码在哪里?本就没有?

2)、在没有仓位的前提下,如果我想每次用30%的资金开仓[取整],如何保存、并在适当的时候取出所开仓的数量 应用该数据,学习减仓的代码?
   

           海龟里有如下等保存、取出价格的范例:

            If(CurrentContracts() != prePosition)
            {
                IsEntryThisBar = True;
                SetGlobalVar(0,myEntryPrice);// 保存第一次开仓的价格
            }


SetGlobalVar(0,myEntryPrice);// 保存最后一次开仓的价格

preEntryPrice = GetGlobalVar(0); // 取出上一次开仓的价格

不过我还不能确定能否用其复制  保存、取出首次开仓数量的代码。

请老师指教,
谢谢。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
25#
发表于 2007-11-26 21:43:45 |只看该作者
1、另外一种止损的方式有减仓的操作,但我们这个系统并没有采取这种止损方式。

2、您可以用类似的全局变量处理方式来保存首次开仓数量,主要索引值要用另外的,不要和其它变量重复了

使用道具 举报

Rank: 4

精华
0
UID
41
积分
498
帖子
67
主题
8
阅读权限
50
注册时间
2007-7-25
最后登录
2019-3-24
26#
发表于 2007-11-26 21:46:54 |只看该作者
原帖由 nopain 于 2007-11-26 21:43 发表
1、另外一种止损的方式有减仓的操作,但我们这个系统并没有采取这种止损方式。

2、您可以用类似的全局变量处理方式来保存首次开仓数量,主要索引值要用另外的,不要和其它变量重复了 ...



谢谢,我试试看。

使用道具 举报

Rank: 4

精华
0
UID
41
积分
498
帖子
67
主题
8
阅读权限
50
注册时间
2007-7-25
最后登录
2019-3-24
27#
发表于 2007-12-3 22:49:26 |只看该作者
系列疑问求助---10

每次开仓变为变量是为了尽可能体现资金的利用效率[或许大致不变、或许变化出乎意料的好也许坏],那么最大开仓限制要设置为很大;同时,因为增减仓的次数也不确定,须为同一指令可以连续建仓;

在不愿意拆分为多个指令的前提下,
  If(MarketPosition == 0)  或者 If(prePosition == 0) 的时候才可以开仓的限制会否和指令设置产生冲突?
  如果产生冲突的话,是指令设置优先从而导致语句限制形同虚设?
能否完全抛弃指令设置?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
28#
发表于 2007-12-4 10:08:58 |只看该作者
交易指令设置是外部的范围,不管您在公式里面怎么写,都不能超过这个范围。
这个设置主要用来简单的进行仓位控制。对于公式编写不是很熟悉的人可以使用这写设置来控制。
对公式比较了解的用户可以自己在公式里面通过函数进行仓位,头寸等的控制。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-2 17:42

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部