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.

0

Get Heikin Ashi sorunu - Renko Bar

Soruldu
Görüntülenme
1.221 görüntülenme
Durum
Cevaplandı
3 Konuda yardıma ihtiyacım oldu yardımcı olursanız sevinirim;

1 - İQ Algoritma sihirbazı ile oluşturduğum stratejiye sizin verdiğiniz satırları ekledim; sembol ve sembol period geçerli olmayan tür ögesi hatası verdi.

error CS0119: 'SymbolPeriod' verilen bağlamda geçerli olmayan bir tür öğesidir8345
error CS0119: 'Symbol' verilen bağlamda geçerli olmayan bir tür öğesidir8414

2 - İQ Algo da  (Algoritma sihirbazı ile oluşturduklarımda ) Renko Bar kullanabilmek için ne yapmalıyım

örneğin mum yeşil kapatırsa al, kırmızı kapatırsa sat a dön gibi

3- İQ Algo da 3 Dakikalık period kullanabilirmiyim
Paylaş

1 Cevap

0

Merhabalar,

1 - İQ Algoritma sihirbazı ile oluşturduğum stratejiye sizin verdiğiniz satırları ekledim; sembol ve sembol period geçerli olmayan tür ögesi hatası verdi.

Kullandığınız algoritmada kayıtlı olan sembol muhtemelen SYMBOL1,SYMBOLPERİOD1 isimli kullanılıyordur. 1 rakamını silerseniz hata kalkacaktır.

2 - İQ Algo da  (Algoritma sihirbazı ile oluşturduklarımda ) Renko Bar kullanabilmek için ne yapmalıyım
örneğin mum yeşil kapatırsa al, kırmızı kapatırsa sat a dön gibi

IQ'da maalesef renko barlar kullanılmamaktadır.

3- İQ Algo da 3 Dakikalık period kullanabilirmiyim

Evet kullanabilirsiniz.

Lütfen aşağıdaki örneği inceleyiniz.

using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using Matriks.Engines;
using Matriks.Indicators;
using Matriks.Symbols;
using Matriks.AlgoTrader;
using Matriks.Trader.Core;
using Matriks.Trader.Core.Fields;
using Matriks.Trader.Core.TraderModels;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Lean.Algotrader.Trading;

namespace Matriks.Lean.Algotrader
{
	public class SablonNDakika : MatriksAlgo
	{
		// Strateji çalıştırılırken kullanacağımız parametreler. Eğer sembolle ilgili bir parametre ise,
		// "SymbolParameter" ile, değilse "Parameter" ile tanımlama yaparız. Parantez içindeki değerler default değerleridir.

		[SymbolParameter("GARAN")]
		public string Symbol;

		[Parameter(SymbolPeriod.Day)]
		public SymbolPeriod SymbolPeriod;

		[Parameter(1)]
		public decimal BuyOrderQuantity;

		[Parameter(1)]
		public decimal SellOrderQuantity;

		[Parameter(3)]
		public int Period;

		[Parameter(2)]
		public decimal Percentage;

		[Parameter(2)]
		public int NBar;


		MOST most;

		public override void OnInit()
		{

			PeriodInfo NBarPeriod = new PeriodInfo(PeriodType.Minute, NBar);

			most = MOSTIndicator(Symbol, NBarPeriod, OHLCType.Close, Period, Percentage, MovMethod.Exponential);

			AddSymbol(Symbol, NBarPeriod);

			// Algoritmanın kalıcı veya geçici sinyal ile çalışıp çalışmayacağını belirleyen fonksiyondur.
			// true geçerseniz algoritma sadece yeni bar açılışlarında çalışır, bu fonksiyonu çağırmazsanız veya false geçerseniz her işlem olduğunda algoritma tetiklenir.
			WorkWithPermanentSignal(true);

			//Eger backtestte emri bir al bir sat seklinde gonderilmesi isteniyor bu true set edilir. 
			//Alttaki satırı silerek veya false geçerek emirlerin sirayla gönderilmesini engelleyebilirsiniz. 
			SendOrderSequential(true);
		}


		/// <summary>
		/// Eklenen sembollerin bardata'ları ve indikatorler güncellendikçe bu fonksiyon tetiklenir. 
		/// </summary>
		/// <param name="barData">Bardata ve hesaplanan gerçekleşen işleme ait detaylar</param>
		public override void OnDataUpdate(BarDataEventArgs barData)
		{
			if (CrossAbove(most.ExMOV, most))
			{
				SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
				Debug("Alış emri verildi.");
				Debug("Most.ExMov:" + most.ExMOV.CurrentValue);
				Debug("Most:" + most.CurrentValue);
			}
			if (CrossBelow(most.ExMOV, most))
			{
				SendMarketOrder(Symbol, SellOrderQuantity, (OrderSide.Sell));
				Debug("Satış emri verildi.");
				Debug("Most.ExMov:" + most.ExMOV.CurrentValue);
				Debug("Most:" + most.CurrentValue);
			}
		}

		/// <summary>
		/// Strateji durdurulduğunda bu fonksiyon tetiklenir.
		/// </summary>
		public override void OnStopped()
		{
		}
	}
}

İyi çalışmalar.

BağlantıBayraklaasiyangMatriks Destek11.113

Yorumlar (2)

  • ▲0

    Cevaplarınız için çok sağolun. Söylediklerinizi  uyguladım fakat sonuç alamadım.

    Şöyleki ;

    Sayfada ki tüm SYMBOL ve SYMBOLPERİOD ların sonunda ki 1 leri dediğiniz gibi sildim kodu derledim hata vermedi fakat Bactest ve Backtest optimizasyonu yapmadı ekteki hatayı verdi.

    Farklı olarak ben de GetHeikinAshiPeriodInfo() fonksiyonunda ki seymbol ve symbolperiod ların sonuna 1 ekledim, yine hata verdi.

    Aynı zamanda Barları grafikte göster seçeneğinden kontrol ettim Barlar Hekin e dönmemiş normal bar olarak işlem yapıyor ve backtest yada optimizasyonu yapmıyor

    Aslına istediğim oldukça basit bir kod ben beceremedim , derleme imkanınız olursa çok sevinirim şimdiden sağolun.

    --

    3 dakikalık periodda 

    Hekin Ashi barlarda

    wma 8 in kapanış değeri

    wma 8 in açılış değerini 

    yukarı kestiğin de alsın, aşağı kestiğinde satsın

    kaldıraç 3 

    kaldıraçlı işlem seçeneği isolated

    ve her seferinde bakiyenin % 10 'u kadarı ile işlem açsın  

     

  • ▲0
    Merhabalar,

    Yazdığınız kodu paylaşabilirseniz üzerinde derleme yapıp yardımcı olmaya çalışalım.

    İyi çalışmalar.

Cevabınız

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