Привет всем. Кто может подсказать в чем проблема при тестировании стратегии не отображается индикатор прописанный в коде.
Индикатор основывается на данных тикреплея, при обычном использовании на графике все работает. В коде стратегии использовал такой код(взял из хелпа)
т.е. чтобы индикатор получил тиковые данные он должен быть создан когда загрузились данные на график, в момент State.DataLoaded.
код компилится, но при тесте на графике индикатор не показывает данные, как будто тикреплей не сработал. если я просто в том же окне тестера кину этот же индикатор на график то он покажет все замечательно.
Что я делаю не так???
Индикатор основывается на данных тикреплея, при обычном использовании на графике все работает. В коде стратегии использовал такой код(взял из хелпа)
Код:
namespace NinjaTrader.NinjaScript.Strategies
{
public class MyCustomStrategy : Strategy
{
private GomDeltaVolume gomDeltaVol;
private double filter, multipler;
private int period;
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Description = @"Enter the description for your new custom Strategy here.";
Name = "MyCustomStrategy";
Calculate = Calculate.OnBarClose;
EntriesPerDirection = 1;
EntryHandling = EntryHandling.AllEntries;
IsExitOnSessionCloseStrategy = true;
ExitOnSessionCloseSeconds = 30;
IsFillLimitOnTouch = false;
MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix;
OrderFillResolution = OrderFillResolution.Standard;
Slippage = 0;
StartBehavior = StartBehavior.WaitUntilFlat;
TimeInForce = TimeInForce.Gtc;
TraceOrders = true;
RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose;
StopTargetHandling = StopTargetHandling.PerEntryExecution;
BarsRequiredToTrade = 20;
// Disable this property for performance gains in Strategy Analyzer optimizations
// See the Help Guide for additional information
IsInstantiatedOnEachOptimizationIteration = true;
multipler = 0.5;
period = 1;
}
else if (State == State.Configure)
{
AddChartIndicator(SMA(14));
}
else if(State == State.DataLoaded)
{
gomDeltaVol = GomDeltaVolume(multipler);
AddChartIndicator(gomDeltaVol);
}
}
protected override void OnBarUpdate()
{
if (CurrentBar < BarsRequiredToTrade)
return;
}
}
код компилится, но при тесте на графике индикатор не показывает данные, как будто тикреплей не сработал. если я просто в том же окне тестера кину этот же индикатор на график то он покажет все замечательно.
Что я делаю не так???