设为首页收藏本站

 找回密码
 注册
查看: 1727|回复: 1
打印 上一主题 下一主题

全脑交易系统源码,如何改为TB的?客服辛苦了! [复制链接]

Rank: 4

精华
0
UID
71944
积分
376
帖子
76
主题
22
阅读权限
50
注册时间
2011-10-16
最后登录
2020-2-8
跳转到指定楼层
1#
发表于 2013-8-2 13:30:37 |只看该作者 |倒序浏览


//+------------------------------------------------------------------+
//|                                                  BrainTrend2.mq4 |
//|                                                www.forex-tsd.com |
//|                                                Nick Bilak        |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc."
#property link      "www.forex-tsd.com"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int       NumBars=500;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double spread;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexArrow(1,234);
   spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int    counted_bars=IndicatorCounted();
//----
   
int       artp=7;
double    dartp=7.0;
double    cecf=0.7;
int       satb=0;
int       Shift=0;
bool      river=True;
double    Emaxtra=0;
double    widcha=0;
double    TR=0;
double    Values[100];
int       glava=0;
double    ATR=0;
int       J=0;
double    Weight=0;
double    r=0;
double    r1=0;
int       p=0;
int       Curr=0;
double    Range1=0;
double    s=2;
double    f=10;
double    val1=0;
double    val2=0;
double    h11=0;
double    h12=0;
double    h13=0;
double    const=0;
double    orig=0;
double    st=0;
double    h2=0;
double    h1=0;
double    h10=0;
double    sxs=0;
double    sms=0;
double    temp=0;
double    h5=0;
double    r1s=0;
double    r2s=0;
double    r3s=0;
double    r4s=0;
double    pt=0;
double    pts=0;
double    r2=0;
double    r3=0;
double    r4=0;
double    tt=0;

   if( Bars < NumBars) satb = Bars; else satb = NumBars;
   if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;
   Emaxtra = Close[satb - 2];
   Shift=satb-3;
   while(Shift>=0)      {
      TR = spread+ High[Shift] - Low[Shift];
      if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);
      if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR)  TR = MathAbs(Low[Shift] - Close[Shift + 1]);
      if (Shift == satb - 3 ) {
         for(J=0;Shift<=artp-1;J++) {
          Values[J] = TR;
         }
      }   
   Values[glava] = TR;
      ATR = 0;
      Weight = artp;
      Curr = glava;
      for (J = 0;J<=artp - 1;J++) {
         ATR += Values[Curr] * Weight;
         Weight -= 1.0;
         Curr--;
         if (Curr == -1) Curr = artp - 1;
      }
      ATR = 2.0 * ATR / (dartp * (dartp + 1.0));
      glava++;
      if (glava == artp) glava = 0;
      widcha = cecf * ATR;
      if (river && Low[Shift] < Emaxtra - widcha) {
         river = False;
         Emaxtra = spread+ High[Shift];
      }
      if (!river && spread+ High[Shift] > Emaxtra + widcha) {
         river = True;
         Emaxtra = Low[Shift];
      }
      if (river && Low[Shift] > Emaxtra) {
         Emaxtra = Low[Shift];
      }
      if (!river && spread+ High[Shift] < Emaxtra ) {
         Emaxtra = spread+ High[Shift];
      }
      Range1 = iATR(NULL,0,10,Shift);
      val1 = 0;
      val2 = 0;
      if (river) {
         if (p != 1) r1 = Low[Shift] - Range1 * s / 3.0;
         if (p == 1) r1 = -1.0;
         if (r1 > 0) {
            val1 = r1;
            val2 = 0;
         } else {
            val1 = 0;
            val2 = 0;
         }
         ExtMapBuffer1[Shift]=val1;
         p = 1;
      } else {
         if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;
         if (p == 2) r1 = -1.0;
         if (r1 > 0) {
            val1 = 0;
            val2 = r1;
         } else {
            val1 = 0;
            val2 = 0;
         }
         ExtMapBuffer2[Shift]=val2;
         p = 2;
      }
      Shift--;
   }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

附件: 你需要登录才可以下载或查看附件。没有帐号?注册
UFO程序化交易研究QQ群:22020802
自动化交易,摒弃人性弱点。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2013-8-2 13:41:07 |只看该作者
抱歉啊,帮不了你。
需要自己学习并熟悉TB的公式编写后再来改写你想要的代码 。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 19:27

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部