DDFX 6 Medium Trend v3

Author: Copyright � 2006, TrendLaboratory Ltd.
DDFX 6 Medium Trend v3
Indicators Used
Bollinger bands indicator
Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
DDFX 6 Medium Trend v3
/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Copyright © 2006, TrendLaboratory Ltd."
#property link      "http://finance.groups.yahoo.com/group/TrendLaboratory"

#property indicator_separate_window
#property indicator_minimum 0.0
#property indicator_maximum 1.0
#property indicator_buffers 6
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Black
#property indicator_color4 Red
#property indicator_color5 Blue
#property indicator_color6 Red

extern int TimeFrame = 0;
extern int Length = 12;
extern int Deviation = 2;
extern double MoneyRisk = 1.0;
extern int Signal = 1;
extern int Line = 1;
extern int Nbars = 9900;
double g_ibuf_108[];
double g_ibuf_112[];
double g_ibuf_116[];
double g_ibuf_120[];
double g_ibuf_124[];
double g_ibuf_128[];
extern bool SoundON = FALSE;
bool gi_136 = FALSE;
bool gi_140 = FALSE;
string gs_unused_144;

int init() {
   SetIndexBuffer(0, g_ibuf_108);
   SetIndexBuffer(1, g_ibuf_112);
   SetIndexBuffer(2, g_ibuf_116);
   SetIndexBuffer(3, g_ibuf_120);
   SetIndexBuffer(4, g_ibuf_124);
   SetIndexBuffer(5, g_ibuf_128);
   SetIndexStyle(0, DRAW_NONE, STYLE_SOLID, 0);
   SetIndexStyle(1, DRAW_NONE, STYLE_SOLID, 0);
   SetIndexStyle(2, DRAW_NONE, STYLE_SOLID, 2);
   SetIndexStyle(3, DRAW_NONE, STYLE_SOLID, 2);
   SetIndexStyle(4, DRAW_HISTOGRAM);
   SetIndexStyle(5, DRAW_HISTOGRAM);
   SetIndexArrow(0, 164);
   SetIndexArrow(1, 164);
   SetIndexArrow(2, 174);
   SetIndexArrow(3, 174);
   IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));
   SetIndexLabel(0, "UpTrend Stop");
   SetIndexLabel(1, "DownTrend Stop");
   SetIndexLabel(2, "UpTrend Signal");
   SetIndexLabel(3, "DownTrend Signal");
   SetIndexLabel(4, "UpTrend Line");
   SetIndexLabel(5, "DownTrend Line");
   SetIndexDrawBegin(0, Length);
   SetIndexDrawBegin(1, Length);
   SetIndexDrawBegin(2, Length);
   SetIndexDrawBegin(3, Length);
   SetIndexDrawBegin(4, Length);
   SetIndexDrawBegin(5, Length);
   switch (TimeFrame) {
   case 1:
      gs_unused_144 = "Period M1";
      break;
   case 5:
      gs_unused_144 = "Period M5";
      break;
   case 15:
      gs_unused_144 = "Period M15";
      break;
   case 30:
      gs_unused_144 = "Period M30";
      break;
   case 60:
      gs_unused_144 = "Period H1";
      break;
   case 240:
      gs_unused_144 = "Period H4";
      break;
   case 1440:
      gs_unused_144 = "Period D1";
      break;
   case 10080:
      gs_unused_144 = "Period W1";
      break;
   case 43200:
      gs_unused_144 = "Period MN1";
      break;
   default:
      gs_unused_144 = " Current Timeframe ";
      TimeFrame = 0;
   }
   string ls_0 = "MEDIUM TREND";
   IndicatorShortName(ls_0);
   return (0);
}

int start() {
   int li_8;
   double lda_12[25000];
   double lda_16[25000];
   double lda_20[25000];
   double lda_24[25000];
   for (int l_shift_4 = Nbars; l_shift_4 >= 0; l_shift_4--) {
      g_ibuf_108[l_shift_4] = 0;
      g_ibuf_112[l_shift_4] = 0;
      g_ibuf_116[l_shift_4] = 0;
      g_ibuf_120[l_shift_4] = 0;
      g_ibuf_124[l_shift_4] = EMPTY_VALUE;
      g_ibuf_128[l_shift_4] = EMPTY_VALUE;
   }
   for (l_shift_4 = Nbars - Length - 1; l_shift_4 >= 0; l_shift_4--) {
      lda_12[l_shift_4] = iBands(NULL, TimeFrame, Length, Deviation, 0, PRICE_CLOSE, MODE_UPPER, l_shift_4);
      lda_16[l_shift_4] = iBands(NULL, TimeFrame, Length, Deviation, 0, PRICE_CLOSE, MODE_LOWER, l_shift_4);
      if (Close[l_shift_4] > lda_12[l_shift_4 + 1]) li_8 = 1;
      if (Close[l_shift_4] < lda_16[l_shift_4 + 1]) li_8 = -1;
      if (li_8 > 0 && lda_16[l_shift_4] < lda_16[l_shift_4 + 1]) lda_16[l_shift_4] = lda_16[l_shift_4 + 1];
      if (li_8 < 0 && lda_12[l_shift_4] > lda_12[l_shift_4 + 1]) lda_12[l_shift_4] = lda_12[l_shift_4 + 1];
      lda_20[l_shift_4] = lda_12[l_shift_4] + (MoneyRisk - 1.0) / 2.0 * (lda_12[l_shift_4] - lda_16[l_shift_4]);
      lda_24[l_shift_4] = lda_16[l_shift_4] - (MoneyRisk - 1.0) / 2.0 * (lda_12[l_shift_4] - lda_16[l_shift_4]);
      if (li_8 > 0 && lda_24[l_shift_4] < lda_24[l_shift_4 + 1]) lda_24[l_shift_4] = lda_24[l_shift_4 + 1];
      if (li_8 < 0 && lda_20[l_shift_4] > lda_20[l_shift_4 + 1]) lda_20[l_shift_4] = lda_20[l_shift_4 + 1];
      if (li_8 > 0) {
         if (Signal > 0 && g_ibuf_108[l_shift_4 + 1] == -1.0) {
            g_ibuf_116[l_shift_4] = lda_24[l_shift_4];
            g_ibuf_108[l_shift_4] = lda_24[l_shift_4];
            if (Line > 0) g_ibuf_124[l_shift_4] = lda_24[l_shift_4];
            if (SoundON == TRUE && l_shift_4 == 0 && !gi_136) {
               Alert("BBands go Up", Symbol(), "-", Period());
               gi_136 = TRUE;
               gi_140 = FALSE;
            }
         } else {
            g_ibuf_108[l_shift_4] = lda_24[l_shift_4];
            if (Line > 0) g_ibuf_124[l_shift_4] = lda_24[l_shift_4];
            g_ibuf_116[l_shift_4] = -1;
         }
         if (Signal == 2) g_ibuf_108[l_shift_4] = 0;
         g_ibuf_120[l_shift_4] = -1;
         g_ibuf_112[l_shift_4] = -1.0;
         g_ibuf_128[l_shift_4] = EMPTY_VALUE;
      }
      if (li_8 < 0) {
         if (Signal > 0 && g_ibuf_112[l_shift_4 + 1] == -1.0) {
            g_ibuf_120[l_shift_4] = lda_20[l_shift_4];
            g_ibuf_112[l_shift_4] = lda_20[l_shift_4];
            if (Line > 0) g_ibuf_128[l_shift_4] = lda_20[l_shift_4];
            if (SoundON == TRUE && l_shift_4 == 0 && !gi_140) {
               Alert("BBands go Down", Symbol(), "-", Period());
               gi_140 = TRUE;
               gi_136 = FALSE;
            }
         } else {
            g_ibuf_112[l_shift_4] = lda_20[l_shift_4];
            if (Line > 0) g_ibuf_128[l_shift_4] = lda_20[l_shift_4];
            g_ibuf_120[l_shift_4] = -1;
         }
         if (Signal == 2) g_ibuf_112[l_shift_4] = 0;
         g_ibuf_116[l_shift_4] = -1;
         g_ibuf_108[l_shift_4] = -1.0;
         g_ibuf_124[l_shift_4] = EMPTY_VALUE;
      }
   }
   return (0);
}

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---