设为首页收藏本站

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

我从零开始学习TradeBlazer的过程 [复制链接]

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
11#
发表于 2009-5-21 00:29:59 |显示全部楼层

呵呵,终于编出我的第一个指标

学习和反复一字一句读了 MA 均线指标和多空指标。今天终于套着格式编写出了我的第一个指标。真高兴啊!
/ 简称: ZB02
// 名称: RR自编第一个指标
// 类别: 技术指标
// 类型: 振荡类
// 输出: 一条指标线
//------------------------------------------------------------------------

Params    //params(发音: [ 'p?r?s ]帕拉姆s) 意为:保存公式参数信息

        numeric length(7);  //声明参数(numeric length (发音[nju:'merik l e?θ 尼马瑞k懒胡]) 意为一段数字用于设制参数的编写

Vars       //   发音[va:]  定义变量
    numericseries reflc; //numericSeries (发音[nju:'merik 'si?ri:z] 尼马瑞k舍瑞z),连续系列的数值。序列变量函数
    NumericSeries RR;
Begin
        REFLC=HIGH[1]; // 前一根Bar的最高价  Bar (发音: [ bɑ:  吧])
                RR=SMA(MAX(H-REFLC,0),length,1)/SMA(ABS(H-REFLC),length,1)*100;//效率因子
       
                PlotNumeric("RR",RR);//PlotNumeric  [扑落t尼马瑞k]      (发音[pl?t  nju:'merik]) 在当根K线输出一个数值
        PlotNumeric("80",80);
        PlotNumeric("20",20);
End


//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2009/05/20 23:40
// 版权所有        zihonggu


学习编写笔记:  用户函数: SMA (求移动平均)    MAX(取j最大值)
                      系统函数:  ABS(求绝对值)
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
效果图如下:

[ 本帖最后由 zihonggu 于 2009-5-23 23:06 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
12#
发表于 2009-5-21 00:35:08 |显示全部楼层
问题: 不知怎么地,在我想看看 我自编指标 RR 在各个周期的效果图时 却发现怎么只有日线。 切换各分钟线时都没有数据,55555555。 我用的是超强模拟版,各位大侠遇到过这样的情况吗?
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
13#
发表于 2009-5-21 10:39:42 |显示全部楼层
谢谢各位朋友。
回22#  嗯 昨晚不知怎么后来又有五分图了,可能是软件原因吧
回25#  :”其实没有必要把这些英语单词标注上汉语的 如果标了汉语 反而读不准了“,我也知道这个道理呀。没办法我这个年龄的人 脑子记不住。所以就找了一个下三烂的方法 给自已提个醒, 好在我不用与人口头交流外语,就只好采用了这个不是办法的办法。 还有一个问题: 国际英标 在我的电脑中 复制了挎贝出来中间有些是  ?? 号。。。。。。有朋友知道原因吗?
问题二: 上面RR 指标   为什么 H 我没有定义  指标也测通过了呢。  可能这 H  字母是系统函数的原因吧?
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
14#
发表于 2009-5-21 12:22:54 |显示全部楼层
哦 谢谢指点! 我改过来。
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
15#
发表于 2009-5-21 12:46:31 |显示全部楼层
点开公式,查了下帮助附录。  H 大写字母是系统函数,可以不用定义了。 不过还是真诚地感谢高架桥兄弟的仔细认真看贴回贴。

看贴是支持,回贴是美德。谢谢各位朋友捧场,大家的捧场对我的鼓励将使我有信心和决心去战胜困难。

[ 本帖最后由 zihonggu 于 2009-5-21 12:51 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
16#
发表于 2009-5-21 21:18:07 |显示全部楼层
依样画葫芦写指标(我才入门不好意思)
Params   


Vars      
    NumericSeries QS;
    NumericSeries PJ;
Begin
        QS=SMA(((CLOSE-MIN(LOW,28))/(MAX(HIGH,28)-MIN(LOW,28))*100),3,1);//MIN求最小值
               
                PlotNumeric("QS",QS);
        PlotNumeric("PJ",AverageFC(QS,5));
        PlotNumeric("80",80,IIF(QS>=0,BLUE,GREEN));
        PlotNumeric("20",20,IIF(QS>=0,BLUE,GREEN));
        PlotNumeric("90",90,IIF(QS>=0,BLUE,GREEN));
        PlotNumeric("10",10,IIF(QS>=0,BLUE,GREEN));
End

请高手帮我看看 为什么两条指标线 QS 和 PJ  不能正常显示? 先谢过了
呵呵 在灰太狼朋友的帮助下搞出来了。 问题在这儿呢:
我估计应该是这个
QS=SMA(((CLOSE-MIN(LOW,low[28]))/(MAX(HIGH,high[28])-MIN(LOW,low[28]))*100),3,1);//MIN求最小值

[ 本帖最后由 zihonggu 于 2009-5-21 22:17 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
17#
发表于 2009-5-21 23:25:01 |显示全部楼层

原来还要正确地书写函数的大小写

Params    ///(发音: [ 'p?r?s ]帕软姆s) 意为:保存公式参数信息
     Numeric Length(30);  //声明参数(numeric length (发音[nju:'merik l e?θ 尼马瑞k懒胡])  
                                   // 常量在编译时便确定它的值,length 是一个常量,lengthr 的值30一旦确定后在数据运行过程中就不在变动了。


Vars        /*  发音[va:]  定义变量,变量表示存储位置*/
    NumericSeries QS;//QS  是变量
    NumericSeries PJ;//PJ  是变量
Begin
         QS=SMA(((Close-MIN(Low,Low[30]))/(MAX(High,High[30])-MIN(Low,Low[30]))*100),3,1);// 求出QS的值,并将值赋给QS
         //MIN(发音: [ main]卖嗯)求最小值 ,MAX(音[玛克丝)求最大值
               
        PlotNumeric("QS",QS);//画趋势线
        PlotNumeric("PJ",AverageFC(QS,5));//画五周期的平均线
        PlotNumeric("80",80,IIF(QS>=0,Blue,Green));
        PlotNumeric("20",20,IIF(QS>=0,Blue,Green));
        PlotNumeric("90",90,IIF(QS>=0,Blue,Green));
        PlotNumeric("10",10,IIF(QS>=0,Blue,Green));
End

学习笔记:1.要正确书写函数的大小写
               2.注释有三种方法

[ 本帖最后由 zihonggu 于 2009-5-24 10:21 编辑 ]
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
18#
发表于 2009-5-23 11:18:36 |显示全部楼层
今天学习IF 这个语句。 我不懂外语(50后人:生于困难时期,长于文革年代,成年上山下乡,老年改革下岗,髦年退而不休,如今学习惶惶),更没学过C 语言,所以我就只好以我自已另类方式,来阅读学习和理解这C语言和基于C语言语法的 TradeBlazer  (发音[treid 'bleiz?]  锤d泪热a)语言了。呵呵.......汗啊!

关于IF语句
If语句是一个条件语句,当特定的条件满足后执行一部分操作。(我理解为 如果满足条件就这样(为真),否则如果不满足就另样(为假)IF 也可写成IIF,作用就是在公式语中作真假判断,也就是布尔类型)

语法如下:
If (Condition) //condition (发音[k?n?di??n] 恳'得信) 意为条件,条件指约,条件转移。

{
  TradeBlazer公式语句;
}
TradeBlazer公式语句是一些语句的组合,如果TradeBlazer公式语句是单条,您可以省略{},二条或者二条以上的语句必须使用{}。
学习教材:http://www.tradeblazer.net/forum/thread-242-1-1.html

看别人的编写句理解:
if(aa9>100)
      {
      //如果满足条件 aa9>100
                aa10=aa9-100; //就返回到:aa10=aa9-100;
        }
Else //否则 (else  发音[els] adv.其他, 另外)      
     {  
                aa10=0;// 就返回到:aa10=0;
          }
   If(aa12-aa13>0)
        {
        //如果满足条件 aa12-aa13>0 ,从aa12到aa13画红色柱
       PlotNumeric("high",aa12);
       PlotNumeric("Low",aa13);
       PlotNumeric("Close",aa12);
       PlotNumeric("Open",aa13);
          }
      Else
      {
       //否则 不满足条件 aa12-aa13  ,从aa12到aa13画绿色柱
        PlotNumeric("high",aa13);
        PlotNumeric("Low",aa12);
        PlotNumeric("Open",aa13);
        PlotNumeric("Close",aa12);
        }

[ 本帖最后由 zihonggu 于 2009-5-23 23:22 编辑 ]
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
19#
发表于 2009-5-23 19:52:50 |显示全部楼层
通过这几天的学习,稍微能看懂最简单的TB指标了。找到论坛上的一个TB指标,试着应其要求改为文华格式,呵呵,居然文华的指标图与TB中显示的一样,心里感到好高兴啊。 此举使我对自己学习 TradeBlazer 增强了信心,以后我一定要更加努力地去学习,争取早一天从文华实盘转向 TB 实盘。(因为我知道电脑自动化系统交易是今后大方向,这个方面目前TB功能最强)
http://www.tradeblazer.net/forum/thread-4733-1-1.html
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
371
积分
854
帖子
66
主题
11
阅读权限
60
注册时间
2007-9-18
最后登录
2019-3-31
20#
发表于 2009-5-23 23:39:52 |显示全部楼层
我虽然没学过C语言,但是必须了解点C语言的书写格式(C语言的语法),才能正确书写TB语法和正确编写TB格式.。
方法:在读学TB代码中学点C语言

      C#代码由一系列语句组成,每个语句都用一个分号来结束。因为空格被忽略,所以一行可以有多个语句,但从可读性的角度来看,通常在分号的后面加上回车符,这样就不能在一行上放置多个语句了。但一句代码放在多个行上是可以的(也比较常见)。

  C#是一个块结构的语言,所有的语句都是代码块的一部分。这些块用花括号来界定("{" 和 "}"),代码块可以包含任意多行语句,或者根本不包含语句。注意花括号字符不需要附带分号。....... 原来 IF 这个函数写布尔数据,进行真假赋值必须用花括号括起来哟。

      C#注释  注释有三种方法    ///                //                 /*  */
      
     C#代码是区分大小写的。与其他语言不同,必须使用正确的大小写形式输入代码,因为简单地用大写字母代替小写字母会中断项目的编译。

[ 本帖最后由 zihonggu 于 2009-5-23 23:48 编辑 ]
下定决心,不怕牺牲,排除万难,去争取胜利。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-16 03:11

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部