public override void HandleNextTick(Tick t) { double emaVal = EMA.HandleNextTick(t); LRValues.Enqueue(emaVal); double[] Y = LRValues.ToArray(); double stdErr = 0; if (Y.Count() == X.Length) { Vector x_data = new Vector(X); Vector y_data = new Vector(LRValues.ToArray()); var poly = new PolynomialRegression(x_data, y_data, 2); for (int i = 0; i < Period; i++) { double x = (i); double y = poly.Fit(x); stdErr += Math.Pow(LRValues.ToArray()[i] - y, 2); } stdErr = Math.Sqrt(stdErr); } HighData.Enqueue(EMA[0] + STDEV * stdErr); MiddleData.Enqueue(EMA[0]); LowData.Enqueue(EMA[0] - STDEV * stdErr); }
public override void HandleNextTick(Tick t) { MiddleData.Enqueue(MIDDLE.HandleNextTick(t)); var stdev = MIDDLE.ToArray().StandardDeviation(); HighData.Enqueue(MIDDLE[0] + stdev * 2); LowData.Enqueue(MIDDLE[0] - stdev * 2); }
public void JsonLowDataSet() { //Debug.Log(TextJsonDic.Count + " | " + file_count); if ((TextJsonDic.Count == file_count) && isLoad == false) { AssetDownLoad.instance.SetLocaclVersionInfo(); TextureDownLoad.instance.SetLocaclVersionInfo(); LowData.LoadLowDataALL(); isDownloadCheck = true; //TempUtil.StartCoroutine( JsonAllLoader() ); //if (!GameDefine.DownloadJson) // AssetDownLoad.instance.Local_LoadAssetFileCo(); } }
public void JsonLowDataSet() { Debug.Log(TextJsonDic.Count + " | " + file_count); if ((TextJsonDic.Count == file_count) && isLoad == false) { AssetDownLoad.instance.SetLocaclVersionInfo(); LowData.LoadLowDataALL(); isLoad = true; if (!GameDefine.DownloadJson) { AssetDownLoad.instance.Local_LoadAssetFileCo(); } } }
public override void HandleNextTick(Tick t) { double emaVal = EMA.HandleNextTick(t); LRValues.Enqueue(emaVal); double[] Y = LRValues.ToArray(); LinearRegression l = new LinearRegression(); l.Model(Y); HighData.Enqueue(EMA[0] + STDEV * l.STDERR); MiddleData.Enqueue(EMA[0]); LowData.Enqueue(EMA[0] - STDEV * l.STDERR); }
IEnumerable <float> CalcPatternsCore(string methodName) { using (Py.GIL()) { dynamic np = Py.Import("numpy"); dynamic ta = Py.Import("talib._ta_lib"); dynamic npopen = np.array(OpenData.Select(x => (float)x).ToList()); dynamic npclose = np.array(CloseData.Select(x => (float)x).ToList()); dynamic nphigh = np.array(HighData.Select(x => (float)x).ToList()); dynamic nplow = np.array(LowData.Select(x => (float)x).ToList()); IEnumerable <float> result = ta.CDL3OUTSIDE(npopen, nphigh, nplow, npclose).AsManagedObject(typeof(float[])); var val = result.FirstOrDefault(x => x != 0); return(result); } }
public double LOW(int index) { return((LowData.Count > index) ? LowData.ToArray()[LowData.Count - index - 1] : double.NaN); }