//+------------------------------------------------------------------+ //| Camarilla Exchange 1.mq4 | //| Copyright © 2010, Кущенко Никита | //| www.tradestrateg.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, Кущенко Никита" #property link "www.tradestrateg.ru" //---- #property indicator_chart_window #property indicator_buffers 5 #property indicator_color1 Aqua #property indicator_color2 LawnGreen #property indicator_color3 Red #property indicator_color4 BlueViolet #property indicator_color5 BlueViolet //---- input parameters //---- buffers double PBuffer[]; double OP_SELL3Buffer[]; double OP_SELL2Buffer[]; double OP_BUY2Buffer[]; double OP_BUY3Buffer[]; string Pivot="Pivot",sOP_BUY2="OP_BUY2", sOP_SELL2="OP_SELL2"; string sOP_BUY3="OP_BUY3", sOP_SELL3="OP_SELL3"; int fontsize=10; double P, OP_BUY2,OP_BUY3, OP_SELL2,OP_SELL3; double LastHigh,LastLow,x; double D1=0.091667; double D2=0.183333; double D3=0.2750; double D4=0.55; //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- TODO: add your code here ObjectDelete("Pivot"); ObjectDelete("OP_BUY2"); ObjectDelete("OP_SELL2"); ObjectDelete("OP_BUY3"); ObjectDelete("OP_SELL3"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- indicator line SetIndexStyle(0,DRAW_LINE, 0, 2); SetIndexStyle(1,DRAW_LINE, 0, 4); SetIndexStyle(2,DRAW_LINE, 0, 4); SetIndexStyle(3,DRAW_LINE, 0, 4); SetIndexStyle(4,DRAW_LINE, 0, 4); SetIndexBuffer(0, PBuffer); SetIndexBuffer(1, OP_BUY2Buffer); SetIndexBuffer(2, OP_SELL2Buffer); SetIndexBuffer(3, OP_BUY3Buffer); SetIndexBuffer(4, OP_SELL3Buffer); //---- name for DataWindow and indicator subwindow label short_name="Camarilla Exchange"; IndicatorShortName(short_name); SetIndexLabel(0, short_name); //---- SetIndexDrawBegin(0,1); //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit, i; //---- indicator calculation if (counted_bars==0) { x=Period(); if (x>240) return(-1); ObjectCreate("OP_BUY2", OBJ_TEXT, 0, 0, 0); ObjectSetText("OP_BUY2", " OP_BUY-2",fontsize,"Arial", White); ObjectCreate("OP_SELL2", OBJ_TEXT, 0, 0, 0); ObjectSetText("OP_SELL2", " OP_SELL-2",fontsize,"Arial", White); ObjectCreate("OP_BUY3", OBJ_TEXT, 0, 0, 0); ObjectSetText("OP_BUY3", " OP_BUY-3",fontsize,"Arial", White); ObjectCreate("OP_SELL3", OBJ_TEXT, 0, 0, 0); ObjectSetText("OP_SELL3", " OP_SELL-3",fontsize,"Arial", White); } if(counted_bars<0) return(-1); //---- last counted bar will be recounted // if(counted_bars>0) counted_bars--; limit=(Bars-counted_bars)-1; //---- for(i=limit; i>=0;i--) { if (High[i+1]>LastHigh) LastHigh=High[i+1]; if (Low[i+1]