Gann Objekte

für Objekte Gannfan (OBJ_GANNFAN)und Ganngrid (OBJ_GANNGRID) kann einer der zwei Werte der Enumeration ENUM_GANN_DIRECTION angegeben werden, der Trendrichtung feststellt.

Konstante

Beschreibung

GANN_UP_TREND

Linie entspricht dem steidenden Trend

GANN_DOWN_TREND

Linie entspricht dem Fallenden Trend

für Einstellung des Massstabes der Grundlinie 1x1 wird die Funktion ObjectSetDouble(chart_handle, gann_object_name, OBJPROP_SCALE, scale) verwendet, wo:

  • chart_handle – Chartfenster, in dem sich Objekt befindet;
  • gann_object_name – Objektname;
  • OBJPROP_SCALE – Identifikator der Eigenschaft  "Scale";
  • scale – der notwendige Massstab in Einheiten Pips/Bar.

Parameter des Objekts GannFann

Beispiel der Erzeugung von Gannfan:

void OnStart()
  {
//---
   string my_gann="OBJ_GANNFAN object";
   if(ObjectFind(0,my_gann)<0)// Objekt nicht gefunden
     {
      //--- melden wir Missefolg an  
      Print("Object ",my_gann," not found. Error code = ",GetLastError());
      //--- wir erhalten maximalen Preis des Charts 
      double chart_max_price=ChartGetDouble(0,CHART_PRICE_MAX,0);
      //--- wir erhalten minimalen Preis des Charts
      double chart_min_price=ChartGetDouble(0,CHART_PRICE_MIN,0);
      //--- wieviel Bars auf dem Chart gezeigt? 
      int bars_on_chart=ChartGetInteger(0,CHART_VISIBLE_BARS);
      //--- erzeugen wir Feld, wo wir die Eroeffnungszeit jeder Bar schreiben  
      datetime Time[];
      //--- organisieren wir Zugang zum Feld wie in Timeserie 
      ArraySetAsSeries(Time,true);
      //--- Jetzt kopieren wir darin Daten für die auf dem Chart sichtbaren Bars  
      int times=CopyTime(NULL,0,0,bars_on_chart,Time);
      if(times<=0)
        {
         Print("Kopieren des Feldes mit Eroeffnungszeit fehler!");
         return;
        }
      //--- Vorbereitungen werden abgeschlossen 
 
      //--- Index der Zentralbar auf dem Chart 
      int center_bar=bars_on_chart/2;
      //--- Chartäquator - zwischen Maximum und Minimum 
      double mean=(chart_max_price+chart_min_price)/2.0;
      //--- stellen wir Koordinaten des ersten Snappunktes ins Zentrum  fest  
      ObjectCreate(0,my_gann,OBJ_GANNFAN,0,Time[center_bar],mean,
                   //--- der zweite Snappunkt ist recsht 
                   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]);
      //--- stellen wir Massstab in Einheiten Pips/Bar
      ObjectSetDouble(0,my_gann,OBJPROP_SCALE,10);
      //--- stellen wir Liniendicke fest 
      ObjectSetInteger(0,my_gann,OBJPROP_DIRECTION,GANN_UP_TREND);
      //--- stellen wir Liniendicke fest 
      ObjectSetInteger(0,my_gann,OBJPROP_WIDTH,1);
      //--- Legen wir Linienstil  
      ObjectSetInteger(0,my_gann,OBJPROP_STYLE,STYLE_DASHDOT);
      //--- und Linienfarbe fest
      ObjectSetInteger(0,my_gann,OBJPROP_COLOR,clrYellowGreen);
      //--- erlauben wir dem Benutzer, Objekt hervorzuheben  
      ObjectSetInteger(0,my_gann,OBJPROP_SELECTABLE,true);
      //--- herben wir es selbst hervor 
      ObjectSetInteger(0,my_gann,OBJPROP_SELECTED,true);
      //--- zeichnen wir auf dem Chart 
      ChartRedraw(0);
     }
  }