示例#1
0
        private bool RunDecision(SimplePosition position, ref StrategyData strategyData, StrategyDecision decision, RobotInput robotInput)
        {
            if (!DecisionSet.Contains(decision.ToString()))
            {
                return(false);
            }

            if (decision == StrategyDecision.Open)
            {
                return(OpenPosition(position, ref strategyData));
            }
            else if (decision == StrategyDecision.OpenMissed)
            {
                return(OpenMissedPosition(position, ref strategyData));
            }
            else if (decision == StrategyDecision.ExitHeavy)
            {
                return(ExitPositionHeavyLoss(position, ref strategyData));
            }
            else if (decision == StrategyDecision.Exit)
            {
                return(ExitPosition(position, ref strategyData, robotInput.risk));
            }
            else if (decision == StrategyDecision.TakeProfit)
            {
                return(TakeProfit(position, ref strategyData, robotInput.reward));
            }
            else if (decision == StrategyDecision.Escape)
            {
                return(EscapeTrap(position, ref strategyData));
            }
            else
            {
                return(false);
            }
        }