Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-1.412
Tracking Error
0.146
Treynor Ratio
0
Total Fees
$0.00
from QuantConnect.Indicators.CandlestickPatterns import Piercing, Doji, Harami

class MultidimensionalVerticalCoreWave(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2021, 1, 1)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        self.symbol = "EURUSD"
        self.resol = Resolution.Minute
        self.fx = self.AddForex(self.symbol, self.resol, Market.Oanda)
        self.indicators = [Piercing(self.symbol), Doji(self.symbol), Harami(self.symbol)]
       
        # Setup consolidator to update indicator 
        consolidator = QuoteBarConsolidator(1)
        consolidator.DataConsolidated += self.consolidation_handler
        self.SubscriptionManager.AddConsolidator(self.symbol, consolidator)
        
        
        # set warmup period
        self.SetWarmUp(20)

    def consolidation_handler(self, sender, consolidated):
        for indicator in self.indicators:
            indicator.Update(consolidated)
    

    def OnData(self, data):
        if self.IsWarmingUp: 
            return
        
        piercing = self.indicators[0].Current.Value
        doji = self.indicators[1].Current.Value
        harami = self.indicators[2].Current.Value
        
        self.Debug(harami)
        
        if not self.Portfolio[self.symbol].Invested:
            if harami == 1:
                self.MarketOrder(self.symbol, 50)
        
        if self.Portfolio[self.symbol].Invested:
            if harami == -1:
                self.MarketOrder(self.symbol, -50)