#region Using declarations using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Xml.Serialization; using NinjaTrader.Cbi; using NinjaTrader.Data; using NinjaTrader.Indicator; using NinjaTrader.Gui.Chart; using NinjaTrader.Strategy; #endregion // This namespace holds all strategies and is required. Do not change it. namespace NinjaTrader.Strategy { /// <summary> /// Enter the description of your strategy here /// </summary> [Description("Enter the description of your strategy here")] public class FTRUniversal : Strategy { #region Variables private UniversalMovingAverage matype = UniversalMovingAverage.SMA; private int period = 14; #endregion /// <summary> /// This method is used to configure the strategy and is called once before any strategy method is called. /// </summary> protected override void Initialize() { CalculateOnBarClose = true; } /// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { switch (matype) { case _UniversalMovingAverageEnums.UniversalMovingAverage.HMA: { //set stop loss based on HMA value SetStopLoss(HMA(20)); } } } #region Properties // Creates the user definable parameter for the moving average type. [Description("Choose a Moving Average type.")] [Category("Parameters")] public UniversalMovingAverage MAType { get { return matype; } set { matype = value; } } [Description("Numbers of bars used for calculations")] [Category("Parameters")] public int Period { get { return period; } set { period = Math.Max(1, value); } } #endregion } } namespace _UniversalMovingAverageEnums { public enum UniversalMovingAverage { EMA, HMA, SMA, WMA } }
Announcement
Collapse
Looking for a User App or Add-On built by the NinjaTrader community?
Visit NinjaTrader EcoSystem and our free User App Share!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less
Partner 728x90
Collapse
NinjaTrader
Enum Declarations
Collapse
X
-
I've deleted the sample reference indicator which had the same name in the global namespace and added the changes but still have some compile errors.
Code:
-
Hello brucelevy,
Thanks for your reply.
Please use the HMA overload that includes the bars ago reference:
SetStopLoss(HMA(20)[0]);
Additionally, you need to call UniversalMovingAverage from the _UniversalMovingAverageEnums namespace where it resides like so:
public _UniversalMovingAverageEnums.UniversalMovingAverag e matype = _UniversalMovingAverageEnums.UniversalMovingAverag e.SMA;
the same in your case:
case _UniversalMovingAverageEnums.UniversalMovingAverag e.HMA:
{
SetStopLoss(HMA(20)[0]);
break;
}
You will need to include the break after all necessary actions are executed so that control can be transferred outside of the switch statement or to another case label.
Please let me know if I may be of any further assistance.Alan S.NinjaTrader Customer Service
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by andrewtrades, Today, 04:57 PM
|
1 response
5 views
0 likes
|
Last Post Today, 05:02 PM | ||
Started by chbruno, Today, 04:10 PM
|
0 responses
3 views
0 likes
|
Last Post
by chbruno
Today, 04:10 PM
|
||
Started by josh18955, 03-25-2023, 11:16 AM
|
6 responses
436 views
0 likes
|
Last Post
by Delerium
Today, 03:42 PM
|
||
Started by FAQtrader, Today, 03:35 PM
|
0 responses
7 views
0 likes
|
Last Post
by FAQtrader
Today, 03:35 PM
|
||
Started by rocketman7, Today, 09:41 AM
|
5 responses
19 views
0 likes
|
Last Post Today, 03:33 PM |
Comment