Login / Join

Technical analysis by seydkamal123 about Symbol PUMP on 8/10/2025

https://sahmeto.com/message/3696895
،Technical،seydkamal123

// version =5 strategy("EMA crossover + RSI filter (Long/Sell) — Simple", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000) // ======= INPUTS (قابل تغییر) ======= fastLen = input.int(9, "Fast EMA length") slowLen = input.int(21, "Slow EMA length") rsiLen = input.int(14, "RSI length") rsiLongMin= input.int(45, "Min RSI for Long (filter)") rsiShortMax= input.int(55, "Max RSI for Short (filter)") useShorts = input.bool(false,"Allow Shorts? (if OFF: only close longs on sell)") atrLen = input.int(14, "ATR length (for SL)") atrMult = input.float(2.0,"ATR multiplier (for SL)") takeProfitR = input.float(1.5, "Take Profit (x ATR)", step=0.1) tradeSizePct = input.float(10, "Position size (% equity)", step=0.1) // ======= INDICATORS ======= emaFast = ta.ema(close, fastLen) emaSlow = ta.ema(close, slowLen) rsiVal = ta.rsi(close, rsiLen) atrVal = ta.atr(atrLen) // plot EMAs plot(emaFast, title="EMA Fast", linewidth=2) plot(emaSlow, title="EMA Slow", linewidth=2) // ======= SIGNALS ======= // Long signal: EMA fast cross above slow AND RSI above filter longSignal = ta.crossover(emaFast, emaSlow) and (rsiVal >= rsiLongMin) // Sell/Short signal: EMA fast cross below slow AND RSI below filter shortSignal = ta.crossunder(emaFast, emaSlow) and (rsiVal <= rsiShortMax) // ======= ENTRY / EXIT ======= // position sizing strategy.risk.allow_entry_in(strategy.direction.long) strategy.risk.allow_entry_in(strategy.direction.short) strategy.order_info(true) strategy.exit_on_close(true) strategy.set_max_bars_back(math.max(fastLen, slowLen, rsiLen, atrLen)) // compute SL and TP price levels (absolute) longStopPrice = close - atrVal * atrMult longTPPrice = close + atrVal * takeProfitR shortStopPrice = close + atrVal * atrMult shortTPPrice = close - atrVal * takeProfitR // manage position sizing strategy.risk.allow_entry_in(strategy.direction.long) strategy.risk.allow_entry_in(strategy.direction.short) strategy.order_info(true) strategy.entry("Long", strategy.long, qty_percent=tradeSizePct, when=longSignal) if useShorts strategy.entry("Short", strategy.short, qty_percent=tradeSizePct, when=shortSignal) else // اگر شورت فعال نیست، سیگنال شورت فقط باعث بستن لانگ می‌شود if shortSignal strategy.close("Long", comment="CloseLong_on_ShortSignal") // exits for entries (only if the position exists) // apply TP/SL with strategy.exit (referencing entry id) strategy.exit("Long_exit", from_entry="Long", stop=longStopPrice, limit=longTPPrice) if useShorts strategy.exit("Short_exit", from_entry="Short", stop=shortStopPrice, limit=shortTPPrice) // ======= VISUAL ======= plotshape(longSignal, title="Long Signal", location=location.belowbar, color=color.new(color.green,0), style=shape.labelup, text="LONG") plotshape(shortSignal, title="Sell/Short Signal", location=location.abovebar, color=color.new(color.red,0), style=shape.labeldown, text="SELL") // RSI panel rsiPlot = plot(rsiVal, title="RSI", display=display.none) // hide in price pane h1 = hline(50, "RSI 50", color=color.gray, linestyle=hline.style_dotted) // ======= ALERTS ======= alertcondition(longSignal, title="Long Signal", message="EMA crossover + RSI => LONG") alertcondition(shortSignal, title="Sell Signal", message="EMA crossover + RSI => SELL/SHORT") // ======= INFO (print small label) ======= var table info = table.new(position.bottom_right, 1, 1) if barstate.islast table.cell(info, 0, 0, text="EMA: " + str.tostring(fastLen) + "/" + str.tostring(slowLen) + " RSI:" + str.tostring(rsiLen) + " ATRx:" + str.tostring(atrMult), text_color=color.white, bgcolor=color.new(color.blue,60))

Translated from: English
Show Original Message
Signal Type: Neutral
Time Frame:
1 hour
Price at Publish Time:
$0.0030904
Share
Signals
Top Traders
Feed
Alerts