//———————————————+ // AutoFib TradeZones | // ?2010 Eagleye777, www.fxtools.info | // *Mod of AutoFibo by Julien Loutre | // www.forexcomm.com | //———————————————+ #property link “http://www.fxtools.info” #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 MidnightBlue #property indicator_color2 FireBrick extern int Fib_Period = 240; extern bool Show_StartLine = false; extern bool Show_EndLine = false; extern bool Show_Channel = false; extern int Fib_Style = 5; extern color Fib_Color = Gold; extern color StartLine_Color = RoyalBlue; extern color EndLine_Color = FireBrick; extern color BuyZone_Color = MidnightBlue; extern color SellZone_Color = FireBrick; //—- buffers double WWBuffer1[]; double WWBuffer2[]; double level_array[10]={0,0.236,0.382,0.5,0.618,0.764,1,1.618,2.618,4.236}; string leveldesc_array[13]={“0″,”23.6%”,”38.2%”,”50%”,”61.8%”,”76.4%”,”100%”,”161.8%”,”261.80%”,”423.6%”}; int level_count; string level_name; string StartLine = “Start Line”; string EndLine = “End Line”; int init() { IndicatorBuffers(2); if (Show_Channel) { SetIndexStyle(0,DRAW_LINE,1); SetIndexStyle(1,DRAW_LINE,1); SetIndexLabel(0, “High”); SetIndexLabel(1, “Low”); SetIndexBuffer(0, WWBuffer1); SetIndexBuffer(1, WWBuffer2); } IndicatorDigits(Digits+2); IndicatorShortName(“AutoFib TradeZones”); ObjectCreate(“FibLevels”, OBJ_FIBO, 0, Time[0],High[0],Time[0],Low[0]); ObjectCreate(“BuyZone”, OBJ_RECTANGLE, 0,0,0,0); ObjectCreate(“SellZone”, OBJ_RECTANGLE, 0,0,0,0); if (Show_StartLine) {if (ObjectFind(StartLine)==-1) { ObjectCreate(StartLine,OBJ_VLINE,0,Time[Fib_Period],Close[0]); ObjectSet(StartLine,OBJPROP_COLOR,StartLine_Color); } } if (Show_EndLine) {if (ObjectFind(EndLine)==-1) { ObjectCreate(EndLine,OBJ_VLINE,0,Time[0],Close[0]); ObjectSet(EndLine,OBJPROP_COLOR,EndLine_Color); } } return(0); } int deinit() { ObjectDelete(“FibLevels”); ObjectDelete(“BuyZone”); ObjectDelete(“SellZone”); } int start() { //Start Line ——————————————- int BarShift; if (Show_StartLine) { datetime HLineTime=ObjectGet(StartLine,OBJPROP_TIME1); if (HLineTime>=Time[0]) {BarShift=0;} BarShift=iBarShift(NULL,0,HLineTime); } else if (!Show_StartLine){BarShift=0;} if (ObjectFind(StartLine)==-1) {BarShift=0;} //End Line ——————————————- int BarShift2; if (Show_EndLine) { datetime HLine2Time=ObjectGet(EndLine,OBJPROP_TIME1); if (HLine2Time>=Time[0]) {BarShift2=0;} BarShift2=iBarShift(NULL,0,HLine2Time); } else if (!Show_EndLine){BarShift2=0;} if (ObjectFind(EndLine)==-1) {BarShift2=0;} //———————————————————- double SellZoneHigh,BuyZoneLow; if (Show_StartLine) { SellZoneHigh = iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,BarShift-BarShift2,BarShift2+1)); BuyZoneLow = iLow(NULL,0,iLowest(NULL,0,MODE_LOW,BarShift-BarShift2,BarShift2+1)); } if (!Show_StartLine) { SellZoneHigh = iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,Fib_Period,1)); BuyZoneLow = iLow(NULL,0,iLowest(NULL,0,MODE_LOW,Fib_Period,1)); } double PriceRange = SellZoneHigh – BuyZoneLow; double BuyZoneHigh = BuyZoneLow + (0.236*PriceRange); double SellZoneLow = SellZoneHigh – (0.236*PriceRange); datetime StartZoneTime =Time[Fib_Period]; datetime EndZoneTime =Time[0]+Time[0]; level_count=ArraySize(level_array); int counted_bars=IndicatorCounted(); int limit,i; if(counted_bars>0) counted_bars–; limit=Bars-counted_bars; for(i=limit-1; i>=0; i–) { WWBuffer1[i] = getPeriodHigh(Fib_Period,i); WWBuffer2[i] = getPeriodLow(Fib_Period,i); if (Show_StartLine) {ObjectSet(“FibLevels”, OBJPROP_TIME1, Time[BarShift]); ObjectSet(“FibLevels”, OBJPROP_TIME2, Time[BarShift2]);} if (!Show_StartLine) {ObjectSet(“FibLevels”, OBJPROP_TIME1, StartZoneTime);} ObjectSet(“FibLevels”, OBJPROP_TIME2, Time[0]); if (Open[Fib_Period] < Open[0]) // Up { if (Show_StartLine) { ObjectSet(“FibLevels”, OBJPROP_PRICE1, SellZoneHigh); ObjectSet(“FibLevels”, OBJPROP_PRICE2, BuyZoneLow); } if (!Show_StartLine) { ObjectSet(“FibLevels”, OBJPROP_PRICE1, getPeriodHigh(Fib_Period,i)); ObjectSet(“FibLevels”, OBJPROP_PRICE2, getPeriodLow(Fib_Period,i)); } } else { if (Show_StartLine) { ObjectSet(“FibLevels”, OBJPROP_PRICE1, BuyZoneLow); ObjectSet(“FibLevels”, OBJPROP_PRICE2, SellZoneHigh); } if (!Show_StartLine) { ObjectSet(“FibLevels”, OBJPROP_PRICE1, getPeriodLow(Fib_Period,i)); ObjectSet(“FibLevels”, OBJPROP_PRICE2, getPeriodHigh(Fib_Period,i)); } } ObjectSet(“FibLevels”, OBJPROP_LEVELCOLOR, Fib_Color); ObjectSet(“FibLevels”, OBJPROP_STYLE, Fib_Style); ObjectSet(“FibLevels”, OBJPROP_FIBOLEVELS, level_count); for(int j=0; j<level_count; j++) { ObjectSet(“FibLevels”, OBJPROP_FIRSTLEVEL+j, level_array[j]); ObjectSetFiboDescription(“FibLevels”,j,leveldesc_array[j]); } if (Show_StartLine) {ObjectSet(“BuyZone”, OBJPROP_TIME2, Time[BarShift]); ObjectSet(“BuyZone”, OBJPROP_TIME1, Time[BarShift2]);} if (!Show_StartLine) {ObjectSet(“BuyZone”, OBJPROP_TIME2, StartZoneTime);} ObjectSet(“BuyZone”, OBJPROP_TIME1, EndZoneTime); ObjectSet(“BuyZone”, OBJPROP_PRICE1, BuyZoneLow); ObjectSet(“BuyZone”, OBJPROP_PRICE2, BuyZoneHigh); ObjectSet(“BuyZone”, OBJPROP_COLOR, BuyZone_Color); if (Show_StartLine) {ObjectSet(“SellZone”, OBJPROP_TIME2, Time[BarShift]); ObjectSet(“SellZone”, OBJPROP_TIME1, Time[BarShift2]);} if (!Show_StartLine) {ObjectSet(“SellZone”, OBJPROP_TIME2, StartZoneTime);} ObjectSet(“SellZone”, OBJPROP_TIME1, EndZoneTime); ObjectSet(“SellZone”, OBJPROP_PRICE1, SellZoneLow); ObjectSet(“SellZone”, OBJPROP_PRICE2, SellZoneHigh); ObjectSet(“SellZone”, OBJPROP_COLOR, SellZone_Color); } return(0); } double getPeriodHigh(int period, int pos) { int i; double buffer = 0; for (i=pos;i<=pos+period;i++) { if (High[i] > buffer) { buffer = High[i]; } else { if (Open[i] > Close[i]) // Down { if (Open[i] > buffer) { buffer = Open[i]; } } } } return (buffer); } double getPeriodLow(int period, int pos) { int i; double buffer = 100000; for (i=pos;i<=pos+period;i++) { if (Low[i] < buffer) { buffer = Low[i]; } else { if (Open[i] > Close[i]) // Down { if (Close[i] < buffer) { buffer = Close[i]; } } else { if (Open[i] < buffer) { buffer = Open[i]; } } } } return (buffer); }
下载地址1立即下载
仅供学习观摩,请勿非法使用——点击下载。
免责声明:
1、本站资源搜集于网络,并整理发布。不参与制作,如果侵犯了您的合法权益,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
2、本站资源资源采用网盘分享,如链接失效,请及时联系。
3、原文链接:https://whotrader.com/267.html,转载请注明出处。
评论0