江恩物件

对于 江恩角度线 (OBJ_GANNFAN) 和 江恩网格 (OBJ_GANNGRID)来说,ENUM_GANN_DIRECTION 中的两种值可以指定出来,会在开头建立。

ENUM_GANN_DIRECTION

ID

描述

GANN_UP_TREND

与上升趋势一致的线

GANN_DOWN_TREND

与下降趋势一致的线

建立主干线1x1规模,使用 ObjectSetDouble 函数(chart_handle, gann_object_name, OBJPROP_SCALE, scale):

  • chart_handle – 对象加载的图表窗口;
  • gann_object_name – 对象名称;
  • OBJPROP_SCALE – “Scale”属性标识符;
  • 比例 – 需要以Pips/Bar为单位。

Parameters of Gann Fan object

创建江恩角度线示例:

void OnStart()
  {
//---
   string my_gann="OBJ_GANNFAN object";
   if(ObjectFind(0,my_gann)<0)//物件没找到
     {
      //--- 通知失败
      Print("Object ",my_gann," not found. Error code = ",GetLastError());
      //--- 获得图表最大价格
      double chart_max_price=ChartGetDouble(0,CHART_PRICE_MAX,0);
      //--- 获得图表最小价格
      double chart_min_price=ChartGetDouble(0,CHART_PRICE_MIN,0);
      //--- 多少柱显示在图表上?
      int bars_on_chart=ChartGetInteger(0,CHART_VISIBLE_BARS);
      //--- 创建一个数组,写下每个柱的开盘时间
      datetime Time[];
      //--- 像时间序列一样访问数组
      ArraySetAsSeries(Time,true);
      //--- 现在复制图表中可见的柱数据到数组中
      int times=CopyTime(NULL,0,0,bars_on_chart,Time);
      if(times<=0)
        {
         Print("Could not copy the array with the open time!");
         return;
        }
      //--- 完成预备
 
      //--- 图表中心柱指数
      int center_bar=bars_on_chart/2;
      //--- 图表赤道 - 最大和最小值之间
      double mean=(chart_max_price+chart_min_price)/2.0;
      //--- 设置第一定位点坐标到中心
      ObjectCreate(0,my_gann,OBJ_GANNFAN,0,Time[center_bar],mean,
                   //--- 第二定位点到右边
                   Time[center_bar/2],(mean+chart_min_price)/2.0);
      Print("Time[center_bar] = "+(string)Time[center_bar]+"  Time[center_bar/2] = "+(string)Time[center_bar/2]);
      //Print("Time[center_bar]/="+Time[center_bar]+"  Time[center_bar/2]="+Time[center_bar/2]);
      //--- 设置 Pips / Bar单元比例
      ObjectSetDouble(0,my_gann,OBJPROP_SCALE,10);
      //--- 设置趋向线
      ObjectSetInteger(0,my_gann,OBJPROP_DIRECTION,GANN_UP_TREND);
      //--- 设置线宽
      ObjectSetInteger(0,my_gann,OBJPROP_WIDTH,1);
      //--- 定义线型
      ObjectSetInteger(0,my_gann,OBJPROP_STYLE,STYLE_DASHDOT);
      //--- 设置线的颜色
      ObjectSetInteger(0,my_gann,OBJPROP_COLOR,clrYellowGreen);
      //--- 允许用户选择物件
      ObjectSetInteger(0,my_gann,OBJPROP_SELECTABLE,true);
      //--- 自动选择
      ObjectSetInteger(0,my_gann,OBJPROP_SELECTED,true);
      //--- 图表上绘画
      ChartRedraw(0);
     }
  }