//+------------------------------------------------------------------+ //| Donchian.mq4 | //| Andrei Andreev | //| http://www.andand.ru | //+------------------------------------------------------------------+ // BASED ON: //+------------------------------------------------------------------+ //| ^X_Sensors.mq4 | //| Version 2.0.1 | //|------------------------------------------------------------------| //| Copyright © 2007, Mr.WT, Senior Linux Hacker | //| http://w-tiger.narod.ru/wk2/ | //+------------------------------------------------------------------+ #property copyright "Andrei Andreev" #property link "http://www.andand.ru" #property indicator_chart_window extern int Period_Short=25; extern int Period_Long=50; extern int _Shift = 100; extern color Max_Color = Gold; extern color Min_Color = Crimson; int _N_Time, ObjectId; string OBJECT_PREFIX = "LEVELS"; //------------------------------------------------------------------------------------------- int init() { color _S_Color=Max_Color; color _R_Color=Min_Color; _N_Time = 0; ObjectCreate("S1 line", OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0); ObjectCreate("S2 line", OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0); ObjectCreate("R1 line", OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0); ObjectCreate("R2 line", OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0); ObjectSet("S1 line", OBJPROP_RAY, 1); ObjectSet("S1 line", OBJPROP_STYLE, STYLE_DASH); ObjectSet("S1 line", OBJPROP_COLOR, _S_Color); ObjectSet("S2 line", OBJPROP_RAY, 1); ObjectSet("S2 line", OBJPROP_STYLE, STYLE_DASH); ObjectSet("S2 line", OBJPROP_COLOR, _S_Color); ObjectSet("R1 line", OBJPROP_RAY, 1); ObjectSet("R1 line", OBJPROP_STYLE, STYLE_DASH); ObjectSet("R1 line", OBJPROP_COLOR, _R_Color); ObjectSet("R2 line", OBJPROP_RAY, 1); ObjectSet("R2 line", OBJPROP_STYLE, STYLE_DASH); ObjectSet("R2 line", OBJPROP_COLOR, _R_Color); ObjectCreate("R1 label", OBJ_TEXT, 0, Time[0], 0); ObjectCreate("R2 label", OBJ_TEXT, 0, Time[0], 0); ObjectCreate("S1 label", OBJ_TEXT, 0, Time[0], 0); ObjectCreate("S2 label", OBJ_TEXT, 0, Time[0], 0); ObjectId = 0; return(0); } //------------------------------------------------------------------------------------------- int deinit() { ObjectDelete("R1 label"); ObjectDelete("R1 line"); ObjectDelete("R2 label"); ObjectDelete("R2 line"); ObjectDelete("S1 label"); ObjectDelete("S1 line"); ObjectDelete("S2 label"); ObjectDelete("S2 line"); ObDeleteObjectsByPrefix(OBJECT_PREFIX); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { color _S_Color=Max_Color; color _R_Color=Min_Color; if ( _N_Time == Time[0] ) return(0); double R1, R2, S1, S2,MaxHigh,MinLow,Long_MaxHigh,Long_MinLow; double _rates[][6]; double rangeH[100]; double rangeL[100]; double long_rangeH[100]; double long_rangeL[100]; ArrayCopyRates(_rates, NULL, 0); int err = GetLastError(); if(err == 4066) { Sleep(1000); if(iClose(NULL,0, 0) != Close[0]) { Sleep(1000); return(0); } } for (int i=1;i