Trendy 31
Trendy 31
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Forms;
using System.Windows.Media;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Gui;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Gui.NinjaScript;
using NinjaTrader.Gui.SuperDom;
using NinjaTrader.Gui.Tools;
using NinjaTrader.Data;
using NinjaTrader.NinjaScript;
using NinjaTrader.Core.FloatingPoint;
using NinjaTrader.NinjaScript.Indicators;
using NinjaTrader.NinjaScript.DrawingTools;
using NinjaTrader.NinjaScript.Strategies;
#endregion
/*
Trendy v3.0 MA
Version: 3.0 Oct 19, 2024
Strategy by Khanh Nguyen
*/
namespace NinjaTrader.NinjaScript.Strategies.KCStrategies
{
public class Trendy31 : KCAlgoBase
{
// Strategy variables
private T3TrendFilter T3TrendFilter1;
private double Up;
private double Down;
if (State == State.SetDefaults)
{
Description = "Strategy based on the T3TrendFilter indicator.";
Name = "Trendy v3.1";
StrategyName = "Trendy";
Version = "3.1 Nov. 2024";
Credits = "Strategy by Khanh Nguyen";
StrategySettings = "Unirenko 1-44-46";
Contracts = 1;
InitialStop = 62;
ProfitTarget = 16;
// Filter settings
Factor = 0.5;
Period1 = 1;
Period2 = 1;
Period3 = 1;
Period4 = 1;
Period5 = 9;
}
else if (State == State.DataLoaded)
{
InitializeIndicators();
}
}
base.OnBarUpdate();
}
#region Indicators
protected override void InitializeIndicators()
{
// Initialize the T3TrendFilter indicator
T3TrendFilter1 = T3TrendFilter(Close, Factor, Period1, Period2,
Period3, Period4, Period5, false);
AddChartIndicator(T3TrendFilter1);
}
#endregion
#region Properties
[NinjaScriptProperty]
[Display(Name = "Factor", Order = 1, GroupName = "04. Filters Settings -
T3TrendFilter")]
public double Factor { get; set; }
[NinjaScriptProperty]
[Display(Name = "Period1", Order = 2, GroupName = "04. Filters Settings -
T3TrendFilter")]
public int Period1 { get; set; }
[NinjaScriptProperty]
[Display(Name = "Period2", Order = 3, GroupName = "04. Filters Settings -
T3TrendFilter")]
public int Period2 { get; set; }
[NinjaScriptProperty]
[Display(Name = "Period3", Order = 4, GroupName = "04. Filters Settings -
T3TrendFilter")]
public int Period3 { get; set; }
[NinjaScriptProperty]
[Display(Name = "Period4", Order = 5, GroupName = "04. Filters Settings -
T3TrendFilter")]
public int Period4 { get; set; }
[NinjaScriptProperty]
[Display(Name = "Period5", Order = 6, GroupName = "04. Filters Settings -
T3TrendFilter")]
public int Period5 { get; set; }
#endregion
}
}