Matriks Destek ve Yardım Platformu

Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.

1

Heiken Ashi'nin daha önceki kapanış değerleri ile kıyaslama nasıl yapılır

Soruldu
Görüntülenme
1.316 görüntülenme
Durum
Cevaplandı
Merhaba

Matriks IQ'da Heikin Ashi için bir hazır strateji bulunuyor. Burada güncel bar için HA_Open, Ha_Close, vs hesaplanmış. Benim ihtiyacım olan HA_Close'un daha önceki barlardaki değerleri ile şimdiki değerini kıyaslamak. Bu parametre bir indikatör ya da bar değeri olmadığından Ref() fonksiyonu bir işe yaramıyor. Bunu nasıl yapabilirim?
Paylaş

1 Cevap

2

Merhabalar,

Yazmak istediğiniz sistemi Heikin Ashi değilmiş gibi oluşturunuz. 

Daha sonra stratejinizin OnInit() methodu içerisine, aşağıdaki satırları ekleyiniz.

			var periodInfo = GetHeikinAshiPeriodInfo(SymbolPeriod);
			AddSymbol(Symbol, periodInfo);

Eğer kullandığınız bir indikatör var ise de, indikatör içerisinde bulunan SymbolPeriod kelimesini periodInfo kelimesi ile değiştiriniz.

(Aşağıdaki gibi.)

mov = MOVIndicator(Symbol, periodInfo, OHLCType.Close, 5, MovMethod.Exponential);

Daha sonra sistemi çalıştırabilirsiniz.

Sisteminiz Heikin Ashi'ye dönmüş olacaktır.

İyi çalışmalar.

BağlantıBayraklaasiyangMatriks Destek11.113

Yorumlar (3)

  • ▲0
    Evet ama böyle yapınca tüm indikatörler, hatta alış satış fiyatı gerçek bar değerlerine göre değil Heiken Ashi bar değerlerine göre olmuyor mu?

    Benim amacım gerçek bar değerleri ile başka koşullar bulundurup, bunların yanında Heiken Ashi değerleri ile ile ek koşullar koymak.

    Teşekkürler.
  • ▲1

    Merhabalar,

    Aşağıdaki gibi bir tanımlama yapabilirsiniz.

    PeriodInfo periodInfo;
    		
    		public override void OnInit()
    		{
    			periodInfo = GetHeikinAshiPeriodInfo(SymbolPeriod);
    			AddSymbol(Symbol, periodInfo);
    			AddSymbol(Symbol,SymbolPeriod);

    Bu tanımlamadan sonra OnDataUpdate() içerisinde,

    Heikin olarak çekmek istediğiniz barları Symbol,periodInfo yazarak, standart data çekmek isterseniz de Symbol ve SymbolPeriod yazarak işlem yapabilirsiniz.

    public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
    		{
    			var barData = GetBarData(Symbol,SymbolPeriod);
    			var close = GetSelectedValueFromBarData(barData,OHLCType.Close,1);
    			
    			var barData1 = GetBarData(Symbol,periodInfo);
    			var close1 = GetSelectedValueFromBarData(barData1,OHLCType.Close,1);

    İyi çalışmalar.

  • ▲0

    Bu konutlar sizin söylediğiniz gibi çalışmıyor. Resimde console ekranını görebilirsiniz. Normal barlarım 60 dakikalık. Heikin periyodu da aynı geliyor sizin bahsettiğiniz komuttan. Yani (periodInfo = SymbolPeriod)

    Ayrıca bu nedenle kapanış değerleri de hem Heikin barlarında hem normal barlarda aynı geliyor. Benim yapmak istediğim normal barlara göre hesaplanmış bazı indikatörlerden türettiğim koşullar ile Heikin barlarında mevcut barın yükseğinin son iki barın yükseğinden büyük olması koşulunu eklemek. Düşükler için de benzer bir yöntem kullanıyorum.

    Tradingview'da kullandığım kod şöyle:

    //

    hahigh = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, high)
    halow = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, low)

    BuyCondition = hahigh > math.max(hahigh[1],hahigh[2]) and (TenkanSen>=KijunSen) ..... 

    BuyFlatCondition = halow < math.min(halow[1],halow[2]) and TenkanSen<KijunSen .....

     

Cevabınız

Cevap yazmak için giriş yapın.Giriş yapKayıt ol