Add 200 SMA filter implementation and optimize config for 15Min bars
This commit is contained in:
1 parent
bf3d13d47f
commit
e21bf3c8dd
2 files changed
+17
-11
No files matched your search
@@ -6,7 +6,7 @@
|
|||||||
"SHORT_WINDOW": 20,
|
"SHORT_WINDOW": 20,
|
||||||
"LONG_WINDOW": 50,
|
"LONG_WINDOW": 50,
|
||||||
"MIN_NOTIONAL": 1.0,
|
"MIN_NOTIONAL": 1.0,
|
||||||
"POLL_INTERVAL": 60,
|
"POLL_INTERVAL": 300,
|
||||||
"MAX_DRAWDOWN": 0.08,
|
"MAX_DRAWDOWN": 0.08,
|
||||||
"PDT_RULE": false,
|
"PDT_RULE": false,
|
||||||
"USE_TRAILING_STOP": true,
|
"USE_TRAILING_STOP": true,
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
"ADX_THRESHOLD": 25,
|
"ADX_THRESHOLD": 25,
|
||||||
"VOLUME_MULTIPLIER": 0.7,
|
"VOLUME_MULTIPLIER": 0.7,
|
||||||
"ATR_STOP_MULTIPLIER": 2.0,
|
"ATR_STOP_MULTIPLIER": 2.0,
|
||||||
"MAX_HOLD_TIME": 7200,
|
"MAX_HOLD_TIME": 10800,
|
||||||
"REGIME_DETECTION": true,
|
"REGIME_DETECTION": true,
|
||||||
"MULTIFRAME_FILTER": true,
|
"MULTIFRAME_FILTER": true,
|
||||||
"BB_WINDOW": 20,
|
"BB_WINDOW": 20,
|
||||||
|
|||||||
+15
-9
@@ -60,17 +60,17 @@ ENV_PATH = SCRIPT_DIR / ".env"
|
|||||||
DEFAULT_CONFIG = {
|
DEFAULT_CONFIG = {
|
||||||
"DEBUG_MODE": True,
|
"DEBUG_MODE": True,
|
||||||
"SYMBOL": "SPY",
|
"SYMBOL": "SPY",
|
||||||
"BAR_TIMEFRAME": "5Min",
|
"BAR_TIMEFRAME": "15Min",
|
||||||
"RISK_PER_TRADE": 0.01,
|
"RISK_PER_TRADE": 0.01,
|
||||||
"SHORT_WINDOW": 10,
|
"SHORT_WINDOW": 20,
|
||||||
"LONG_WINDOW": 30,
|
"LONG_WINDOW": 50,
|
||||||
"MIN_NOTIONAL": 1.0,
|
"MIN_NOTIONAL": 1.0,
|
||||||
"POLL_INTERVAL": 30,
|
"POLL_INTERVAL": 300,
|
||||||
"MAX_DRAWDOWN": 0.08,
|
"MAX_DRAWDOWN": 0.08,
|
||||||
"PDT_RULE": False,
|
"PDT_RULE": False,
|
||||||
"USE_TRAILING_STOP": True,
|
"USE_TRAILING_STOP": True,
|
||||||
"PROFIT_TARGET_1": 2.0,
|
"PROFIT_TARGET_1": 2.0,
|
||||||
"PROFIT_TARGET_2": 4.0,
|
"PROFIT_TARGET_2": 3.0,
|
||||||
"VOLATILITY_ADJUSTMENT": True,
|
"VOLATILITY_ADJUSTMENT": True,
|
||||||
"MARKET_HOURS_FILTER": False,
|
"MARKET_HOURS_FILTER": False,
|
||||||
"ENABLE_SLIPPAGE": True,
|
"ENABLE_SLIPPAGE": True,
|
||||||
@@ -80,12 +80,12 @@ DEFAULT_CONFIG = {
|
|||||||
"BACKTEST_DAYS": 90,
|
"BACKTEST_DAYS": 90,
|
||||||
"USE_LIMIT_ORDERS": False,
|
"USE_LIMIT_ORDERS": False,
|
||||||
"LIMIT_ORDER_TIMEOUT": 60,
|
"LIMIT_ORDER_TIMEOUT": 60,
|
||||||
"ADX_THRESHOLD": 30,
|
"ADX_THRESHOLD": 25,
|
||||||
"VOLUME_MULTIPLIER": 0.7,
|
"VOLUME_MULTIPLIER": 0.7,
|
||||||
"ATR_STOP_MULTIPLIER": 2.0,
|
"ATR_STOP_MULTIPLIER": 2.0,
|
||||||
"MAX_HOLD_TIME": 3600,
|
"MAX_HOLD_TIME": 10800,
|
||||||
"REGIME_DETECTION": True,
|
"REGIME_DETECTION": True,
|
||||||
"MULTIFRAME_FILTER": False,
|
"MULTIFRAME_FILTER": True,
|
||||||
"BB_WINDOW": 20,
|
"BB_WINDOW": 20,
|
||||||
"BB_STD": 2.0,
|
"BB_STD": 2.0,
|
||||||
"USE_EMA": True,
|
"USE_EMA": True,
|
||||||
@@ -96,7 +96,7 @@ DEFAULT_CONFIG = {
|
|||||||
"USE_FIBONACCI": False,
|
"USE_FIBONACCI": False,
|
||||||
"MAX_TRADES_PER_DAY": 3,
|
"MAX_TRADES_PER_DAY": 3,
|
||||||
"SKIP_MONDAYS_FRIDAYS": False,
|
"SKIP_MONDAYS_FRIDAYS": False,
|
||||||
"USE_200_SMA_FILTER": False,
|
"USE_200_SMA_FILTER": True,
|
||||||
"REQUIRE_MACD_CONFIRMATION": False,
|
"REQUIRE_MACD_CONFIRMATION": False,
|
||||||
"MIN_RISK_REWARD": 2.0,
|
"MIN_RISK_REWARD": 2.0,
|
||||||
"PULLBACK_PERCENTAGE": 0.382,
|
"PULLBACK_PERCENTAGE": 0.382,
|
||||||
@@ -1075,6 +1075,12 @@ def advanced_signal_generator(symbol):
|
|||||||
debug_print("Volume filter failed: insufficient data")
|
debug_print("Volume filter failed: insufficient data")
|
||||||
return None, 0, 0, None
|
return None, 0, 0, None
|
||||||
|
|
||||||
|
if USE_200_SMA_FILTER:
|
||||||
|
sma_200_pass = check_200_sma_filter(symbol, api)
|
||||||
|
if not sma_200_pass:
|
||||||
|
debug_print("200 SMA filter failed: price below 200 SMA")
|
||||||
|
return None, 0, 0, None
|
||||||
|
|
||||||
bullish_pattern, bearish_pattern = check_candle_pattern(bars)
|
bullish_pattern, bearish_pattern = check_candle_pattern(bars)
|
||||||
macd_signal = check_macd_confirmation(bars)
|
macd_signal = check_macd_confirmation(bars)
|
||||||
multiframe_trend = check_multiframe_confluence(SYMBOL, USE_EMA, api) if MULTIFRAME_FILTER else "neutral"
|
multiframe_trend = check_multiframe_confluence(SYMBOL, USE_EMA, api) if MULTIFRAME_FILTER else "neutral"
|
||||||
|
|||||||
Reference in new issue
Block a user