23.07.2024
0
0
0
0
Grid Trading için ATR ve normalize edilmiş ATR sıralaması yapar.
using System;
using System.Collections.Generic;
using System.Linq;
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 nATRVEATRSIRALAMATARAMASI : Explorer
	{

		ATR atrDK, atr5DK, atr60DK, atr240DK, atrDAY, atrWEEK;
		public override void OnInit()
		{
			atrDK = ATRIndicator(Symbol, SymbolPeriod, OHLCType.Close, 14);


			atr5DK = ATRIndicator(Symbol, SymbolPeriod.Min5, OHLCType.Close, 14);


			atr60DK = ATRIndicator(Symbol, SymbolPeriod.Min60, OHLCType.Close, 14);


			atr240DK = ATRIndicator(Symbol, SymbolPeriod.Min240, OHLCType.Close, 14);


			atrDAY = ATRIndicator(Symbol, SymbolPeriod.Day, OHLCType.Close, 14);


			atrWEEK = ATRIndicator(Symbol, SymbolPeriod.Week, OHLCType.Close, 14);


		
			AddColumns(13);
			
			SetColumnText(0, "  Fiyat  ");
			SetColumnText(1, "nATR - Period");
			SetColumnText(2, "ATR - Period");
			SetColumnText(3, "nATR - 5DK");
			SetColumnText(4, "ATR - 5DK");
			SetColumnText(5, "nATR - 60DK");
			SetColumnText(6, "ATR - 60DK");
			SetColumnText(7, "nATR - 240DK");
			SetColumnText(8, "ATR - 240DK");
			SetColumnText(9, "nATR - DAY");
			SetColumnText(10, "ATR - DAY");
			SetColumnText(11, "nATR - WEEK");
			SetColumnText(12, "ATR - WEEK");
		}
		public override bool OnExplorer(List<BarDataEventArgs> bardatas)
		{
			var cDK = GetSelectedValueFromBarData(GetBarData(Symbol, SymbolPeriod), OHLCType.Close);
			var c5DK = GetSelectedValueFromBarData(GetBarData(Symbol, SymbolPeriod.Min5), OHLCType.Close);
			var c60DK = GetSelectedValueFromBarData(GetBarData(Symbol, SymbolPeriod.Min60), OHLCType.Close);
			var c240DK = GetSelectedValueFromBarData(GetBarData(Symbol, SymbolPeriod.Min240), OHLCType.Close);
			var cDAY = GetSelectedValueFromBarData(GetBarData(Symbol, SymbolPeriod.Day), OHLCType.Close);
			var cWEEK = GetSelectedValueFromBarData(GetBarData(Symbol, SymbolPeriod.Week), OHLCType.Close);

			var nAtrDK = ((atrDK.CurrentValue / cDK) * 100m);
			var nAtr5DK = ((atr5DK.CurrentValue / c5DK) * 100m);
			var nAtr60DK = ((atr60DK.CurrentValue / c60DK) * 100m);
			var nAtr240DK = ((atr240DK.CurrentValue / c240DK) * 100m);
			var nAtrGUN = ((atrDAY.CurrentValue / cDAY) * 100m);
			var nAtrWEEK = ((atrWEEK.CurrentValue / cWEEK) * 100m);

		
			SetColumn(0, cDK);
			SetColumn(1, nAtrDK);
			SetColumn(2, atrDK.CurrentValue);
			SetColumn(3, nAtr5DK);
			SetColumn(4, atr5DK.CurrentValue);
			SetColumn(5, nAtr60DK);
			SetColumn(6, atr60DK.CurrentValue);
			SetColumn(7, nAtr240DK);
			SetColumn(8, atr240DK.CurrentValue);
			SetColumn(9, nAtrGUN);
			SetColumn(10, atrDAY.CurrentValue);
			SetColumn(11, nAtrWEEK);
			SetColumn(12, atrWEEK.CurrentValue);


			return true;




		}
	}
}

0 Yorum