[MT4指标]Autofib-自定义每天涨跌多少
//在前一天基础上,涨跌20%,40,60%,你也可以自己加任意的位置。这个是在别人程序基础上改动的, //+------------------------------------------------------------------+ #property copyright "fib" #property link "dayfib" #property indicator_chart_window extern int daysBackForHigh = 1; extern int daysBackForLow = 1; double Rates[6]; double fib000, fib382, fib50, fib618, fib100, fib120, fib140, fib160, fib180, fib1618, fib2618, fib4236, fibN120, fibN140, fibN160, fibN180, fibN1618, fibN2618, range, prevRange, high, low; bool objectsExist, highFirst; prevRange = 0; objectsExist = false; int init() { return(0); } int deinit() { //---- ObjectDelete("fib000"); ObjectDelete("fib000_label"); ObjectDelete("fib382"); ObjectDelete("fib382_label"); ObjectDelete("fib50"); ObjectDelete("fib50_label"); ObjectDelete("fib618"); ObjectDelete("fib618_label"); ObjectDelete("fib100"); ObjectDelete("fib100_label"); ObjectDelete("fib120"); ObjectDelete("fib120_label"); ObjectDelete("fib140"); ObjectDelete("fib140_label"); ObjectDelete("fib160"); ObjectDelete("fib160_label"); ObjectDelete("fib1618"); ObjectDelete("fib1618_label"); ObjectDelete("fibN120"); ObjectDelete("fibN120_label"); ObjectDelete("fibN140"); ObjectDelete("fibN140_label"); ObjectDelete("fibN160"); ObjectDelete("fibN160_label"); ObjectDelete("fibN1618"); ObjectDelete("fibN1618_label"); ObjectDelete("fibN2618"); ObjectDelete("fibN2618_label"); ObjectDelete("fib2618"); ObjectDelete("fib2618_label"); ObjectDelete("fib4236"); ObjectDelete("fib4236_label"); //---- return(0); } int start() { int i = 0; //---- Print(prevRange); ArrayCopyRates(Rates, Symbol(), PERIOD_D1); // ArrayCopyRates(Rates, Symbol(), 0); high = Rates[daysBackForHigh][3]; low = Rates[daysBackForLow][2]; range = high - low; while(true) { if(High == high) { highFirst = true; break; } else if(Low == low) { highFirst = false; break; } i++; } //Print(highFirst); // Delete Objects if necessary if (prevRange != range) { ObjectDelete("fib000"); ObjectDelete("fib000_label"); // ObjectDelete("fib236"); // ObjectDelete("fib236_label"); ObjectDelete("fib382"); ObjectDelete("fib382_label"); ObjectDelete("fib50"); ObjectDelete("fib50_label"); ObjectDelete("fib618"); ObjectDelete("fib618_label"); ObjectDelete("fib100"); ObjectDelete("fib100_label"); ObjectDelete("fib120"); ObjectDelete("fib120_label"); ObjectDelete("fib140"); ObjectDelete("fib140_label"); ObjectDelete("fib160"); ObjectDelete("fib160_label"); ObjectDelete("fib1618"); ObjectDelete("fib1618_label"); ObjectDelete("fibN120"); ObjectDelete("fibN120_label"); ObjectDelete("fibN140"); ObjectDelete("fibN140_label"); ObjectDelete("fibN160"); ObjectDelete("fibN160_label"); ObjectDelete("fibN1618"); ObjectDelete("fibN1618_label"); ObjectDelete("fibN2618"); ObjectDelete("fibN2618_label"); ObjectDelete("fib2618"); ObjectDelete("fib2618_label"); ObjectDelete("fib4236"); ObjectDelete("fib4236_label"); objectsExist = false; // objectsExist = false; prevRange = range; //Print("Objects do not exist"); } if (highFirst == true) { fib000 = low; fib382 = (range * 0.382) + low; fib50 = (high + low) / 2; fib618 = (range * 0.618) + low; fib100 = high; fib120 = (range * 0.2) + high; fib140 = (range * 0.4) + high; fib160 = (range * 0.6) + high; fib1618 = (range * 0.618) + high; fibN120 = low-(range * 0.20); fibN140 = low-(range * 0.40); fibN160 = low-(range * 0.60); fibN1618 = low-(range * 0.618); fibN2618 = low-(range * 1.618); fib2618 = (range * 0.618) + (high + range); fib4236 = (range * 0.236) + high + (range * 3); } else if (highFirst == false) { fib000 = high; // fib236 = high - (range * 0.236); fib382 = high - (range * 0.382); fib50 = (high + low) / 2; fib618 = high - (range * 0.618); fib100 = low; fib120 = low - (range * 0.2); fib140 = low - (range * 0.4); fib160 = low - (range * 0.60); fib1618 = low - (range * 0.618); fibN120 = high + (range * 0.2); fibN140 = high + (range * 0.4); fibN160= high + (range * 0.6); fibN1618 = high + (range * 0.618); fibN2618 = high + (range * 1.618); fib2618 = (low - range) - (range * 0.618);// + (high + range); fib4236 = low - (range * 3) - (range * 0.236);// + high + (range * 3); } if (objectsExist == false) { ObjectCreate("fib000", OBJ_HLINE, 0, Time[40], fib000); ObjectSet("fib000", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("fib000", OBJPROP_COLOR, SpringGreen); ObjectCreate("fib382", OBJ_HLINE, 0, Time[40], fib382); ObjectSet("fib382", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("fib382", OBJPROP_COLOR, Orange); ObjectCreate("fib50", OBJ_HLINE, 0, Time[40], fib50); ObjectSet("fib50", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("fib50", OBJPROP_COLOR, Orange); ObjectCreate("fib618", OBJ_HLINE, 0, Time[40], fib618); ObjectSet("fib618", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("fib618", OBJPROP_COLOR, SpringGreen); ObjectCreate("fib100", OBJ_HLINE, 0, Time[40], fib100); ObjectSet("fib100", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("fib100", OBJPROP_COLOR, Red); ObjectCreate("fib120", OBJ_HLINE, 0, Time[40], fib120); ObjectSet("fib120", OBJPROP_STYLE, STYLE_DOT); ObjectSet("fib120", OBJPROP_COLOR, Red); ObjectCreate("fib140", OBJ_HLINE, 0, Time[40], fib140); ObjectSet("fib140", OBJPROP_STYLE, STYLE_DOT); ObjectSet("fib140", OBJPROP_COLOR, Red); ObjectCreate("fib160", OBJ_HLINE, 0, Time[40], fib160); ObjectSet("fib160", OBJPROP_STYLE, STYLE_DOT); ObjectSet("fib140", OBJPROP_COLOR, Red); ObjectCreate("fib1618", OBJ_HLINE, 0, Time[40], fib1618); ObjectSet("fib1618", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("fib1618", OBJPROP_COLOR, Orange); ObjectCreate("fibN120", OBJ_HLINE, 0, Time[40], fibN120); ObjectSet("fibN120", OBJPROP_STYLE, STYLE_DOT); ObjectSet("fibN120", OBJPROP_COLOR, Orange); ObjectCreate("fibN140", OBJ_HLINE, 0, Time[40], fibN140); ObjectSet("fibN140", OBJPROP_STYLE, STYLE_DOT); ObjectSet("fibN140", OBJPROP_COLOR, Orange); ObjectCreate("fibN140", OBJ_HLINE, 0, Time[40], fibN140); ObjectSet("fibN140", OBJPROP_STYLE, STYLE_DOT); ObjectSet("fibN140", OBJPROP_COLOR, Orange); ObjectCreate("fibN1618", OBJ_HLINE, 0, Time[40], fibN1618); ObjectSet("fibN1618", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("fibN1618", OBJPROP_COLOR, Orange); ObjectCreate("fibN2618", OBJ_HLINE, 0, Time[40], fibN2618); ObjectSet("fibN2618", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("fibN2618", OBJPROP_COLOR, Orange); ObjectCreate("fib2618", OBJ_HLINE, 0, Time[40], fib2618); ObjectSet("fib2618", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("fib2618", OBJPROP_COLOR, Orange); ObjectCreate("fib4236", OBJ_HLINE, 0, Time[40], fib4236); ObjectSet("fib4236", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet("fib4236", OBJPROP_COLOR, Orange); Print("Objects Exist"); } //---- return(0); } //+------------------------------------------------------------------+ 

韬客社区www.talkfx.co