public EtcsBrakingData() { Input = new InputData(); Middle = new MiddleData(); Output = new OutputData(); Params = new ConstantData(); }
public EtcsBrakingData() { Input = new InputData(); Middle = new MiddleData(); Output = new OutputData(); Params = new ConstantData(); }
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 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); }
/// <summary> /// 初始化内部通信 /// </summary> /// <param name="Ip"></param> /// <param name="Port"></param> /// <param name="MiddleData"></param> protected virtual void InitInternalSocket(string Ip, int Port, SocketMiddleData MiddleData) { if (CallHandle == null) { CallHandle = new CallHandle(); } AsyncTcpClient ClientAsnyc = SocketFactory.CreateClient <AsyncTcpClient, SocketPacket>(Ip, Port); if (!ClientPath.IsNullOrEmpty() && ClientPort.HasValue) { ClientAsnyc.LocalEndPoint = new IPEndPoint(IPAddress.Parse(ClientPath), ClientPort.Value); } ClientAsnyc.Connect(out bool Connect); Call.SocketClient = ClientAsnyc; ClientAsnyc.PacketReceive = (Client, Data) => { DependencyCondition Instance = DependencyCondition.Instance; if (Instance.ExecuteIsCall(Data) != SendTypeEnum.CallBack) { var MiddleData = Instance.ExecuteMapper(Data); if (Client.IsConnected) { Call.CallBackHandler(MiddleData, CallHandle); } } else { Instance.ExecuteCallData(Data); } }; ClientAsnyc.ClientError = (Client, Error) => { DependencyError.Instance.ExecuteRecordLog(Error); }; if (MiddleData.SendType == SendTypeEnum.Init) { ClientAsnyc.Send(MiddleData.ToJson()); } }
public double MID(int index) { return((MiddleData.Count > index) ? MiddleData.ToArray()[MiddleData.Count - index - 1] : double.NaN); }