コード例 #1
0
        public override void Init()
        {
            barData = this.HistoryDataSeries as BarData;

            HistoricalDataManager.OnLoaded = (data) =>
            {
                if (data.Count > period * 2)
                {
                    for (int i = period * 6; i >= 0; i--)
                    {
                        ohlc.Insert(0, new OHLCV(data as BarData, i));
                    }

                    var methodArguments = new PythonCallerArgs();

                    methodArguments.SetPeriodArg(period);

                    methodArguments.SetArg(ohlc);

                    var pyCaller = new PythonCaller(module_name);

                    Dictionary <string, List <double> > resultJson = pyCaller.CallClassMethod(class_name, def_name, methodArguments);

                    var result = resultJson["result"];

                    result = result.Where(x => !Double.IsNaN(x)).ToList();

                    for (int i = 0; i < result.Count; i++)
                    {
                        Lines[0].SetValue(result[i], i);
                    }
                }
            };
        }