/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright "Copyright © 2008, bluto"
#property link      "http://fxaw.activeboard.com/"

#property indicator_separate_window
#property indicator_minimum 0.0
#property indicator_maximum 6.0
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 MediumSpringGreen
#property indicator_color3 Red
#property indicator_color4 MediumSpringGreen
#property indicator_color5 Red
#property indicator_color6 MediumSpringGreen
#property indicator_color7 Red
#property indicator_color8 MediumSpringGreen

int g_timeframe_76 = 0;
int g_index_80 = 0;
int gi_84 = 0;
int g_color_88 = MediumSpringGreen;
int g_color_92 = Red;
int gi_unused_96 = 16777215;
extern string str_Marauder_Modes = "* Marauder Mode: 1=Std.; 2=Fast; 3=Turbo *";
extern int Marauder_Mode = 3;
extern int MaxBars = 2000;
extern int Override_Low_Timeframe = 0;
extern int Override_Mid_Timeframe = 0;
extern int Override_High_Timeframe = 0;
extern int Override_Max_Timeframe = 0;
string gs_unused_132 = "MA_Types: 0=SMA; 1=EMA; 2=SMMA; 3=LWMA";
int gi_140 = 3;
int gi_144 = 3;
double gd_unused_148 = 1.0;
double g_ibuf_156[];
double g_ibuf_160[];
double g_ibuf_164[];
double g_ibuf_168[];
double g_ibuf_172[];
double g_ibuf_176[];
double g_ibuf_180[];
double g_ibuf_184[];
string gs_188;
double g_icustom_196 = 0.0;
double g_icustom_204 = 0.0;
double g_icustom_212 = 0.0;
double g_icustom_220 = 0.0;
bool gi_unused_228 = TRUE;
bool gi_unused_232 = FALSE;
int gi_unused_236 = 0;
int g_timeframe_240 = 0;
int gi_244;
int gi_248;
int gi_252;
int gi_256;
int g_datetime_260 = 0;
string gs_264 = "";
string gs_unused_272 = " ";
bool gi_280 = TRUE;
bool gi_unused_284 = TRUE;
bool gi_unused_288 = FALSE;
int gi_292 = 116;
int gi_unused_296 = 228;
int gi_unused_300 = 0;

int init() {
   gi_280 = TRUE;
   SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_92);
   SetIndexArrow(0, gi_292);
   SetIndexBuffer(0, g_ibuf_160);
   SetIndexEmptyValue(0, 0.0);
   SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_88);
   SetIndexArrow(1, gi_292);
   SetIndexBuffer(1, g_ibuf_156);
   SetIndexEmptyValue(1, 0.0);
   SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_92);
   SetIndexArrow(2, gi_292);
   SetIndexBuffer(2, g_ibuf_168);
   SetIndexEmptyValue(2, 0.0);
   SetIndexStyle(3, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_88);
   SetIndexArrow(3, gi_292);
   SetIndexBuffer(3, g_ibuf_164);
   SetIndexEmptyValue(3, 0.0);
   SetIndexStyle(4, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_92);
   SetIndexArrow(4, gi_292);
   SetIndexBuffer(4, g_ibuf_176);
   SetIndexEmptyValue(4, 0.0);
   SetIndexStyle(5, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_88);
   SetIndexArrow(5, gi_292);
   SetIndexBuffer(5, g_ibuf_172);
   SetIndexEmptyValue(5, 0.0);
   SetIndexStyle(6, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_92);
   SetIndexArrow(6, gi_292);
   SetIndexBuffer(6, g_ibuf_184);
   SetIndexEmptyValue(6, 0.0);
   SetIndexStyle(7, DRAW_ARROW, STYLE_SOLID, gi_84, g_color_88);
   SetIndexArrow(7, gi_292);
   SetIndexBuffer(7, g_ibuf_180);
   SetIndexEmptyValue(7, 0.0);
   SetIndexLabel(0, NULL);
   SetIndexLabel(1, NULL);
   SetIndexLabel(2, NULL);
   SetIndexLabel(3, NULL);
   SetIndexLabel(4, NULL);
   SetIndexLabel(5, NULL);
   SetIndexLabel(6, NULL);
   SetIndexLabel(7, NULL);
   SetIndexDrawBegin(0, 0);
   SetIndexDrawBegin(1, 0);
   SetIndexDrawBegin(2, 0);
   SetIndexDrawBegin(3, 0);
   SetIndexDrawBegin(4, 0);
   SetIndexDrawBegin(5, 0);
   SetIndexDrawBegin(6, 0);
   SetIndexDrawBegin(7, 0);
   IndicatorDigits(0);
   for (g_index_80 = 0; g_index_80 < MaxBars; g_index_80++) {
      g_ibuf_156[g_index_80] = 0;
      g_ibuf_160[g_index_80] = 0;
      g_ibuf_164[g_index_80] = 0;
      g_ibuf_168[g_index_80] = 0;
      g_ibuf_172[g_index_80] = 0;
      g_ibuf_176[g_index_80] = 0;
      g_ibuf_180[g_index_80] = 0;
      g_ibuf_184[g_index_80] = 0;
   }
   g_timeframe_76 = Period();
   g_timeframe_240 = Period();
   bool li_0 = TRUE;
   if (Override_Low_Timeframe > 0 && Override_Mid_Timeframe > 0 && Override_High_Timeframe > 0 && Override_Max_Timeframe > 0) {
      if (Override_Mid_Timeframe > Override_Low_Timeframe && Override_High_Timeframe > Override_Mid_Timeframe && Override_Max_Timeframe > Override_High_Timeframe) {
         gi_244 = Override_Low_Timeframe;
         gi_248 = Override_Mid_Timeframe;
         gi_252 = Override_High_Timeframe;
         gi_256 = Override_Max_Timeframe;
         li_0 = FALSE;
         g_timeframe_76 = gi_244;
      }
   } else
      if (Override_Low_Timeframe > 0 && Override_Mid_Timeframe == 0 && Override_High_Timeframe == 0 && Override_Max_Timeframe == 0) g_timeframe_76 = Override_Low_Timeframe;
   if (li_0 == TRUE) {
      switch (g_timeframe_76) {
      case 1:
         gi_244 = 1;
         gi_248 = 5;
         gi_252 = 15;
         gi_256 = 30;
         break;
      case 5:
         gi_244 = 5;
         gi_248 = 15;
         gi_252 = 30;
         gi_256 = 60;
         break;
      case 15:
         gi_244 = 15;
         gi_248 = 30;
         gi_252 = 60;
         gi_256 = 240;
         break;
      case 30:
         gi_244 = 30;
         gi_248 = 60;
         gi_252 = 240;
         gi_256 = 1440;
         break;
      case 60:
         gi_244 = 60;
         gi_248 = 240;
         gi_252 = 1440;
         gi_256 = 10080;
         break;
      case 240:
         gi_244 = 240;
         gi_248 = 1440;
         gi_252 = 10080;
         gi_256 = 43200;
         break;
      case 1440:
         gi_244 = 1440;
         gi_248 = 10080;
         gi_252 = 43200;
         gi_256 = 43200;
         break;
      case 10080:
         gi_244 = 10080;
         gi_248 = 43200;
         gi_252 = 43200;
         gi_256 = 43200;
         break;
      case 43200:
         gi_244 = 43200;
         gi_248 = 43200;
         gi_252 = 43200;
         gi_256 = 43200;
      }
   }
   if (Marauder_Mode == 1) gs_188 = "Std.";
   else {
      if (Marauder_Mode == 2) gs_188 = "Fast";
      else gs_188 = "Turbo";
   }
   return (0);
}

int deinit() {
   gi_280 = TRUE;
   return (0);
}

int start() {
  if (iTime(Symbol(), Period(), 1) != g_datetime_260) {
      g_datetime_260 = iTime(Symbol(), Period(), 1);
      gi_unused_288 = TRUE;
      gs_264 = " Marauder MTF 7.2  © By Bluto  MODE: " + gs_188 + "   (" + tf2txt(gi_244) + ", " + tf2txt(gi_248) + ", " + tf2txt(gi_252) + ", " + tf2txt(gi_256) + ")";
      IndicatorShortName(gs_264);
      if (gi_280 == TRUE) {
         for (g_index_80 = 0; g_index_80 < MaxBars; g_index_80++) {
            g_icustom_196 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 3, g_index_80);
            g_icustom_204 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 2, g_index_80);
            g_icustom_212 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 1, g_index_80);
            g_icustom_220 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 0, g_index_80);
            if (g_icustom_196 >= 0.0) g_ibuf_180[g_index_80] = 1;
            else g_ibuf_184[g_index_80] = 1;
            if (g_icustom_204 >= 0.0) g_ibuf_172[g_index_80] = 2;
            else g_ibuf_176[g_index_80] = 2;
            if (g_icustom_212 >= 0.0) g_ibuf_164[g_index_80] = 3;
            else g_ibuf_168[g_index_80] = 3;
            if (g_icustom_220 >= 0.0) g_ibuf_156[g_index_80] = 4;
            else g_ibuf_160[g_index_80] = 4;
         }
         gi_280 = FALSE;
      } else {
         for (g_index_80 = 0; g_index_80 <= 1; g_index_80++) {
            g_icustom_196 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 3, g_index_80);
            g_icustom_204 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 2, g_index_80);
            g_icustom_212 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 1, g_index_80);
            g_icustom_220 = iCustom(Symbol(), g_timeframe_76, "Volvox_MTF_Ver_7.0", " ", Marauder_Mode, MaxBars, gi_140, gi_144, gi_244, gi_248, gi_252, gi_256, 0, g_index_80);
            if (g_icustom_196 >= 0.0) g_ibuf_180[g_index_80] = 1;
            else g_ibuf_184[g_index_80] = 1;
            if (g_icustom_204 >= 0.0) g_ibuf_172[g_index_80] = 2;
            else g_ibuf_176[g_index_80] = 2;
            if (g_icustom_212 >= 0.0) g_ibuf_164[g_index_80] = 3;
            else g_ibuf_168[g_index_80] = 3;
            if (g_icustom_220 >= 0.0) g_ibuf_156[g_index_80] = 4;
            else g_ibuf_160[g_index_80] = 4;
         }
         gi_unused_232 = FALSE;
      }
   }
   return (0);
}

string tf2txt(int ai_0) {
   if (ai_0 == 1) return ("M1");
   if (ai_0 == 5) return ("M5");
   if (ai_0 == 15) return ("M15");
   if (ai_0 == 30) return ("M30");
   if (ai_0 == 60) return ("H1");
   if (ai_0 == 240) return ("H4");
   if (ai_0 == 1440) return ("D1");
   if (ai_0 == 10080) return ("W1");
   if (ai_0 == 43200) return ("MN1");
   return ("??");
}
