下载MetaTrader 5
要添加评论,请登录注册
您有博客吗?把链接放在MQL5.community 并获利
秋风踏浪
166
秋风踏浪 2010.04.14 20:44 

下面是计算均线角度的代码,不知道问题出在了哪里,请高手指教。

int start()
  {
   int    counted_bars=IndicatorCounted();
//----

   int shift1 = 20;
   int shift2 = 31;

   double price1 = iMA(NULL,15,20,0,MODE_SMA,PRICE_CLOSE,shift1);
   double price2 = iMA(NULL,15,20,0,MODE_SMA,PRICE_CLOSE,shift2);
   
   double X = MathArctan(MathTan(((price1-price2)/(WindowPriceMax()- WindowPriceMin()))/((shift2-shift1)/WindowBarsPerChart())))*180/3.14;  //---- 第12行
   //double X = MathArctan(MathTan(((price1-price2)/(WindowPriceMax()- WindowPriceMin()))/((Time[shift2]-Time[shift1])/WindowBarsPerChart())))*180/3.14;  //---- 第13行
   
   ObjectDelete("tAngle");
   ObjectCreate("tAngle", OBJ_LABEL, 0, 0, 0);
   ObjectSetText("tAngle","" + X + " A", 10, "Arial", White);
   ObjectSet("tAngle", OBJPROP_CORNER, 1);
   ObjectSet("tAngle", OBJPROP_XDISTANCE, 5);
   ObjectSet("tAngle", OBJPROP_YDISTANCE, 360);
        
   
//----
   return(0);
  }
上面的代码第12行是在网上找到的计算角度的,这段程序运行时得不到任何显示结果。如果把第12行换成注释掉的第13行内容(把shift2换成Time[shift2],shift1换成Time[shift1])则能得到显示结果。但显示的结果明显是错误的,并且得出的角度值会取随着图形的放大和缩小而改变。不知道第12行代码有什么问题,请各位高手指教。
/
要添加评论,请登录注册