Exemple #1
0
 private void SetCorridorExitImpl(Trade trade, TradeLevelBy buy, TradeLevelBy sell)
 {
     if (trade.IsBuy)
     {
         var level = TradeLevelFuncs[buy]();
         if (InPips(level - trade.Open) > 5)
         {
             LevelBuyCloseBy = buy;
         }
     }
     else
     {
         var level = TradeLevelFuncs[TradeLevelBy.PriceLow0]();
         if (InPips(-level + trade.Open) > 5)
         {
             LevelSellCloseBy = TradeLevelBy.PriceLow0;
         }
     }
 }
 public void SetTradeLevel(TradeLevelBy level, bool isBuy)
 {
     Action setLevels = () => CorridorStats.Rates.Where(r => !r.PriceAvg1.IsNaN())
                        .Take(1)
                        .ForEach(rate => {
         IsTradingActive = false;
         if (isBuy)
         {
             LevelBuyBy    = level;
             BuyLevel.Rate = TradeLevelFuncs[level]();
         }
         else
         {
             LevelSellBy    = level;
             SellLevel.Rate = TradeLevelFuncs[level]();
         }
         RaiseShowChart();
     });
 }
        public void SetTradeLevelsPreset(TradeLevelsPreset preset, bool?isBuy)
        {
            IsTradingActive = false;
            Action setLevels = () => CorridorStats.Rates.Where(r => !r.PriceAvg1.IsNaN())
                               .Take(1)
                               .ForEach(rate => {
                BuyLevel.Rate     = TradeLevelFuncs[LevelBuyBy]();
                SellLevel.Rate    = TradeLevelFuncs[LevelSellBy]();
                BuyLevel.InManual = SellLevel.InManual = false;
                RaiseShowChart();
            });
            Action <Action <TradeLevelBy>, TradeLevelBy> setTL = (s, v) => s(v);

            if (isBuy.GetValueOrDefault(true))
            {
                setTL(v => LevelBuyBy = v, tlbs[preset].Item1);
            }
            if (isBuy.GetValueOrDefault(false) == false)
            {
                setTL(v => LevelSellBy = v, tlbs[preset].Item2);
            }
            setLevels();
        }
Exemple #4
0
 double GetTradeCloseLevel(bool buy, double def = double.NaN) { return TradeLevelFuncs[buy ? LevelBuyCloseBy : LevelSellCloseBy]().IfNaN(def); }