ChartRedraw

Bu fonksiyon, belirtilen çizelgeyi yeniden çizime zorlar.

void  ChartRedraw(
   long  chart_id=0      // Çizelge tanımlayıcı
   );

Parametreler

chart_id=0

[in]  Çizelge tanımlayıcısı. 0, mevcut çizelge anlamına gelir.

Not

Bu genellikle nesne özelliklerinden sonra kullanılır.

Örnek:

#define   WIDTH      50    // rectangle width in bars
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- mevcut grafik kimliğini al ve grafiksel nesne adını ayarla
   long   chart_id = ChartID();
   string obj_name = MQLInfoString(MQL_PROGRAM_NAME)+"_RectLabel";
   
//--- iki dikdörtgen zaman koordinatı al
   datetime time1  = iTime(_Symbol, _Period, WIDTH);
   datetime time2  = iTime(_Symbol, _Period, 0);
   if(time1==0 || time2==0)
     {
      Print("Error getting time ", GetLastError());
      return;
     }
 
//--- dikdörtgen genişliği aralığındaki maksimum ve minimum fiyatları al
   double price1 = HighestHigh(_Symbol, _Period, 0, WIDTH);
   double price2 = LowestLow(_Symbol, _Period, 0, WIDTH);
   if(price1==EMPTY_VALUE || price2==EMPTY_VALUE)
      return;
 
//--- bir dikdörtgen nesnesi oluştur
   Print("Create a wheat-colored rectangle");
   if(!ObjectCreate(chart_id, obj_name, OBJ_RECTANGLE, 0, time1, price1, time2, price2))
     {
      Print("ObjectCreate() failed. Error ", GetLastError());
      return;
     }
 
//--- dikdörtgeni orijinal renkle doldur
   ObjectSetInteger(chart_id, obj_name, OBJPROP_FILL, true);
   ObjectSetInteger(chart_id, obj_name, OBJPROP_BACK, true);
   ObjectSetInteger(chart_id, obj_name, OBJPROP_COLOR, clrWheat);
   ChartRedraw();
   
//--- bir saniye bekle, dikdörtgeni DodgerBlue rengiyle doldur ve grafiği güncelle
   Sleep(1000);
   Print("Change color to DodgerBlue");
   ObjectSetInteger(chart_id, obj_name, OBJPROP_COLOR, clrDodgerBlue);
   ChartRedraw();
   
//--- bir saniye bekle, dikdörtgeni LimeGreen rengiyle doldur ve grafiği güncelle
   Sleep(1000);
   Print("Change color to LimeGreen");
   ObjectSetInteger(chart_id, obj_name, OBJPROP_COLOR, clrLimeGreen);
   ChartRedraw();
   
//--- bir saniye bekle, dikdörtgeni OrangeRed rengiyle doldur ve grafiği güncelle
   Sleep(1000);
   Print("Change color to OrangeRed");
   ObjectSetInteger(chart_id, obj_name, OBJPROP_COLOR, clrOrangeRed);
   ChartRedraw();
   
//--- bir saniye bekle, dikdörtgeni Wheat rengiyle doldur ve grafiği güncelle
   Sleep(1000);
   Print("Reset color to original");
   ObjectSetInteger(chart_id, obj_name, OBJPROP_COLOR, clrWheat);
   ChartRedraw();
   
//--- üç saniye sonra nesneyi grafikten kaldır
   Sleep(3000);
   Print("Delete the rectangle");
   ObjectDelete(chart_id, obj_name);
  }
//+------------------------------------------------------------------+
//| Belirtilen çubuk aralığındaki maksimum Yüksek değerini döndür |
//+------------------------------------------------------------------+
double HighestHigh(const string symbol, const ENUM_TIMEFRAMES timeframe, const uint start, const uint count)
  {
   ResetLastError();
   int index=iHighest(symbol, timeframe, MODE_HIGH, count, start);
   if(index==-1)
     {
      PrintFormat("%s: iHighest() failed. Error %d",__FUNCTION__, GetLastError());
      return(EMPTY_VALUE);
     }
   GetLastError();
   double price=iHigh(symbol, timeframe, index);
   if(price==0)
     {
      PrintFormat("%s: iHigh() failed. Error %d",__FUNCTION__, GetLastError());
      return(EMPTY_VALUE);
     }
   return(price);
  }
//+------------------------------------------------------------------+
//| Belirtilen çubuk aralığındaki minimum Düşük değerini döndür |
//+------------------------------------------------------------------+
double LowestLow(const string symbol, const ENUM_TIMEFRAMES timeframe, const uint start, const uint count)
  {
   ResetLastError();
   int index=iLowest(symbol, timeframe, MODE_LOW, count, start);
   if(index==-1)
     {
      PrintFormat("%s: iLowest() failed. Error %d",__FUNCTION__, GetLastError());
      return(EMPTY_VALUE);
     }
   GetLastError();
   double price=iLow(symbol, timeframe, index);
   if(price==0)
     {
      PrintFormat("%s: iLow() failed. Error %d",__FUNCTION__, GetLastError());
      return(EMPTY_VALUE);
     }
   return(price);
  }

Ayrıca Bakınız

Nesne fonksiyonları