MetaTrader 4 指标:每日支撑位和阻力位
int start() { //---- 初始化局部变量
double R=0; double day_high=0; double day_low=0; double yesterday_high=0; double yesterday_open=0; double yesterday_low=0; double yesterday_close=0; double today_open=0; double r2=0; double r1=0; double p=0; double s1=0; double s2=0; double rates_d1[2][6];
//---- 如果周期大于每日图表,则退出 if(Period() > 1440) {//如果大于天图,则退出 Print('Error - Chart period is greater than 1 day.'); return(-1); // 然后退出 }
//---- 获取新的每日价格 // 将当前品种的日图数据写入 rates_d1 ArrayCopyRates(rates_d1, Symbol(), PERIOD_D1);
yesterday_close = rates_d1[1][4]; yesterday_open = rates_d1[1][1]; today_open = rates_d1[0][1]; yesterday_high = rates_d1[1][3]; yesterday_low = rates_d1[1][2];
//---- 计算枢轴点 R = yesterday_high - yesterday_low;// 范围 p = (yesterday_high + yesterday_low + yesterday_close)/3;// 标准枢轴点 r1 = p + (R * 0.38); r2 = p + (R * 0.62); s1 = p - (R * 0.38); s2 = p - (R * 0.62);
//---- 在图表窗口上设置线标签
if(ObjectFind('R1 label') != 0)// 0 表示主窗口,即主窗口没有就执行后续程序 { ObjectCreate('R1 label', OBJ_TEXT, 0, Time[20], r1); ObjectSetText('R1 label', 'Fib R1', 8, 'Arial', White); } else { ObjectMove('R1 label', 0, Time[20], r1); }
if(ObjectFind('R2 label') != 0) { ObjectCreate('R2 label', OBJ_TEXT, 0, Time[20], r2); ObjectSetText('R2 label', 'Fib R2', 8, 'Arial', White); } else { ObjectMove('R2 label', 0, Time[20], r2); }
if(ObjectFind('P label') != 0) { ObjectCreate('P label', OBJ_TEXT, 0, Time[20], p); ObjectSetText('P label', 'Pivot', 8, 'Arial', White); } else { ObjectMove('P label', 0, Time[20], p); }
if(ObjectFind('S1 label') != 0) { ObjectCreate('S1 label', OBJ_TEXT, 0, Time[20], s1); ObjectSetText('S1 label', 'Fib S1', 8, 'Arial', White); } else { ObjectMove('S1 label', 0, Time[20], s1); }
if(ObjectFind('S2 label') != 0) { ObjectCreate('S2 label', OBJ_TEXT, 0, Time[20], s2); ObjectSetText('S2 label', 'Fib S2', 8, 'Arial', White); } else { ObjectMove('S2 label', 0, Time[20], s2); }
//---- 在图表窗口上设置线
if(ObjectFind('S1 line') != 0) { ObjectCreate('S1 line', OBJ_HLINE, 0, Time[40], s1); ObjectSet('S1 line', OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet('S1 line', OBJPROP_COLOR, LimeGreen); } else { ObjectMove('S1 line', 0, Time[40], s1); }
if(ObjectFind('S2 line') != 0) { ObjectCreate('S2 line', OBJ_HLINE, 0, Time[40], s2); ObjectSet('S2 line', OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet('S2 line', OBJPROP_COLOR, LimeGreen); } else { ObjectMove('S2 line', 0, Time[40], s2); }
if(ObjectFind('P line') != 0) { ObjectCreate('P line', OBJ_HLINE, 0, Time[40], p); ObjectSet('P line', OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet('P line', OBJPROP_COLOR, Magenta); } else { ObjectMove('P line', 0, Time[40], p); }
if(ObjectFind('R1 line') != 0) { ObjectCreate('R1 line', OBJ_HLINE, 0, Time[40], r1); ObjectSet('R1 line', OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet('R1 line', OBJPROP_COLOR, OrangeRed); } else { ObjectMove('R1 line', 0, Time[40], r1); }
if(ObjectFind('R2 line') != 0) { ObjectCreate('R2 line', OBJ_HLINE, 0, Time[40], r2); ObjectSet('R2 line', OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet('R2 line', OBJPROP_COLOR, OrangeRed); } else { ObjectMove('R2 line', 0, Time[40], r2); }
//---- 完成 return(0);
原文地址: https://www.cveoy.top/t/topic/n2lr 著作权归作者所有。请勿转载和采集!