OnStart

Fonksiyon, Start olayının meydana gelmesi ile çağrılır. Fonksiyon komut dosyasında yer alan eylemlerin tek seferde yürütülmesi için tasarlanmıştır. Fonksiyon için 2 seçenek vardır.

Sonucu geri döndüren versiyon

int  OnStart(void);

Geri Dönüş Değeri

Günlük sekmesinde görülen int türünün değeri.

"script script_name removed (result code N)" girişi, komut dosyası yürütmesi tamamlandıktan sonra terminal günlüğünde oluşturulur. Burada N, OnStart() fonksiyonu tarafından geri döndürülen değerdir.

"service service_name stopped (result code N)" girişi, hizmet yürütmesi tamamlandıktan sonra terminal günlüğünde oluşturulur. Burada N, OnStart() fonksiyonu tarafından geri döndürülen değerdir.

Yürütme sonucunu geri döndüren OnStart() çağrısı sadece komut dosyası veya hizmet yürütülmesine izin verdiği için değil, ayrıca program yürütme sonucunu analiz etmek için bir hata kodu veya başka yararlı veriler geri döndürdüğünden dolayı kullanım için önerilmektedir.

Sonuç geri dönüşü olmayanversiyon sadece eski kodlarla uyumluluk için bırakılmıştır. Kullanım için önerilmemektedir

void  OnStart(void);

Not

Komut dosyalarında ve hizmetlerde olayları yönetmek için tek işlev onStart() işlevidir. Bu programlara başka hiçbir olay gönderilmez. Dolayısıyla, Start olayı Uzman Danışmanlara ve özel göstergelere iletilmez.

Örnek komut dosyası:

//--- renkler ile çalışmak için makrolar
#define XRGB(r,g,b)    (0xFF000000|(uchar(r)<<16)|(uchar(g)<<8)|uchar(b))
#define GETRGB(clr)    ((clr)&0xFFFFFF)
//+------------------------------------------------------------------+
//| Komut dosyası başlama fonksiyonu                                 |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- düşen mum rengini ayarla
   Comment("Düşen mum rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,GetRandomColor());
   ChartRedraw(); // yeni bir fiyatı beklemeden grafiği hemen güncelle
   Sleep(1000);   // tüm değişiklikleri görmek için 1 saniye duraklayın
//--- yükselen mum rengini ayarla
   Comment("Yükselen mum rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- arka plan rengini ayarla
   Comment("Arka plan rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_BACKGROUND,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- Satış çizgisinin rengini ayarla
   Comment("Satış çizgisinin rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_ASK,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- Alış çizgisinin rengini ayarla
   Comment("Alış çizgisinin rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_BID,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);    
//--- düşen barın ve düşen mumun çerçeve rengini ayarla
   Comment("Düşen barın ve düşen mumun çerçeve rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_CHART_DOWN,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- çizgi gafiği ve Doji mumlarının rengini ayarla
   Comment("Çizgi gafiği ve Doji mumlarının rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_CHART_LINE,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- yükselen barın ve yükselen mumun çerçeve rengini ayarla  
   Comment("Yükselen barın ve yükselen mumun çerçeve rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_CHART_UP,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- eksenlerin, ölçeklerin ve OHLC çizgilerinin rengini ayarla
   Comment("Eksenlerin, ölçeklerin ve OHLC çizgilerinin rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_FOREGROUND,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- ızgara rengini ayarla
   Comment("Izgara rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_GRID,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- Son fiyat rengini ayarla
   Comment("Son fiyat rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_LAST,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- Karı al ve Zararı durdur işlem seviyelerinin rengini ayarla 
   Comment("Karı al ve Zararı durdur işlem seviyelerinin rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_STOP_LEVEL,GetRandomColor());
   ChartRedraw(); 
   Sleep(1000);   
//--- hacimlerin ve piyasaya giriş seviyelerinin rengini ayarla
   Comment("Hacimlerin ve piyasaya giriş seviyelerinin rengini ayarla"); 
   ChartSetInteger(0,CHART_COLOR_VOLUME,GetRandomColor());
   ChartRedraw();
  }
//+------------------------------------------------------------------+
//| Rastgele oluşturulmuş bir rengi geri döndür                      |
//+------------------------------------------------------------------+
color GetRandomColor()
  {
   color clr=(color)GETRGB(XRGB(rand()%255,rand()%255,rand()%255));
   return clr;
  }

Ayrıca bakınız

Olay yönetimi fonksiyonları, Program yürütme, Müşteri terminali olayları