Originally Posted by
stradivarius
hocam adx hesabini nicin yapiyoruz. sonradan bir hesapta kullanilmamis sanki.
Renklendirme de kullanıyorduk aslında, bakın bakalım işe yarıyor mu
BB MACD (ADX ile Renklendirme)
PHP Code:
//Ayarlar
int bandperiod = 10;
int fast = 12;
int slow = 26;
float stdDevNumber = 1f;
int adxLength = 6;
float adxDiv= 6;
//Veriler
var V = Sistem.GrafikVerileri ;
var C = Sistem.GrafikFiyatOku(V, "Kapanis") ;
var H = Sistem.GrafikFiyatOku(V, "Yuksek") ;
var L = Sistem.GrafikFiyatOku(V, "Dusuk") ;
var O = Sistem.GrafikFiyatOku(V, "Acilis") ;
//İndikatörler
var ADX = Sistem.ADX(adxLength);
var MACD = Sistem.MACD(fast, slow);
//Değişkenler
var BBMACD=Sistem.Liste(0);
var Upper=Sistem.Liste(0);
var Lower=Sistem.Liste(0);
List<int> r= new List<int>( new int[C.Count] );
List<int> g= new List<int>(new int[C.Count]);
List<int> b= new List<int>(new int[C.Count]);
Color color1 = Color.Blue;
Color color2 = Color.Lime;
Color livecolor = Color.Black;
var RenkListesi = new List<Color>(new Color[C.Count] );
for (int i = slow; i < Sistem.BarSayisi; i++)
{
float adx = ADX[i]/adxDiv;
adx = Math.Min(100, adx * adx) * 0.01f;
BBMACD[i] = MACD[i]* 100;
r[i] = (int)(color1.R + (color2.R - color1.R) * adx );
g[i] = (int)(color1.G + (color2.G - color1.G) * adx );
b[i] = (int)(color1.B + (color2.B - color1.B) * adx );
RenkListesi[i] = Color.FromArgb( r[i], g[i], b[i]);
}
var EMA = Sistem.MA(BBMACD, "Exp", bandperiod);
var StdDev = Sistem.StDev(BBMACD, bandperiod);
for (int i = slow; i < Sistem.BarSayisi; i++)
{
Upper[i]= EMA[i] + StdDev[i] * stdDevNumber;
Lower[i]= EMA[i] - StdDev[i] * stdDevNumber;
}
//Çizgiler
Sistem.Cizgiler[0].Deger = BBMACD; //Panel 2
Sistem.Cizgiler[0].RenkListesi = RenkListesi;
Sistem.Cizgiler[1].Deger = Upper; //Panel 2
Sistem.Cizgiler[2].Deger = Lower; //Panel 2
https://prnt.sc/lrzl84
Yer İmleri