Code (built using the conditional wizard) is provided below for reference. Assistance is greatly appreciated.
# Part of this code has been removed due to length restrictions. public class AroonOsc : Strategy { #region Variables // Wizard generated variables private int oB = 80; // Default setting for OB // User defined variables (add any user defined variables below) #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() { // Condition set 1 if (Position.MarketPosition == MarketPosition.Flat && CrossBelow(AroonOscillator(14), OB, 1)) { EnterShort(DefaultQuantity, ""); } } #region Properties [Description("Overbought")] [GridCategory("Parameters")] public int OB { get { return oB; } set { oB = Math.Max(1, value); } } #endregion } } #region Wizard settings, neither change nor remove /*@ <?xml version="1.0" encoding="utf-16"?> <NinjaTrader> <Name>AroonOsc</Name> <CalculateOnBarClose>True</CalculateOnBarClose> <Description> </Description> <Parameters> <Parameter> <Default1> </Default1> <Default2>80</Default2> <Default3> </Default3> <Description>Overbought</Description> <Minimum>1</Minimum> <Name>OB</Name> <Type>int</Type> </Parameter> </Parameters> <State> <CurrentState> <StrategyWizardState xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>Flat</Name> <Sets> <StrategyWizardStateSet> <Actions> <StrategyWizardAction> <DisplayName>Enter short position</DisplayName> <Help /> <MemberName>EnterShort</MemberName> <Parameters> <string>quantity</string> <string>signalName</string> </Parameters> <Values> <string>DefaultQuantity</string> <string /> </Values> <WizardItems> <StrategyWizardItem> <DisplayName>DefaultQuantity</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>true</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName>DefaultQuantity</MemberName> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> <StrategyWizardItem> <DisplayName /> <IsIndicator>false</IsIndicator> <IsInt>false</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName /> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> </WizardItems> </StrategyWizardAction> </Actions> <Conditions> <StrategyWizardCondition> <AndOr>And</AndOr> <Left> <DisplayName>Current market position</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>false</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName>Position.MarketPosition</MemberName> <Parameters /> <Values /> <WizardItems /> </Left> <LookBackPeriod>1</LookBackPeriod> <Operator>==</Operator> <Right> <DisplayName>Flat</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>false</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName>MarketPosition.Flat</MemberName> <Parameters /> <Values /> <WizardItems /> </Right> </StrategyWizardCondition> <StrategyWizardCondition> <AndOr>And</AndOr> <Left> <DisplayName>AroonOscillator</DisplayName> <IsIndicator>true</IsIndicator> <IsInt>false</IsInt> <IsMethod>true</IsMethod> <IsSet>true</IsSet> <MemberName>AroonOscillator</MemberName> <Parameters> <string> inputSeries</string> <string>Period</string> <string> barsAgo</string> <string> offsetType</string> <string> offset</string> <string> plotOnChart</string> </Parameters> <Values> <string>DefaultInput</string> <string>14</string> <string>0</string> <string>NinjaTrader.Strategy.CalculationMode.Ticks</string> <string>0</string> <string>False</string> </Values> <WizardItems> <StrategyWizardItem> <DisplayName>DefaultInput</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>false</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName>DefaultInput</MemberName> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> <StrategyWizardItem> <DisplayName>14</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>true</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName>14</MemberName> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> <StrategyWizardItem> <DisplayName> barsAgo</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>true</IsInt> <IsMethod>false</IsMethod> <IsSet>false</IsSet> <MemberName>0</MemberName> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> <StrategyWizardItem> <DisplayName /> <IsIndicator>false</IsIndicator> <IsInt>false</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName /> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> <StrategyWizardItem> <DisplayName> offset</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>true</IsInt> <IsMethod>false</IsMethod> <IsSet>false</IsSet> <MemberName>0</MemberName> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> <StrategyWizardItem> <DisplayName /> <IsIndicator>false</IsIndicator> <IsInt>false</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName /> <Parameters /> <Values /> <WizardItems /> </StrategyWizardItem> </WizardItems> </Left> <LookBackPeriod>1</LookBackPeriod> <Operator>CrossBelow</Operator> <Right> <DisplayName>OB</DisplayName> <IsIndicator>false</IsIndicator> <IsInt>true</IsInt> <IsMethod>false</IsMethod> <IsSet>true</IsSet> <MemberName>OB</MemberName> <Parameters /> <Values /> <WizardItems /> </Right> </StrategyWizardCondition> </Conditions> </StrategyWizardStateSet> </Sets> <StopTargets /> </StrategyWizardState> </CurrentState> </State> </NinjaTrader> @*/ #endregion
Comment