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

matriks IQ trend bilgisi alma

Soruldu
Görüntülenme
1.087 görüntülenme
Durum
Cevaplandı
drawthis = MyTrend(Symbol, SymbolPeriod, new DateTime(2023, 5, 2, 17, 0, 0), 36.09m, new DateTime(2023, 7, 7, 16, 0, 0), 47.57m);

 

yukarıdaki ifadede bulunan trend bilgisini kodu değiştirmeden paramtere olarak nasıl tanımlayabiliriz. yapmak istediğim backtest yapmadan önce parametreleri belirlediğimiz ekrana trend bilgisini kopya yapıştır ile girmek ve sistemin bu trend ile çalışması.
Paylaş

1 Cevap

0

Merhaba, aşağıdaki örneği inceleyebilirsiniz.

Fiyat trendin üstündeyse çalışacak bir strateji örneğidir.

Mutlaka önce deneme hesabında test ediniz.

Daha sonra gerçek hesapta ufak miktarlarla deneyiniz.

Doğru çalıştığına emin olmadan kullanmayınız.

Bir sorunuz olursa iqdestek@matriksdata.com adresine mail atabilirsiniz.

İyi çalışmalar. Kolay gelsin.

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

namespace Matriks.Lean.Algotrader
{
	public class TrendStratejisi : MatriksAlgo
	{
		[SymbolParameter("EREGL")]
			public string Symbol;

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

		[Parameter(14)]
			public int AlphatrendPeriod1;

		[Parameter(1)]
			public decimal AlphatrendCoeff1;

		[Parameter(Momentum.MFI)]
			public Momentum AlphatrendMomentum1;

		[Parameter(1)]
			public decimal OrderQuantity1;

		[Parameter(1)]
			public decimal OrderQuantity2;

		AlphaTrend alphaTrend;
		ITrend trend;

		public override void OnInit()
		{
			trend = MyTrend(Symbol, SymbolPeriod, new DateTime(2021, 12, 15, 0, 0, 0), 31.5511908802194m, new DateTime(2023, 12, 20, 0, 0, 0), 31.3618670080073m);
			alphaTrend = AlphaTrendIndicator(Symbol, SymbolPeriod, OHLCType.Close, AlphatrendPeriod1, AlphatrendCoeff1, AlphatrendMomentum1);

			SendOrderSequential(true, Side.Buy);
			WorkWithPermanentSignal(true);

			DrawTrend(trend);
		}

		public override void OnDataUpdate(BarDataEventArgs barData)
		{
			var BardataModel = GetBarData(Symbol, SymbolPeriod);

			if (barData.BarData.Close > trend.CurrentValue) // Fiyat trendin üstündeyse
			{
				if (CrossAbove(alphaTrend, alphaTrend, 1, 0))
				{
					SendMarketOrder(Symbol, OrderQuantity1, OrderSide.Buy, includeAfterSession:false);
					Debug("Alış emri gönderildi");
				}
				if (CrossBelow(alphaTrend, alphaTrend, 1, 0))
				{
					SendMarketOrder(Symbol, OrderQuantity2, OrderSide.Sell, includeAfterSession:false);
					Debug("Satış emri gönderildi");
				}
			}
		}
	}
}

 

BağlantıBayraklamuratkircaModeratör517

Cevabınız

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