コード例 #1
0
        public FaderClose(QREBridgeBase bridge, Symbol symbol) : base(bridge, symbol)
        {
            //Set up raw moving average
            var maLength = parameter <int>("maLength");

            switch (parameter <int>("maType"))
            {
            case 1:
                maRaw = new Average(bars.close, maLength);
                break;

            case 2:
                maRaw = new KAMA(bars.close, 2, 30, maLength);
                break;

            default:
                Bomb.toss("Not valid maType");
                break;
            }

            //Set up stdDev
            priceStDev = new StdDeviationOfSample(bars.close, parameter <int>("stDevLength"));

            //Set up regression
            regressionBars = parameter <int>("regressionBars");
            Bomb.when((parameter <int>("LeadBars") < regressionBars), () => "LeadBars cannot be less than regressionBars." + arguments());
            var count = new BarCounter(bars).transform(i => (double)i);

            projectionSpud     = new QRegression(maRaw, count, regressionBars, false);
            regressionProjBars = parameter <int>("regressionProjectionBars");
            levelProjection    = projectionSpud.transform(barsRegression => barsRegression.predict(count + regressionProjBars));

            //Set up other parameters
            zEntry       = parameter <double>("ZEntry");
            zExit        = parameter <double>("ZExit");
            minPnLMultTC = parameter <double>("minPnLMultTC");
            stopMultiple = parameter <double>("stopMultiple");
            riskDollars  = parameter <double>("RiskDollars");
            rSqrScale    = parameter <double>("rSqrScale");
            Bomb.when((rSqrScale != 0), () => "rSquare parameter not implemented yet.");

            addToPlot(maRaw, "maRaw", Color.Blue);
            addToPlot(levelProjection, "Projection", Color.Red);
            addToPlot(priceStDev, "StDev", Color.Green, "Support");
        }
コード例 #2
0
 public OrderScreen()
 {
     _orderBuilder   = new OrderBuilder();
     _saladDecorator = new SaladDecorator();
     _counter        = new BarCounter();
 }
コード例 #3
0
ファイル: FXCarry.cs プロジェクト: TzarIvan/ratel
        void stoppedOut()
        {
            Spud <int> barsSinceStopOut = new BarCounter(bars, -1);

            deactivate(() => isRecovered(barsSinceStopOut, tradeSize()) && cleanup(barsSinceStopOut));
        }