Ideali ilk duydugumdan beri takip ediyorum ve forumda ki tum sayfalari okudum yabanci kaynaklari da takip ediyorum ama daha once kod yazma deneyimim olmamisti.IdealTrade yetkilisi arkadas veya forumda kod konusunda tecrubeli arkadaslar umarim bu konuda yardimci olabilirler.
Idealin sisteminde ki bir koddan yararlanmaya calistim.MACD histogram; MACD(12,26) 9 gunluk agirlikli hareketli ortalamasindan bulunan sinyal cizgisi ile calisiyor.
MACD Line: (12-day EMA - 26-day EMA)
Signal Line: 9-day EMA of MACD Line
MACD Histogram: MACD Line - Signal Line
Daha sonra bu histogram Elder impulse sistem'de kullaniliyor.
Yesil cubuk: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Kirmizi cubuk: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Mavi cubuk( diger iki secenek soz konusuo lmadiginda).
The MACD-Histogram is based on MACD(12,26,9).
Sistemde "var MACD = Sistem.MACD (Veriler,12,26)" olan formul MACD histogram icin mi var ? Oyleyse bunu kullanarak nasil histogram cizdirebilirim ? Iki parametrenin farkini nasil alabilirim ve bunu nasil grafige donusturebilirm ? Yardimci olabilecek arkadaslara simdiden tesekkurler..
// parametreleri al
var Param1 = Sistem.Parametreler[0];
var Param2 = Sistem.Parametreler[1];
var Param3 = Sistem.Parametreler[2];
var Param4 = Sistem.Parametreler[3];
// hesapla
var MACD = Sistem.MACD (Param1, Param2);
// ortalama
var AVR = Sistem.MA(MACD, "Exp", 9);
// histogram
var MACDHist = Sistem.MACD (MACD, AVR);
// hesaplanan verileri çizgilere aktar ve açıklama ekle
Sistem.Cizgiler[0].Deger = MACD;
Sistem.Cizgiler[0].Aciklama = "MACD";
Sistem.Cizgiler[1].Deger = AVR;
Sistem.Cizgiler[1].Aciklama = "AVR";
Sistem.Cizgiler[3].Deger = "MACDHist";
Sistem.Cizgiler[3].Aciklama = "MACDHist";
// strateji
Sistem.KesismeTara(MACD, AVR);Teşekkürler TiberiusKod:var V = Sistem.GrafikVerileri; var C = Sistem.GrafikFiyatOku(V, "Kapanis"); var EMA = Sistem.MA(C, "Exp", 13); var MACD = Sistem.MACD(12, 26); var SIGNAL = Sistem.MA(MACD, "Exp", 10); var HISTOGRAM = Sistem.Liste(0); for (var i = 1; i < V.Count; i++) HISTOGRAM[i] = MACD[i] - SIGNAL[i]; // strateji var SonYon = ""; for (int i = 1; i < V.Count; i++) { if (SonYon != "A" && EMA[i] > EMA[i - 1] && HISTOGRAM[i] > HISTOGRAM[i - 1]) // Alış { Sistem.Yon[i] = "A"; SonYon = Sistem.Yon[i]; } else if (SonYon != "S" && EMA[i] < EMA[i - 1] && HISTOGRAM[i] < HISTOGRAM[i - 1]) // Satış { Sistem.Yon[i] = "S"; SonYon = Sistem.Yon[i]; } } // çizdir Sistem.Cizgiler[0].Deger = MACD; Sistem.Cizgiler[1].Deger = SIGNAL; Sistem.Cizgiler[2].Deger = HISTOGRAM; Sistem.Cizgiler[3].Deger = EMA;