Files
the_information_nexus/docs/financial_docs/Untitled-1.md
2023-11-11 12:40:19 -07:00

175 lines
8.6 KiB
Markdown

##
//@version=5
strategy("Swing Trading Strategy with ATR Stop Loss and Take Profit", overlay=true)
// Define Daily Chart EMAs
daily_ema20 = ta.ema(close, 20)
daily_ema50 = ta.ema(close, 50)
daily_ema100 = ta.ema(close, 100)
daily_ema200 = ta.ema(close, 200)
// Define Daily Trend
daily_trend = daily_ema20 > daily_ema50 and daily_ema50 > daily_ema100 and daily_ema100 > daily_ema200
// Define 4-Hour Chart MACD
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
// Define 4-Hour Trend
four_hour_trend = macdLine > signalLine ? 1 : macdLine < signalLine ? -1 : 0
// Define 1-Hour Chart Engulfing Patterns
one_hour_engulfing_bullish = ta.candlebullengulfing(close, open)
one_hour_engulfing_bearish = ta.candlebearengulfing(close, open)
// Define Additional Technical Indicators
rsi = ta.rsi(close, 14)
bb_upper = ta.bbupper(close, 20, 2)
bb_lower = ta.bblower(close, 20, 2)
stoch = ta.stoch(close, high, low, 14, 3)
// Define Entry and Exit Parameters
atr_mult = input.float(title="ATR Multiplier", defval=2.0, minval=0.0)
atr_period = input.int(title="ATR Period", defval=14, minval=1)
atr = ta.atr(atr_period)
// Define Trading Logic
if daily_trend
if four_hour_trend > 0 and one_hour_engulfing_bullish and rsi > 50 and close < bb_upper
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", "Buy", profit=atr _ atr_mult, trail_offset=atr)
strategy.exit("Stop Loss", "Buy", loss=atr _ atr_mult _ 1.5)
else if four_hour_trend < 0 and one_hour_engulfing_bearish and rsi < 50 and close > bb_lower
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", "Sell", profit=atr _ atr_mult, trail_offset=atr)
strategy.exit("Stop Loss", "Sell", loss=atr _ atr_mult _ 1.5)
##
review the following version 5 pinescript that is designed to help a swing trading strategy for forex trading and provide feedback:
//@version=5
strategy("Swing Trading Strategy with ATR Stop Loss and Take Profit", overlay=true)
// Define Daily Chart EMAs
daily_ema20 = ta.ema(close, 20)
daily_ema50 = ta.ema(close, 50)
daily_ema100 = ta.ema(close, 100)
daily_ema200 = ta.ema(close, 200)
// Define Daily Trend
daily_trend = daily_ema20 > daily_ema50 and daily_ema50 > daily_ema100 and daily_ema100 > daily_ema200
// Define 4-Hour Chart MACD
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
// Define 4-Hour Trend
four_hour_trend = macdLine > signalLine ? 1 : macdLine < signalLine ? -1 : 0
// Define 1-Hour Chart Engulfing Patterns
one_hour_engulfing_bullish = ta.candlebullengulfing(close, open)
one_hour_engulfing_bearish = ta.candlebearengulfing(close, open)
// Define RSI
rsi_length = input.int(title="RSI Length", defval=14, minval=1)
rsi_overbought = input.float(title="RSI Overbought Level", defval=70.0, minval=0.0, maxval=100.0)
rsi_oversold = input.float(title="RSI Oversold Level", defval=30.0, minval=0.0, maxval=100.0)
rsi = ta.rsi(close, rsi_length)
// Define Entry and Exit Parameters
atr_mult = input.float(title="ATR Multiplier", defval=2.0, minval=0.0)
atr_period = input.int(title="ATR Period", defval=14, minval=1)
atr = ta.atr(atr_period)
// Define Trading Logic
if daily_trend
if four_hour_trend > 0 and one_hour_engulfing_bullish and rsi < rsi_overbought
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", "Buy", profit=atr _ atr_mult, trail_offset=atr)
strategy.exit("Stop Loss", "Buy", loss=atr _ atr_mult _ 1.5)
else if four_hour_trend < 0 and one_hour_engulfing_bearish and rsi > rsi_oversold
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", "Sell", profit=atr _ atr_mult, trail_offset=atr)
strategy.exit("Stop Loss", "Sell", loss=atr _ atr_mult _ 1.5)
##
fix the following error message after trying to compile the following code: Could not find function or function reference 'input.resolution'
//@version=5
strategy("Swing Trading Strategy with ATR Stop Loss and Take Profit", overlay=true)
// Define Daily Chart EMAs
ema20_length = input.int(title="EMA 20 Length", defval=20, minval=1)
ema50_length = input.int(title="EMA 50 Length", defval=50, minval=1)
ema100_length = input.int(title="EMA 100 Length", defval=100, minval=1)
ema200_length = input.int(title="EMA 200 Length", defval=200, minval=1)
daily_ema20 = ta.ema(close, ema20_length)
daily_ema50 = ta.ema(close, ema50_length)
daily_ema100 = ta.ema(close, ema100_length)
daily_ema200 = ta.ema(close, ema200_length)
// Define Daily Trend
daily_trend = daily_ema20 > daily_ema50 and daily_ema50 > daily_ema100 and daily_ema100 > daily_ema200
// Define 4-Hour Chart MACD
macd_fast_length = input.int(title="MACD Fast Length", defval=12, minval=1)
macd_slow_length = input.int(title="MACD Slow Length", defval=26, minval=1)
macd_signal_length = input.int(title="MACD Signal Length", defval=9, minval=1)
[macdLine, signalLine, histLine] = ta.macd(close, macd_fast_length, macd_slow_length, macd_signal_length)
// Define 4-Hour Trend
four_hour_trend = macdLine > signalLine ? 1 : macdLine < signalLine ? -1 : 0
// Define RSI
rsi_length = input.int(title="RSI Length", defval=14, minval=1)
rsi_overbought_level = input.float(title="RSI Overbought Level", defval=70.0, minval=0.0, maxval=100.0)
rsi_oversold_level = input.float(title="RSI Oversold Level", defval=30.0, minval=0.0, maxval=100.0)
rsi = ta.rsi(close, rsi_length)
// Define ATR Multiplier
atr_multiplier = input.float(title="ATR Multiplier", defval=2.0, minval=0.0)
atr_period = input.int(title="ATR Period", defval=14, minval=1)
atr = ta.atr(atr_period)
// Define Additional Entry Criteria
price_action_high_length = input.int(title="Price Action High Length", defval=10, minval=1)
price_action_low_length = input.int(title="Price Action Low Length", defval=10, minval=1)
price_action_signal = ta.highest(high, price_action_high_length) > ta.highest(high, price_action_high_length _ 2) and ta.lowest(low, price_action_low_length) > ta.lowest(low, price_action_low_length _ 2)
supp_resolution = input.resolution(title="Support/Resistance Resolution", defval="60")
supp_length = input.int(title="Support/Resistance Length", defval=30, minval=1)
supp_lookback = input.int(title="Support/Resistance Lookback", defval=100, minval=1)
supp_offset = input.float(title="Support/Resistance Offset", defval=0.25)
support_resistance_signal = ta.supp(resolution=supp_resolution)
Bollinger Band Squeeze Breakout Strategy:
Bollinger Band Reversal Trading Strategy: In this strategy, you look for overbought or oversold conditions. When the price reaches the upper band, it's considered overbought, while when it reaches the lower band, it's considered oversold. Wait for a candlestick to close below the upper band in an overbought condition or above the lower band in an oversold condition, indicating a potential reversal. Enter a short trade if the price is overbought and a long trade if the price is oversold. Use a stop-loss order above the breakout candlestick and a take-profit order at the middle band.
I. Bollinger Band Squeeze Breakout Strategy
A. Wait for Bollinger Bands to squeeze together, indicating low volatility
B. Wait for a candlestick to close above or below the upper or lower band, indicating a potential breakout
C. Enter a long trade if the price breaks above the upper band, or a short trade if it breaks below the lower band
D. Use a stop-loss order below the breakout candlestick
E. Use a take-profit order at the middle band.
A. Use Bollinger Bands to determine trend direction
1. Trending above upper band signals uptrend
2. Trending below lower band signals downtrend
B. Wait for a pullback to the middle band
C. Enter a long trade if price bounces off middle band in uptrend
3. Enter a short trade if price bounces off middle band in downtrend
D. Use a stop-loss order below the middle band
E. Use a take-profit order at the upper or lower band, depending on the trend direction.
I. Bollinger Band Squeeze Breakout Strategy
A. Wait for Bollinger Bands to squeeze together, indicating low volatility
B. Wait for a candlestick to close above or below the upper or lower band, indicating a potential breakout
C. Enter a long trade if the price breaks above the upper band, or a short trade if it breaks below the lower band
D. Use a stop-loss order below the breakout candlestick
E. Use a take-profit order at the middle band.
A. Look for overbought or oversold conditions
4. Upper band considered overbought
5. Lower band considered oversold
B. Wait for a candlestick to close below the upper band in an overbought condition or above the lower band in an oversold condition, indicating a potential reversal
C. Enter a short trade if the price is overbought and a long trade if the price is oversold
D. Use a stop-loss order above the breakout candlestick
E. Use a take-profit order at the middle band.