public static TriggerDetail Create(bool isTriggered, DateTime triggerTime, double triggeredPrice, ActionTypeEnum tradeType) { var triggerDetail = new TriggerDetail() { IsTriggered = isTriggered, TriggerTime = triggerTime, TriggeredPrice = triggeredPrice, TradeType = tradeType }; return(triggerDetail); }
public static ROCIndicator Create(double eMA9Day, double eMA12Day, double rOCOnEMA9Day, Quote market, TriggerDetail triggerDetail) { var macd = new ROCIndicator() { ROC14Days = eMA9Day, EMA9Day = eMA12Day, ROCOnEMA9Day = rOCOnEMA9Day, Quote = market, TriggerDetail = triggerDetail }; return(macd); }
public ROCLists EvaluateTrigger(ROCLists indicators, int index) { if (indicators[index].EMA9Day <= 0) { return(indicators); } var tradeType = indicators[index].ROC14Days > indicators[index].ROCOnEMA9Day ? ActionTypeEnum.Buy : ActionTypeEnum.Sell; var isTriggered = indicators[index - 1].TriggerDetail == null || indicators[index - 1].TriggerDetail.TradeType == tradeType ? false : true; indicators[index].SetTriggerDetail(TriggerDetail.Create(isTriggered, indicators[index].Quote.Today, indicators[index].Quote.Close, tradeType)); return(indicators); }
public void SetTriggerDetail(TriggerDetail triggerDetail) { TriggerDetail = triggerDetail; }