From dc593521f7db1782798c1f59d94899767cb87dd3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 30 Jan 2025 22:28:22 +0100 Subject: [PATCH] feat: add psar and keltner channel width as features MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- quickadapter/user_data/strategies/QuickAdapterV3.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index ee4df1b..a8a0370 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -132,6 +132,19 @@ class QuickAdapterV3(IStrategy): dataframe["%-raw_volume"] = dataframe["volume"] dataframe["%-obv"] = ta.OBV(dataframe) # Added + psar = ta.SAR( + dataframe["high"], dataframe["low"], acceleration=0.02, maximum=0.2 + ) + dataframe["%-diff_to_psar"] = dataframe["close"] - psar + kc = qtpylib.keltner_channel( + qtpylib.typical_price(dataframe), window=14, atrs=2 + ) + dataframe["kc_lowerband"] = kc["lower"] + dataframe["kc_middleband"] = kc["mid"] + dataframe["kc_upperband"] = kc["upper"] + dataframe["%-kc_width"] = ( + dataframe["kc_upperband"] - dataframe["kc_lowerband"] + ) / dataframe["kc_middleband"] bollinger = qtpylib.bollinger_bands( qtpylib.typical_price(dataframe), window=14, stds=2.2 ) -- 2.43.0