设为首页收藏本站

 找回密码
 注册
楼主: 曾经沧海
打印 上一主题 下一主题

破解全球顶尖的AbleTrend趋势交易软件 [复制链接]

Rank: 4

精华
0
UID
71944
积分
376
帖子
76
主题
22
阅读权限
50
注册时间
2011-10-16
最后登录
2020-2-8
31#
发表于 2013-4-5 10:52:28 |只看该作者
和趋势确认涨势和跌势是根据:更高的高点和更高的低点,涨势;更低的高点和更低的低点,跌势。

使用道具 举报

Rank: 4

精华
0
UID
50057
积分
304
帖子
175
主题
17
阅读权限
50
注册时间
2011-6-27
最后登录
2015-1-4
32#
发表于 2013-4-5 17:50:26 |只看该作者
ypxyls 发表于 2013-4-3 07:38
Params
Numeric RISK(3);
Numeric MONYRISK(2.0);

high0 highn 那里好像也不对 1楼的那个函数 是会把他们替换成 high high[risk] value5和6的取值 还要和close[risk]比一下 。兄弟你都写了这么多了 不妨一起完善一下 给大家谋点福利

使用道具 举报

Rank: 4

精华
0
UID
71944
积分
376
帖子
76
主题
22
阅读权限
50
注册时间
2011-10-16
最后登录
2020-2-8
33#
发表于 2013-4-5 23:43:15 |只看该作者
水平不够,还写不好,急啊。

使用道具 举报

Rank: 4

精华
0
UID
71944
积分
376
帖子
76
主题
22
阅读权限
50
注册时间
2011-10-16
最后登录
2020-2-8
34#
发表于 2013-4-5 23:43:44 |只看该作者
刚才网上找的部分源码
int start()  {

   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   int limit=Bars-20-counted_bars;
   double spread=Ask-Bid;
   for(i=limit; i>=0; i--) {
    Range=0;
    AvgRange=0;
    for (Counter=i; Counter<=i+9; Counter++) {
      AvgRange=AvgRange+MathAbs(spread+High[Counter]-Low[Counter]);
    }
    Range=AvgRange/10.0;
      if (i==Bars-20)  {
            value2=1; value3=18; value10=10000; value10_1=0;
        value19=MONYRISK*Range*Point;
        value2=Risk;
        value3=18+3*value2;
        value9=0;
      }
    Counter=i;
    AvgRange=0;
    for (Counter=i; Counter<=i+9-1; Counter++) {
     AvgRange=AvgRange+Close[Counter];
  }
    value11=AvgRange/9.0;
    // -----
    //value12=UserFunction("AverageClose",value3,i);
    Counter=i;
    AvgRange=0;
    for (Counter=i; Counter<=i+value3-1; Counter++) {
     AvgRange=AvgRange+Close[Counter];
  }
    value12=AvgRange/value3;
    // -----
    value13=Range;
    // -----
    //value4=UserFunction("JESSD",High[i],Low[i],High[i+value2],Low[i+value2],Close[i+value2]);
    AvgRange=(spread+High[i]+Low[i])/2.0;
    if (Close[i+value2]<AvgRange) {
      value4=2*AvgRange-Low[i+value2];
    } else {
     value4=2*AvgRange-spread+High[i+value2];
  }
    // -----
    Counter=i;
    TrueCount=0;
    while (Counter<i+2 && TrueCount<1) {
     //value4=UserFunction("JESSD",High[Counter],Low[Counter],High[Counter+value2],Low[Counter+value2],Close[Counter+value2]);
      AvgRange=(spread+High[Counter]+Low[Counter])/2.0;
      if (Close[Counter+value2]<AvgRange) {
       value4=2*AvgRange-Low[Counter+value2];
     } else {
       value4=2*AvgRange-spread+High[Counter+value2];
     }
      value4=NormalizeDouble(value4,2);
      //value4_1=UserFunction("JESSD",High[Counter+1],Low[Counter+1],High[Counter+value2],Low[Counter+value2],Close[Counter+value2]);
      AvgRange_1=(spread+High[Counter+1]+Low[Counter+1])/2.0;
      if (Close[Counter+1+value2]<AvgRange_1) {
       value4_1=2*AvgRange_1-Low[Counter+1+value2];
     } else {
       value4_1=2*AvgRange_1-spread+High[Counter+1+value2];
     }
      value4_1=NormalizeDouble(value4_1,2);
      //value4_2=UserFunction("JESSD",High[Counter+2],Low[Counter+2],High[Counter+value2],Low
-----------

使用道具 举报

Rank: 1

精华
0
UID
117763
积分
11
帖子
1
主题
0
阅读权限
10
注册时间
2013-4-4
最后登录
2013-4-6
35#
发表于 2013-4-6 12:04:33 |只看该作者
这是指标源代码?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
109920
积分
166
帖子
135
主题
1
阅读权限
40
注册时间
2012-4-10
最后登录
2013-5-14
36#
发表于 2013-4-6 22:01:24 |只看该作者
赶脚是拟合系统   加移动止损

使用道具 举报

Rank: 4

精华
0
UID
50057
积分
304
帖子
175
主题
17
阅读权限
50
注册时间
2011-6-27
最后登录
2015-1-4
37#
发表于 2013-4-6 22:21:54 |只看该作者
本帖最后由 ggyyff 于 2013-4-6 22:23 编辑

把26楼的语法按TB修正了一下 编译能通过 程序还是有问题 大神们继续修改吧
  1. Params
  2. Numeric RISK(3);
  3. Numeric MONYRISK(2.0);
  4. Numeric value2(1);

  5. vars
  6. Numeric value3(18);
  7. NumericSeries value4;
  8. NumericSeries value5;
  9. NumericSeries value6;
  10. NumericSeries value7;
  11. NumericSeries value8;
  12. NumericSeries value9;
  13. NumericSeries value11;
  14. NumericSeries value12;
  15. NumericSeries value13;
  16. NumericSeries Value14;
  17. NumericSeries value19;


  18. NumericSeries const;
  19. NumericSeries Range;
  20. NumericSeries avg;
  21. NumericSeries val;
  22. NumericSeries BS105;
  23. NumericSeries MyLot(0);
  24. Numeric       offSetDots(0);
  25. NumericSeries high0;
  26. NumericSeries low0;
  27. NumericSeries lowN;
  28. NumericSeries closeN;
  29. NumericSeries highN;
  30. NumericSeries value10(10000);




  31. Begin
  32. If(Date != Date[1] )  
  33.    {
  34.    value19 = MONYRISK*AvgTrueRange(10)*BigPointValue;
  35.    Value2 = Risk;
  36.    value3 = 18 + 3*value2;
  37.    }
  38.   
  39. value11 = Average(C, 9);
  40. value12 = Average(C, value3);
  41. value13 = AvgTrueRange(10);
  42. value4=(high+low)/2;
  43.         value5=2*value4-low[risk];
  44.         value6=2*value4-high[risk];
  45.         IF (close[risk]<value4)
  46.             {
  47.                 value4=value5;
  48.                         }
  49.                 Else
  50.                 {
  51.                 value4=value6;
  52.                 }
  53.                
  54. If (nthcon (value4 > value4[1] and value4[1] < value4[2], 2) > -1 and L[1] > value4[1])
  55.     value5 = value4[1] - value13 ;
  56. If (NthCon (value4 < value4[1] and value4[1] > value4[2], 2) > -1 and H[1] < value4[1])
  57.     value6 = value4[1] + value13 ;
  58. If (value11[1] < value12[1] and value11 > value12)
  59.     value5 = TrueLow -value13;
  60. If (value11[1] > value12[1] and value11 < value12)
  61.     value5 = TrueHigh + value13;
  62. If (Abs( O - C[1] ) >= 1.618*value13)
  63.      {
  64. If (value11 > value12)
  65.     value5 = Low - value13;
  66. If (value11 < value12)
  67.      value14 = High + value13;
  68. }

  69. //value7 = BS105(L, 2.40, value13, value9 );
  70. if (c-2.4*Value13<value9)
  71.     {
  72.         value7=value9;
  73.      }   
  74.         Else
  75.       {  
  76.         value7=c-2.4*Value13;
  77.         }
  78.                
  79. if(c-2.4*Value13<value10)
  80. {
  81. value8=value10;
  82. }
  83. Else
  84. {
  85. value8=c-2.4*Value13;
  86. }
  87. value9=value7;
  88. value10 = value8;

  89. If ((L - value9) > value19/BigPointValue)
  90.     value9 = L - (1.50 + 0.1*Risk)*value13;
  91. If (value10 - H > value19/BigPointValue)
  92.     value10 = H + (1.50 + 0.1*Risk)*value13;
  93. If (value11 >= value12 and value5 >= value9)
  94.     value9 = value5;
  95. If (value11 <= value12 and value6 <= value10)
  96.     value10 = value6;
  97. If (value11 <= value12 and value5 <= value9)
  98.     value9 = value5;
  99. If (value11 >= value12 and value6 >= value10)
  100.     value10 = value6;
  101. If (NthCon(value11 >= value12, 2) > -1 and value9 <= value9[1])  
  102.     value9 = value9[1] ;
  103. If (NthCon(value11 <= value12, 2) > -1 and value10 >= value10[1])
  104.     value10 = value10[1] ;

  105.         

  106.         
  107. If (value9 > 0 and value11 >= value12 and value9 <= H)  
  108.     {
  109.              PlotNumeric( "BuyStop2",value9);
  110.       //   Buy(MyLot,Open+offSetDots);
  111.         }
  112. If (value10 > 0 and value10 < 1000000000 and value11 <= value12 and value10 >= L)
  113.     {
  114.              PlotNumeric( "SellStop2",value10);
  115.             //    SellShort(MyLot,Open-offSetDots);
  116.         }
  117. End
复制代码
把26楼的语法按TB修正了一下 编译能通过 程序还是有问题 大神们继续修改吧
期货初学者

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
1896
积分
1979
帖子
117
主题
33
阅读权限
70
注册时间
2008-7-16
最后登录
2013-11-16
38#
发表于 2013-4-7 23:30:17 |只看该作者
感谢楼上诸位的探讨及努力
对37楼的代码简单浏览了一下 有疑问
1 nthcon 是不能放在if内的 不然结果是乱的。
2 几处nthcon的判断似乎是没什么意义的 其值都是大于0的。
原代码还没研究 但关于nthcon的用处感觉有问题

使用道具 举报

Rank: 1

精华
0
UID
87295
积分
31
帖子
1
主题
0
阅读权限
10
注册时间
2011-12-18
最后登录
2013-4-8
39#
发表于 2013-4-8 15:36:45 |只看该作者
我建个群,大家进来讨论研究tabletrend吧,qq群150398354

使用道具 举报

Rank: 4

精华
0
UID
71944
积分
376
帖子
76
主题
22
阅读权限
50
注册时间
2011-10-16
最后登录
2020-2-8
40#
发表于 2013-4-11 23:28:30 |只看该作者
顶上去。

使用道具 举报

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

bottom

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

GMT+8, 2024-4-25 02:47

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部