From 3c1a198763f8661b6d9fd1377f22403d4fc9bb2e Mon Sep 17 00:00:00 2001 From: przemyslawbak Date: Wed, 4 Dec 2024 21:01:27 +0100 Subject: [PATCH] Converted some OHLCV return types to ZigZag; --- Candlestick_Patterns/ISignals.cs | 16 ++++++++-------- Candlestick_Patterns/Signals.cs | 32 ++++++++------------------------ Examples_Fibonacci/Program.cs | 8 ++++---- Examples_Formations/Program.cs | 8 ++++---- 4 files changed, 24 insertions(+), 40 deletions(-) diff --git a/Candlestick_Patterns/ISignals.cs b/Candlestick_Patterns/ISignals.cs index 995c4ab..61ba682 100644 --- a/Candlestick_Patterns/ISignals.cs +++ b/Candlestick_Patterns/ISignals.cs @@ -117,16 +117,16 @@ public interface ISignals /// /// OHLC object list /// Selected formation - /// OHLC list with updated signal values - List GetFormationsOhlcvWithSignals(List dataOhlcv, string fiboName); + /// ZigZag list with updated signal values + List GetFormationsZigZagWithSignals(List dataOhlcv, string fiboName); /// /// Calculates signals for selected multiply formation /// /// OHLC object list /// Selected formation - /// List of OHLC lists with updated signal values - List> GetMultipleFormationsOhlcvWithSignals(List dataOhlcv, string[] formationsNames); + /// List of ZigZag lists with updated signal values + List> GetMultipleFormationsZigZagWithSignals(List dataOhlcv, string[] formationsNames); /// /// Counts the number of fibonacci patterns appearing in the OHLC list for a selected single fibonacci pattern @@ -188,15 +188,15 @@ public interface ISignals /// /// OHLC object list /// Selected formation - /// OHLC list with updated signal values - List GetFiboOhlcvWithSignals(List dataOhlcv, string fiboName); + /// ZigZag list with updated signal values + List GetFiboZigZagWithSignals(List dataOhlcv, string fiboName); /// /// Calculates signals for selected multiply fibonacci patterns /// /// OHLC object list /// Selected fibonacci patterns - /// List of OHLC lists with updated signal values - List> GetMultipleFiboOhlcvWithSignals(List dataOhlcv, string[] fiboNames); + /// List of ZigZag lists with updated signal values + List> GetMultipleFiboZigZagWithSignals(List dataOhlcv, string[] fiboNames); } } \ No newline at end of file diff --git a/Candlestick_Patterns/Signals.cs b/Candlestick_Patterns/Signals.cs index bd92d64..f84f0a5 100644 --- a/Candlestick_Patterns/Signals.cs +++ b/Candlestick_Patterns/Signals.cs @@ -174,18 +174,14 @@ public decimal GetMultipleFormationsSignalsIndex(List dataOhlcv, Di return count.Sum(x => x); } - public List GetFormationsOhlcvWithSignals(List dataOhlcv, string formationName) + public List GetFormationsZigZagWithSignals(List dataOhlcv, string formationName) { _formations = new Formations(dataOhlcv); - return _formations.GetFormationsSignalsList(formationName).Select(x => new OhlcvObject() - { - Close = x.Close, - Signal = x.Signal, - }).ToList(); + return _formations.GetFormationsSignalsList(formationName); } - public List> GetMultipleFormationsOhlcvWithSignals(List dataOhlcv, string[] formationsNames) + public List> GetMultipleFormationsZigZagWithSignals(List dataOhlcv, string[] formationsNames) { _formations = new Formations(dataOhlcv); @@ -196,11 +192,7 @@ public List> GetMultipleFormationsOhlcvWithSignals(List x.Select(y => new OhlcvObject() - { - Close = y.Close, - Signal = y.Signal, - }).ToList()).ToList(); + return list; } public int GetFibonacciSignalsCount(List dataOhlcv, string formationName) @@ -282,18 +274,14 @@ public decimal GetMultipleFiboSignalsIndex(List dataOhlcv, Dictiona return count.Sum(x => x); } - public List GetFiboOhlcvWithSignals(List dataOhlcv, string fiboName) + public List GetFiboZigZagWithSignals(List dataOhlcv, string fiboName) { _fibonacci = new Fibonacci(dataOhlcv); - return _fibonacci.GetFibonacciSignalsList(fiboName).Select(x => new OhlcvObject() - { - Close = x.Close, - Signal = x.Signal, - }).ToList(); + return _fibonacci.GetFibonacciSignalsList(fiboName); } - public List> GetMultipleFiboOhlcvWithSignals(List dataOhlcv, string[] fiboNames) + public List> GetMultipleFiboZigZagWithSignals(List dataOhlcv, string[] fiboNames) { _fibonacci = new Fibonacci(dataOhlcv); @@ -304,11 +292,7 @@ public List> GetMultipleFiboOhlcvWithSignals(List list.Add(_fibonacci.GetFibonacciSignalsList(methodName)); } - return list.Select(x => x.Select(y => new OhlcvObject() - { - Close = y.Close, - Signal = y.Signal, - }).ToList()).ToList(); + return list; } } } diff --git a/Examples_Fibonacci/Program.cs b/Examples_Fibonacci/Program.cs index 662a332..3fc0c5e 100644 --- a/Examples_Fibonacci/Program.cs +++ b/Examples_Fibonacci/Program.cs @@ -59,11 +59,11 @@ static async Task Main(string[] args) var signalsCountSingleWeightened = _signals.GetFiboSignalsIndex(dataOhlcv, "BearishABCD", 0.5M); Console.WriteLine("Weightened index for selected single fibo: {0}", signalsCountSingleWeightened); - var ohlcSingleSignals = _signals.GetFiboOhlcvWithSignals(dataOhlcv, "BearishABCD"); - Console.WriteLine("Signals for single fibo: {0}", ohlcSingleSignals.Where(x => x.Signal == true).Count()); + var zigZagSingleSignals = _signals.GetFiboZigZagWithSignals(dataOhlcv, "BearishABCD"); + Console.WriteLine("Signals for single fibo: {0}", zigZagSingleSignals.Where(x => x.Signal == true).Count()); - var ohlcMultiSignals = _signals.GetMultipleFiboOhlcvWithSignals(dataOhlcv, new string[] { "BearishABCD", "Bearish 3 Drive" }); - Console.WriteLine("Number of lists returned: {0}", ohlcMultiSignals.Count()); + var zigZagMultiSignals = _signals.GetMultipleFiboZigZagWithSignals(dataOhlcv, new string[] { "BearishABCD", "Bearish 3 Drive" }); + Console.WriteLine("Number of lists returned: {0}", zigZagMultiSignals.Count()); //END Console.WriteLine("END"); diff --git a/Examples_Formations/Program.cs b/Examples_Formations/Program.cs index 1964ded..05382d4 100644 --- a/Examples_Formations/Program.cs +++ b/Examples_Formations/Program.cs @@ -59,11 +59,11 @@ static async Task Main(string[] args) var signalsCountSingleWeightened = _signals.GetFormationSignalsIndex(dataOhlcv, "Bearish Double Tops", 0.5M); Console.WriteLine("Weightened index for selected single formation: {0}", signalsCountSingleWeightened); - var ohlcSingleSignals = _signals.GetFormationsOhlcvWithSignals(dataOhlcv, "Bearish Double Tops"); - Console.WriteLine("Signals for single formation: {0}", ohlcSingleSignals.Where(x => x.Signal == true).Count()); + var zigZagSingleSignals = _signals.GetFormationsZigZagWithSignals(dataOhlcv, "Bearish Double Tops"); + Console.WriteLine("Signals for single formation: {0}", zigZagSingleSignals.Where(x => x.Signal == true).Count()); - var ohlcMultiSignals = _signals.GetMultipleFormationsOhlcvWithSignals(dataOhlcv, new string[] { "Bearish Double Tops", "Bearish Head And Shoulders" }); - Console.WriteLine("Number of lists returned: {0}", ohlcMultiSignals.Count()); + var zigZagMultiSignals = _signals.GetMultipleFormationsZigZagWithSignals(dataOhlcv, new string[] { "Bearish Double Tops", "Bearish Head And Shoulders" }); + Console.WriteLine("Number of lists returned: {0}", zigZagMultiSignals.Count()); //END Console.WriteLine("END");