开拓者期货期权程序化系统交易论坛

标题: 请论坛的老师编写一个TB的《一目均衡表》公式,谢谢! [打印本页]

作者: 趋势跟踪    时间: 2011-7-2 16:33:27     标题: 请论坛的老师编写一个TB的《一目均衡表》公式,谢谢!

本帖最后由 趋势跟踪 于 2011-7-2 16:35 编辑

请论坛的老师帮忙编写一个TB的《一目均衡表》公式,不胜感激!
作者: 趋势跟踪    时间: 2011-7-2 17:49:13

本帖最后由 趋势跟踪 于 2011-7-2 17:58 编辑

一目均衡表计算公式:
1. 转换线(Tenkan-sen)(红线)
转换值=(包含今天的9日的最高价+9日的最低价)/2
2. 基准线(Kijun-sen) (蓝线)
基准值=(包含今天的26日的最高价+26日最低价)/2
3. 先行上限1 (Span A)
先行上限1=(转化值+基准值)/2,前移26天
4. 先行上限2 (Span B)
先行上限2=(52天的最高值+52天的最低值)/2,前移26天
5.云层:由Span A和Span B之间的空间组成
6. 延迟线(Chinkou Span ) ( 绿线)
延迟线=当天的收盘价作为26天前的延迟线(即后移26天)

至于参数:9,26,52的参数是可以改变的
作者: 马龙    时间: 2011-7-4 16:34:28

没有理解:前移,这不就是引用未来数据吗?
作者: 趋势跟踪    时间: 2011-7-4 20:06:43

本帖最后由 趋势跟踪 于 2011-7-4 20:11 编辑

前移就是把整条均线整体向右移动26个周期。后移亦如此。均线平移在MT4里面很好实现,可是在TB里面就不会了。

还请高手出面帮忙,十分感谢!
作者: 道勤    时间: 2011-7-4 20:32:23

本帖最后由 道勤 于 2011-7-5 13:23 编辑

Params
        Numeric FastLength(7);
        Numeric SlowLength(22);
        Numeric VerySlowLength(44);
        Numeric Lots(1);
Vars
        NumericSeries AvgValue1;
        NumericSeries AvgValue2;
        NumericSeries AvgValue3;
        NumericSeries AvgValue4;
       
        BoolSeries ConditionBK;
        BoolSeries ConditionSK;
        Numeric MinPoint;
        Numeric MyStopPrice;
Begin

        MinPoint = MinMove * PriceScale;
        AvgValue1 = (Highest(High[1],FastLength) + Lowest(Low[1],FastLength))/2;
        AvgValue2 = (Highest(High[1],SlowLength) + Lowest(Low[1],SlowLength))/2;
        AvgValue3 = (AvgValue1[SlowLength] + AvgValue2[SlowLength])/2;
        AvgValue4 = (Highest(High[SlowLength],VerySlowLength) + Lowest(Low[SlowLength],VerySlowLength))/2;
        ConditionBK = AvgValue1>AvgValue2 && Low>AvgValue2 && Close>AvgValue3 && Close> AvgValue4;
        ConditionSK = AvgValue1<AvgValue2 && High<AvgValue2 && Close<AvgValue3 && Close< AvgValue4;               
               
        PlotNumeric("MA1",AvgValue1);
        PlotNumeric("MA2",AvgValue2);
        PlotNumeric("MA3",AvgValue3);
        PlotNumeric("MA4",AvgValue4);
        PlotNumeric("ma3 to ma4",AvgValue3,avgvalue4);  //填充云层
          PlotNumeric("ma5",Close[-26]);  //延迟线,虽然不知道有什么用处,但是这样表示就可了。
               
       
End

可以填充,加入最后的代码就可以了
[attach]4775[/attach]
作者: 趋势跟踪    时间: 2011-7-4 20:50:24

本帖最后由 趋势跟踪 于 2011-7-4 20:55 编辑

谢谢道勤老师帮忙。我加载了,指标没有显示出云层以及均线的前移和后移。还烦请老师帮忙修改,O(∩_∩)O谢谢!
作者: 趋势跟踪    时间: 2011-7-4 20:51:27

加载后的指标如图:
作者: 道勤    时间: 2011-7-4 21:17:10

本帖最后由 道勤 于 2011-7-4 21:18 编辑

上图中紫色线和绿色线之间的部分就是云层,黄色线是转换线,蓝色线是基准线。你再仔细核对一下,写的匆忙可能有错误。
作者: 趋势跟踪    时间: 2011-7-4 21:21:32

上图中紫色线和绿色线之间的部分就是云层,黄色线是转换线,蓝色线是基准线。你再仔细核对一下,写的匆忙可 ...
道勤 发表于 2011-7-4 21:17



    道勤老师,云层之间能填充颜色么?
作者: 道勤    时间: 2011-7-5 08:21:39

本帖最后由 道勤 于 2011-7-5 08:23 编辑

可以填充,添加最后的代码就可以了。[attach]4769[/attach]
作者: 趋势跟踪    时间: 2011-7-5 11:08:56

感谢道勤老师无私帮助!
老师,这个指标里应该有5条线,您编的指标里好像少一条“ 延迟线(Chinkou Span ) ”即:
延迟线=当天的收盘价作为26天前的延迟线(即后移26天)
还要麻烦老师加上。
再次感谢!
作者: 道勤    时间: 2011-7-5 13:26:03

这个加入很简单  PlotNumeric("ma5",Close[-26]);   这样应该符合你的要求,虽然不清楚这条线到底有什么用
作者: 趋势跟踪    时间: 2011-7-5 16:53:45

这个加入很简单  PlotNumeric("ma5",Close[-26]);   这样应该符合你的要求,虽然不清楚这条线到底有什么用  ...
道勤 发表于 2011-7-5 13:26

道勤老师太厉害了!在下十分钦佩。指标加载后基本都显示出来了,只是向前平移的那一部分图形没有显示出来。
老师,如果说向后平移均线标示为:PlotNumeric("ma5",Close[-26]);  那么向前平移您是怎么实现的,没有看懂。
作者: 道勤    时间: 2011-7-5 20:48:27

向前平移 把 -26  改成正 26 就可以了
作者: 趋势跟踪    时间: 2011-7-6 16:14:52

本帖最后由 趋势跟踪 于 2011-7-6 16:20 编辑

在此非常感谢道勤老师帮忙编写出了一目均衡图指标

《一目均衡表》由一目山人(本名:细田吾一)将艾略特波动理论和江恩理论结合起来,经过20年的研究,在1969年开始相继发表7部作品
完成(1982)的
优缺点
优点: 单边市效果非常好
缺点:平衡市比较难判断方向,需要各人仔细研究和体会
一目均衡表与波动理论
共同点:两者都是古典的分析方法,学问深奥,不乏有許多信仰者。一目均衡表和艾略特波动理论都研究时间和价格的关系,其规律来源于自
然界,少不了「悟性」。
不同点:一目均衡表基于市场过去的价格制作图表,将过去、现在、将来结合在一起通过想象来推测价格的波动;适合中长期分析。
艾略特波动理论从价格图表推测形成的波,并从波形中主观推定波的位置,随着时间的推移来检验其正确性,且要不断地修正所推定的位置;
适合中短期分析

一目均衡表(5条线)的简单用法:
1 基准线(最重要)
基准线的方向表示价格的方向,基准线的上升是价格的上升的必要条件;
价格在基准线的上方为强势,此时基准线作为支撑;
价格在基准线的下方为弱势,此时基准线作为阻力
2 转换线
转换线的方向表示价格的短线方向,同基准线的用法一样,作为短期的支撑或阻力;
转换线从下向上穿越基准线,价格转好;
转换线从上向下穿越基准线,价格转弱
3 云层
价格在云层的上方为强势,云层作为支撑;
价格在云层的下方为弱势,云层作为阻力;
云层最弱的地方容易变盘
4. 延迟线
延迟线的方向表示价格的方向;
延迟线在价格的上方为强势;延迟线在价格的下方为弱势
作者: 读书山林    时间: 2011-7-14 16:24:52

好贴 首先感谢道勤老师,我把 趋势跟踪朋友的思路和道勤的代码对照了一下 发现参数设置有点粗糙 ,按照原帖思路修改了一下 并且加上了注释有助于 新手学习写tb代码
  1. //------------------------------------------------------------------------
  2. // 简称: ymjh
  3. // 名称: 云层图表
  4. // 类别: 公式应用
  5. // 类型: 用户应用
  6. // 输出:
  7. //------------------------------------------------------------------------
  8. Params


  9.                 Numeric BarsBack(26);       //偏移值
  10.                 Numeric Tenkanth(9);       //转换线参数
  11.         Numeric Kijunth(26);       //基准线参数
  12.         Numeric SpanBth(52);  //先行上限2 (SpanB)参数
  13. Vars
  14.         NumericSeries TenkanValue1;
  15.         NumericSeries KijunValue2;
  16.         NumericSeries SpanAValue3;
  17.         NumericSeries SpanBValue4;
  18.         
  19.         BoolSeries ConditionBK;
  20.         BoolSeries ConditionSK;
  21.         Numeric MinPoint;
  22.         Numeric MyStopPrice;
  23. Begin

  24.         MinPoint = MinMove * PriceScale;
  25.                
  26.                 // 1. 转换线(Tenkan-sen)(红线) 转换值=(包含今天的9日的最高价+9日的最低价)/2               
  27.         TenkanValue1 = (Highest(High,Tenkanth) + Lowest(Low,Tenkanth))/2;
  28.                
  29.                 //2. 基准线(Kijun-sen) (蓝线) 基准值=(包含今天的26日的最高价+26日最低价)/2               
  30.         KijunValue2 = (Highest(High,Kijunth) + Lowest(Low,Kijunth))/2;
  31.                
  32.                 //3. 先行上限1 (Span A) 先行上限1=(转化值+基准值)/2,前移26天
  33.         SpanAValue3 = (TenkanValue1[BarsBack] + KijunValue2[BarsBack])/2;
  34.                
  35.                 //4. 先行上限2 (Span B)  先行上限2=(52天的最高值+52天的最低值)/2,前移26天
  36.         SpanBValue4 = (Highest(High[BarsBack],SpanBth) + Lowest(Low[BarsBack],SpanBth))/2;
  37.                
  38.                 //5.云层:由Span A和Span B之间的空间组成
  39.                
  40.         ConditionBK = TenkanValue1>KijunValue2 && Low>KijunValue2 && Close>SpanAValue3 && Close> SpanBValue4;// ConditionBK[1]==True 买入信号
  41.         ConditionSK = TenkanValue1<KijunValue2 && High<KijunValue2 && Close<SpanAValue3 && Close< SpanBValue4; //      ConditionSK ==  True     卖出信号  
  42.                
  43.         PlotNumeric("转换线",TenkanValue1);
  44.         PlotNumeric("基准线",KijunValue2);
  45.         PlotNumeric("SpanA",SpanAValue3);
  46.         PlotNumeric("Spanb",SpanBValue4);
  47.         PlotNumeric("ma3 to ma4",SpanAValue3,SpanBValue4);  //填充云层
  48.                
  49.                 //6. 延迟线(Chinkou Span ) ( 绿线) 延迟线=当天的收盘价作为26天前的延迟线(即后移26天)
  50.                 PlotNumeric("ma5",Close[-26]);  //延迟线,虽然不知道有什么用处,但是这样表示就可了。

  51.       
  52. End
复制代码

作者: myangsoft    时间: 2011-7-14 19:09:11

谢谢 各位的分享,但是怎么填充效果还是出不来
作者: goolybody    时间: 2011-7-14 19:20:23

回复 17# myangsoft


    区域选柱状型
作者: omnpmh    时间: 2011-9-5 12:10:52

good thanks.
作者: lzl563    时间: 2011-9-6 10:15:43

围观学习
作者: cqalan    时间: 2011-12-19 17:34:45

一目均衡太复杂了,其实大道至减,复杂了反而不好用
作者: ggyyff    时间: 2012-3-29 09:18:21

围观 学习
作者: 天崖    时间: 2012-3-31 17:03:28

导入编辑后,无法显示云层,不知道是什么原因,请高手指点一下。谢谢
作者: 双手插口袋    时间: 2012-4-4 09:56:06

  1. ConditionBK = AvgValue1>AvgValue2 && Low>AvgValue2 && Close>AvgValue3 && Close> AvgValue4;
  2.         ConditionSK = AvgValue1<AvgValue2 && High<AvgValue2 && Close<AvgValue3 && Close< AvgValue4;
复制代码
原来里面还有买卖条件
作者: yml6363    时间: 2012-7-21 12:04:29

围观 学习
作者: 狼魔幻影    时间: 2012-7-22 02:42:45

非常好的学习资料~~~~
作者: lj9110    时间: 2013-4-30 18:31:30

代码最终的云部分还是没有向右移动26天,楼主怎么弄呀?
作者: q573217660    时间: 2016-3-16 19:12:22

AvgValue4 = (Highest(High[SlowLength],VerySlowLength) + Lowest(Low[SlowLength],VerySlowLength))/2;
应该是计算完了之后再移动22个时间吧,不是先计算再移动。
还有个问题是用[-26]来表示向后移吗?




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2