Göstergeler: Destek ve Direnç

 

Destek ve Direnç:

Fraktallar göstergesine dayalı destek ve direnç seviyeleri göstergesi.

Destek ve Direnç

Author: Nikolay Kositsin

 

Gösterge düzgün çalışmıyor. Seviyeler yalnızca geçmişe doğru şekilde yansıtılır, yeni çubuklar göründüğünde izlenmezler.

Şekilde: kırmızı çizgi, göstergenin grafiğe eklendiği an. Solunda her şey doğru, sağında ise yanlıştır.

Doğru ve yanlış

 
gdtt:

Gösterge düzgün çalışmıyor. Seviyeler yalnızca geçmişe doğru şekilde yansıtılır, yeni çubuklar göründüğünde bunlar izlenmez.

Şekilde: kırmızı çizgi, göstergenin grafiğe eklendiği an. Solunda her şey doğru, sağında ise yanlıştır.

Oh evet, fraktalın geriye doğru sayan bir hindi olduğunu tamamen unutmuşum! Hadi düzeltelim!
 

MT5'in son güncellemesinden bu yana bu gösterge bozuldu. Sadece her mumun en yüksek ve en düşük noktasına noktalar yazdırır.

Sorun nedir?

 
yohmm:

MT5'in son güncellemesinden bu yana bu gösterge bozuldu. Sadece her mumun en yüksek ve en düşük noktasına noktalar yazdırır.

Sorun nedir?

Bu gösterge normal çalışıyor. Yapı 1016.
 

Evet, Yapı 1016'ya sahibim. Göstergeyi tekrar indirdim ve 0 hata(lar) ve 0 uyarı(lar) ile yeniden derledim. Hala çalışmıyor, sadece yüksek ve alçakta noktaları gösteriyor.

Ama sorun değil, bunun yerine Fibo geri çekilmesini kullanıyorum veya şimdi kendi başıma s / r seviyeleri çiziyorum.

 
yohmm:

Evet, Yapı 1016'ya sahibim. Göstergeyi tekrar indirdim ve 0 hata(lar) ve 0 uyarı(lar) ile yeniden derledim. Hala çalışmıyor, sadece yüksek ve alçakta noktaları gösteriyor.

Ama sorun değil, bunun yerine Fibo geri çekilmesini kullanıyorum veya şimdi kendi başıma s / r seviyeleri çiziyorum.

Grafiği yükleyebilir misiniz?
 
belido:
Grafiği yükleyebilir misiniz?

Elbette, işte burada:

MetaTrader İşlem Platformu Ekran Görüntüleri

EURUSD, M5, 2014.11.28

MetaQuotes Software Corp., MetaTrader 5, Demo

temp_file_screenshot_27398.png

EURUSD, M5, 2014.11.28, MetaQuotes Software Corp., MetaTrader 5, Demo


 
aynı sorun bende de var! metatrader'ı yeniden yüklemek de işe yaramıyor...:-(
Dosyalar:
sup.png  36 kb
 

Bunu dene.


//+------------------------------------------------------------------+
//|Destek ve Direnç.mq5 |
//|Telif Hakkı © 2005, Dmitry |
//|Güncelleme Aralık 2014 |
//+------------------------------------------------------------------+
#property copyright "Telif Hakkı © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"
//---- sürüm
#property version   "1.01"
//---- grafik penceresindeki gösterge
#property indicator_chart_window 
//---- 2 gösterge tamponu kullanılır
#property indicator_buffers 2
//---- 2 grafik çizimi kullanılır
#property indicator_plots   2
//+----------------------------------------------+
//| Ayı göstergesi seçenekleri |
//+----------------------------------------------+
//---- çizim türü ok olarak
#property indicator_type1   DRAW_ARROW
//---- Macenta rengi
#property indicator_color1  Magenta
//---- Satır genişliği
#property indicator_width1  1
//---- Destek etiketi
#property indicator_label1  "Support"
//+----------------------------------------------+
//| Boğa göstergesi seçenekleri |
//+----------------------------------------------+
//---- çizim türü ok olarak
#property indicator_type2   DRAW_ARROW
//---- Kireç rengi
#property indicator_color2  Lime
//---- Satır genişliği
#property indicator_width2  1
//---- Direnç etiketi
#property indicator_label2 "Resistance"

//+----------------------------------------------+
//| Gösterge giriş parametreleri |
//+----------------------------------------------+
//input int iPeriod=70; // ATR dönemi
//+----------------------------------------------+

//---- gösterge tamponları olarak kullanılan dinamik dizilerin bildirimi
double SellBuffer[];
double BuyBuffer[];
//---
int StartBars;
int FRA_Handle;
//+------------------------------------------------------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- global değişkenlerin başlatılması
   StartBars=6;
//---- iFractals göstergesinin tutamacını alın
   FRA_Handle=iFractals(NULL,0);
   if(FRA_Handle==INVALID_HANDLE)Print(" INVALID_HANDLE FRA");

//---- SellBuffer'ı gösterge tamponu olarak ayarla
   SetIndexBuffer(0,SellBuffer,INDICATOR_DATA);
//---- çizilecek başlangıç çubuğunun indxex'ini ayarla
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,StartBars);
//---- destek için etiket ayarla
   PlotIndexSetString(0,PLOT_LABEL,"Support");
//---- ok karakter kodunu ayarla
   PlotIndexSetInteger(0,PLOT_ARROW,159);
//---- indekslemeyi zaman serisi olarak ayarla
   ArraySetAsSeries(SellBuffer,true);

//---- BuyBuffer'ı bir gösterge tamponu olarak ayarlayın
   SetIndexBuffer(1,BuyBuffer,INDICATOR_DATA);
//---- çizilecek başlangıç çubuğunun indeksini ayarla
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,StartBars);
//--- direnç için etiket ayarla
   PlotIndexSetString(1,PLOT_LABEL,"Resistance");
//---- ok karakter kodunu ayarla
   PlotIndexSetInteger(1,PLOT_ARROW,159);
//---- indekslemeyi zaman serisi olarak ayarlayın
   ArraySetAsSeries(BuyBuffer,true);

//---- hassasiyeti ayarla
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//---- gösterge kısa adı
   string short_name="Support & Resistance";
   IndicatorSetString(INDICATOR_SHORTNAME,short_name);
//---- 
  }
//+------------------------------------------------------------------+
//| Özel gösterge yineleme işlevi|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]
                )
  {
//---- çubukların kontrolü
   if(BarsCalculated(FRA_Handle)<rates_total
      || rates_total<StartBars)
      return(0);

//---- yerel değişkenlerin bildirimi
   int to_copy,limit,bar;
   double FRAUp[],FRALo[];

//---- kopyalanacak çubukların hesaplanması
//---- ve çubukların yeniden hesaplanması döngüsü için başlangıç indeksi (limit)
   if(prev_calculated>rates_total || prev_calculated<=0)// ilk çağrıyı kontrol etmek
     {
      to_copy=rates_total;           // kopyalanacak çubuklar
      limit=rates_total-StartBars-1; // başlangıç indeksi
     }
   else
     {
      to_copy=rates_total-prev_calculated+3; // kopyalanacak çubuklar
      limit=rates_total-prev_calculated+2;   // başlangıç indeksi
     }

//---- indekslemeyi zaman serisi olarak ayarla
   ArraySetAsSeries(FRAUp,true);
   ArraySetAsSeries(FRALo,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);

//---- gösterge verilerini dizilere kopyalama
   if(CopyBuffer(FRA_Handle,0,0,to_copy,FRAUp)<=0) return(0);
   if(CopyBuffer(FRA_Handle,1,0,to_copy,FRALo)<=0) return(0);
 
//---- ana döngü
   for(bar=limit; bar>=0; bar--)
     {
       BuyBuffer[bar] = 0.0;
       SellBuffer[bar] = 0.0;
       
     
       if(FRAUp[bar] != DBL_MAX) BuyBuffer[bar] = high[bar]; else BuyBuffer[bar] = BuyBuffer[bar+1];
       
       
       if(FRALo[bar] != DBL_MAX) SellBuffer[bar] = low[bar]; else SellBuffer[bar] = SellBuffer[bar+1];
     }
//---- 
   return(rates_total);
  }
//+------------------------------------------------------------------+