Example #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();
     });
 }
Example #3
0
 TradeOpenAction SetCorridorExit(TradeLevelBy buy, TradeLevelBy sell)
 {
     return(trade => Task.Delay(100).ContinueWith(_ => SetCorridorExitImpl(trade, buy, sell)));
 }