Skip to main content
Latest Crypto Fear & Greed Index


Improved Pine Script: EMA RSI Momentum

This pine script is the improved version of previous script. Check here. The strategy mainly the same, except it now has StopLoss function, so you sleep soundly knowing your capital is protected. 

It also includes Start and Stop timestamp. It can be useful to backtest the strategy at a shorter/specific period of time.

Strategy Technical Description: It place Buy order when price crosses up EMA line and RSI is above BUY threshold. It exits when the RSI reaches SELL threshold. The recent swing low acts as StopLoss level.


Recommended setting:

Pair: IOUSDT (Binance)

Timeframe: 5 minutes

Capital in wallet: Minimum 30 USDT


//@version=5
strategy("EMA-RSI strategy[www.capayam.com]", overlay=false, initial_capital = 10, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)

// The default setting is for IOUSDT (Binance TF5)

// Adjustable Inputs
emaLength = input.int(540, title="EMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverboughtLevel = input.int(78, title="RSI Sell Threshold")
rsiOversoldLevel = input.int(57, title="RSI Buy Threshold")
swingLowLookback = input.int(21, title="Recent Swing Low (StopLoss)")

show_time = input(true, title="---Start Stop (Optional)---")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month (1-12)")
start_day = input(1, title="Start Day (1-31)")
stop_year = input(2026, title="Stop Year")
stop_month = input(12, title="Stop Month (1-12)")
stop_day = input(31, title="Stop Day (1-31)")

// Create timestamps from the input dates
start_trading_date = timestamp(start_year, start_month, start_day, 0, 0)
stop_trading_date = timestamp(stop_year, stop_month, stop_day, 23, 59)


// Define the EMAs
ema = ta.ema(close, emaLength)

// Define the RSI
rsi = ta.rsi(close, rsiLength)

// Buy Condition: Price crosses above Long EMA and RSI buy Threshold
BuySignal = ta.crossover(close, ema) and rsi > rsiOversoldLevel and (time >= start_trading_date) and (time <= stop_trading_date)
SellSignal = rsi > rsiOverboughtLevel


// Define the stop loss at the recent swing low
recentSwingLow = ta.lowest(low, swingLowLookback)
stopLoss = recentSwingLow

// Plot the EMAs
plot(ema, color=color.green, title="EMA Long")

// Plot the RSI
hline(rsiOverboughtLevel, "Overbought", color=color.red)
hline(rsiOversoldLevel, "Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)

position_size = (math.ceil((strategy.equity / close) * 1))/1

// Strategy entry with stop loss and take profit
if (BuySignal)
    strategy.entry("Buy", strategy.long, qty = position_size)
    strategy.exit("StopLoss", "Buy", stop=stopLoss)

if (SellSignal)
    strategy.close("Buy")
   



If you have other recommended stettings, please do share in the comment below.




Comments

Popular posts from this blog

New Pine Script Published: EMA RSI Momentum Strategy

 This is a momentum strategy that strikes while its hot and exits before the momentum ended. It is actually quite by using only 2 indicators which Exponential Moving Average (EMA) and Relative Strength Index (RSI).  Strategy Technical Description: It place Buy order when price crosses up EMA line and RSI is above BUY threshold. It exits when the RSI reaches SELL threshold. Recommended setting: Pair: RNDR (Binance) Timeframe: 5 minutes Order Size: 100% equity Pyramiding: 1 order Commission: 0.1 % // @version= 5 strategy ( "EMA RSI Momentum Strategy TF5min [capayam.com]" , overlay = false , initial_capital = 10 , default_qty_type = strategy.percent_of_equity , default_qty_value = 100 , commission_type = strategy.commission.percent , commission_value = 0.1 ) //Desc: Buys when price crosses above long EMA line and above RSI Buy threshold. Exits when RSI above Sell threshold. //Recomended pair: RNDRUSDT TF5min (Binance) // Adjustable Inputs emaLength = input.int ( 450 ,...

New Pine Script Stratgey: Buy on Whale Signal

This strategy is adapted from an indicator Whale detector, which is thanks to BLACKCAT1404, the curator of the indicator.  Startegy Description: It places buy order when then whale detector bar reaches certain threshold level which you can adjust as well as the Take Profit and Stop Loss. Recommended Settings: Pair: BTCUSDT (Binance) Time frame: 7min Initial Capital: 10 Base Currency: Default Order Size: 10 USDT Pyramiding: 1 order Commission: 0.1 % Each pair of token has different threshold, suitable time frame, TP and SL. Aa a matter of fact, Even different CEX may produce result for the same coin. You have to test one by one to get the best result. Do share your best strategy setting in the comment.  *credit to  BLACKCAT1404     // @version= 4 strategy ( "WHALE pump signal [www.capayam.com, credit to Blackcat1404]" , overlay =false, commission_type = strategy.commission.percent , commission_value = 0.1 ) // Desc: Best setting ETH TF7min Thres 30 TP6 SL3 Sc...

New Pine Script: Cosine Kernel Regression

 This pine script is adapted from Cosine Kernel Regression by QuantraSystems . Credit goes to this brilliant script writer.  The Cosine Kernel Regressions indicator (CKR) uses mathematical concepts to offer a unique approach to market analysis. This indicator employs Kernel Regressions using bespoke tunable Cosine functions in order to smoothly interpret a variety of market data, providing traders with incredibly clean insights into market trends. Details here..   Strategy Description: This stratgey uses many indicators to combine into an indicator that minimizes noises to get as accurate as possible. Order Buy is placed on Oversold signal , and exits the order when Overbought signal . Recommended Settings: Pair: RNDRUSDT (Binance) Time frame: 1 hour Initial Capital: 100 Base Currency: Default Order Size: 100% equity Pyramiding: 1 order Commission: 0.1 %  // @version= 5 strategy ( "CKR: capayam.com credit to QuantraSystems" , overlay = false , initial_capital = 1...