갠(Gann) 개체

갠 팬 (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 단위).

갠 팬 개체의 매개변수

갠 팬 생성 예제:

void OnStart()
  {
//---
   string my_gann="OBJ_GANNFAN object";
   if(ObjectFind(0,my_gann)<0)// 개체를 찾을 수 없습니다
     {
      //--- 오류에 대한 정보
      Print("개체 ",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("시작 시간으로 배열을 복사할 수 없습니다!");
         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);
     }
  }