Specification
//@version=6
strategy("Ultimate + 11 Filters Bot [M1 - 0.5 pip TP]", overlay=true, max_boxes_count=500, max_labels_count=500, max_lines_count=500, max_bars_back=5000,
default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, commission_type=strategy.commission.percent, commission_value=0.04)
// ═══════════════════════════════════════════════════════════
// 1. تنظیمات ورودی (Inputs) - بهینهسازی شده برای تایمفریم ۱ دقیقه
// ═══════════════════════════════════════════════════════════
st_Periods = input.int(10, "ATR Period", group="A. SuperTrend")
st_Multiplier = input.float(3.0, "ATR Multiplier", step=0.1, group="A. SuperTrend")
st_highlighting = input.bool(true, "Highlighter On/Off", group="A. SuperTrend")
signalSensitivity = input.float(8.0, "Signal Sensitivity", step=0.1, group="B. Main Signals")
showSignals = input.bool(true, "Show LONG/SHORT Labels", group="B. Main Signals")
showTPs = input.bool(true, "Show TP/SL Levels", group="B. Main Signals")
enableTrailing = input.bool(false, "Enable Trailing Stop", group="C. Trailing SL")
trailType = input.string("%", "Type", options=["%", "ATR"], group="C. Trailing SL")
trailPerc = input.float(0.5, "Trail %", step=0.1, group="C. Trailing SL")
trailAtrMult = input.float(2.0, "Trail ATR Mult", step=0.1, group="C. Trailing SL")
showOBs = input.bool(true, "Show Order Blocks", group="D. Order Blocks")
bullOBColor = input.color(#57d71280, "Bullish OB Color", group="D. Order Blocks")
bearOBColor = input.color(#e91e6380, "Bearish OB Color", group="D. Order Blocks")
showSMC = input.bool(true, "Show Market Structure (BOS/CHoCH)", group="E. SMC Structure")
showSwings = input.bool(true, "Show Swing Points (HH/LL)", group="E. SMC Structure")
swingLen = input.int(10, "Swing Length", minval=3, group="E. SMC Structure")
bosConfirm = input.string("Candle Close", "BOS Confirm", options=["Candle Close", "Wicks"], group="E. SMC Structure")
filterGroup = "F. Filter Settings"
enableFilters = input.bool(true, "Enable 11-Filter Confirmation", group=filterGroup)
minFiltersRequired = input.int(3, "Minimum Filters Required", minval=1, maxval=11, group=filterGroup)
useEMA = input.bool(true, "1. EMA Cross", group=filterGroup)
useRSI = input.bool(true, "2. RSI", group=filterGroup)
useVWAP = input.bool(true, "3. VWAP", group=filterGroup)
useMACD = input.bool(true, "4. MACD", group=filterGroup)
useBB = input.bool(true, "5. Bollinger Bands", group=filterGroup)
useStoch = input.bool(true, "6. Stochastic", group=filterGroup)
useATR = input.bool(true, "7. ATR (Volatility Filter)", group=filterGroup)
useSAR = input.bool(true, "8. Parabolic SAR", group=filterGroup)
useOBV = input.bool(true, "9. OBV", group=filterGroup)
useMFI = input.bool(true, "10. MFI", group=filterGroup)
useIchimoku = input.bool(true, "11. Ichimoku", group=filterGroup)
// پارامترهای استاندارد برای M1
emaFast = input.int(9, "EMA Fast", minval=1, group="F1. EMA")
emaSlow = input.int(21, "EMA Slow", minval=1, group="F1. EMA")
rsiLen = input.int(7, "RSI Length", minval=2, group="F2. RSI")
rsiOB = input.int(80, "RSI Overbought", minval=50, maxval=100, group="F2. RSI")
rsiOS = input.int(20, "RSI Oversold", minval=0, maxval=50, group="F2. RSI")
macdFast = input.int(5, "MACD Fast", minval=1, group="F3. MACD")
macdSlow = input.int(13, "MACD Slow", minval=1, group="F3. MACD")
macdSig = input.int(1, "MACD Signal", minval=1, group="F3. MACD")
bbLen = input.int(20, "BB Length", minval=1, group="F4. Bollinger")
bbMult = input.float(2.0, "BB StdDev", step=0.1, group="F4. Bollinger")
stochK = input.int(5, "Stoch %K", minval=1, group="F5. Stochastic")
stochD = input.int(3, "Stoch %D", minval=1, group="F5. Stochastic")
atrLen = input.int(7, "ATR Length", minval=1, group="F6. ATR")
sarStart = input.float(0.02, "SAR Start", step=0.001, group="F7. SAR")
sarInc = input.float(0.02, "SAR Increment", step=0.001, group="F7. SAR")
sarMax = input.float(0.2, "SAR Maximum", step=0.01, group="F7. SAR")
mfiLen = input.int(7, "MFI Length", minval=2, group="F8. MFI")
mfiOB = input.int(80, "MFI Overbought", minval=50, maxval=100, group="F8. MFI")
mfiOS = input.int(20, "MFI Oversold", minval=0, maxval=50, group="F8. MFI")
ichiTenkan = input.int(9, "Tenkan-sen", minval=1, group="F9. Ichimoku")
ichiKijun = input.int(26, "Kijun-sen", minval=1, group="F9. Ichimoku")
ichiSenkouB = input.int(52, "Senkou Span B", minval=1, group="F9. Ichimoku")
colorScheme = input.string("DARK", "Color Scheme", options=["DARK", "LIGHT"], group="G. Style")
bullColor = colorScheme == "DARK" ? #0043e0 : color.rgb(0, 255, 8)
bearColor = colorScheme == "DARK" ? #F2003C : color.rgb(255, 0, 0)
// ═══════════════════════════════════════════════════════════
// 2. سوپرترند و سیگنال اصلی
// ═══════════════════════════════════════════════════════════
st_atr = ta.atr(st_Periods)
var float st_up = na
var float st_dn = na
var int st_trend = 1
st_up := hl2 - (st_Multiplier * st_atr)
st_up1 = nz(st_up[1], st_up)
st_up := close[1] > st_up1 ? math.max(st_up, st_up1) : st_up
st_dn := hl2 + (st_Multiplier * st_atr)
st_dn1 = nz(st_dn[1], st_dn)
st_dn := close[1] < st_dn1 ? math.min(st_dn, st_dn1) : st_dn
st_trend := nz(st_trend[1], st_trend)
st_trend := st_trend == -1 and close > st_dn1 ? 1 : st_trend == 1 and close < st_up1 ? -1 : st_trend
plot(st_trend == 1 ? st_up : na, "ST Up", style=plot.style_linebr, linewidth=2, color=color.new(#00E676, 0))
plot(st_trend == -1 ? st_dn : na, "ST Dn", style=plot.style_linebr, linewidth=2, color=color.new(#FF5252, 0))
fill(plot(ohlc4, display=display.none), plot(st_trend==1?st_up:na), color=st_highlighting and st_trend==1 ? color.new(#00E676,85) : color.new(color.white,100))
fill(plot(ohlc4, display=display.none), plot(st_trend==-1?st_dn:na), color=st_highlighting and st_trend==-1 ? color.new(#FF5252,85) : color.new(color.white,100))
len = 10
mult = signalSensitivity
atrSig = mult * ta.atr(len)
longStop = hl2 - atrSig
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = hl2 + atrSig
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
var int dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 : dir == 1 and close < longStopPrev ? -1 : dir
buySignal_raw = dir == 1 and dir[1] == -1
sellSignal_raw = dir == -1 and dir[1] == 1
// ═══════════════════════════════════════════════════════════
// 3. محاسبه ۱۱ اندیکاتور فیلتر
// ═══════════════════════════════════════════════════════════
emaF = ta.ema(close, emaFast)
emaS = ta.ema(close, emaSlow)
rsiVal = ta.rsi(close, rsiLen)
vwapVal = ta.vwap(hlc3)
[macdLine, signalLine, histLine] = ta.macd(close, macdFast, macdSlow, macdSig)
bbBasis = ta.sma(close, bbLen)
bbDev = bbMult * ta.stdev(close, bbLen)
bbUpper = bbBasis + bbDev
bbLower = bbBasis - bbDev
k = ta.sma(ta.stoch(close, high, low, stochK), 3)
d = ta.sma(k, stochD)
atrVal = ta.atr(atrLen)
psar = ta.sar(sarStart, sarInc, sarMax)
obvVal = ta.obv
obvSmooth = ta.sma(obvVal, 20)
mfiVal = ta.mfi(hlc3, mfiLen)
tenkan = (ta.highest(high, ichiTenkan) + ta.lowest(low, ichiTenkan)) / 2
kijun = (ta.highest(high, ichiKijun) + ta.lowest(low, ichiKijun)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (ta.highest(high, ichiSenkouB) + ta.lowest(low, ichiSenkouB)) / 2
// ═══════════════════════════════════════════════════════════
// 4. ترکیب فیلترها و سیگنال نهایی
// ═══════════════════════════════════════════════════════════
getDir(signalBull, signalBear) =>
if signalBull
1
else if signalBear
-1
else
0
emaDir = getDir(ta.crossover(emaF, emaS), ta.crossunder(emaF, emaS))
rsiDir = getDir(rsiVal < rsiOS or ta.crossover(rsiVal, 50), rsiVal > rsiOB or ta.crossunder(rsiVal, 50))
vwapDir = getDir(close > vwapVal, close < vwapVal)
macdDir = getDir(ta.crossover(macdLine, signalLine) or histLine > 0, ta.crossunder(macdLine, signalLine) or histLine < 0)
bbDir = getDir(close < bbLower, close > bbUpper)
stochDir = getDir(ta.crossover(k, d) and k < 20, ta.crossunder(k, d) and k > 80)
atrDir = getDir(atrVal < ta.sma(atrVal, 20), atrVal > ta.sma(atrVal, 20))
sarDir = getDir(close > psar, close < psar)
obvDir = getDir(obvVal > obvSmooth and ta.rising(obvVal, 3), obvVal < obvSmooth and ta.falling(obvVal, 3))
mfiDir = getDir(mfiVal < mfiOS or ta.crossover(mfiVal, 50), mfiVal > mfiOB or ta.crossunder(mfiVal, 50))
ichiDir = getDir(close > math.max(senkouA, senkouB) and tenkan > kijun, close < math.min(senkouA, senkouB) and tenkan < kijun)
filterCount = 0
if useEMA and emaDir != 0 and emaDir == dir
filterCount := filterCount + 1
if useRSI and rsiDir != 0 and rsiDir == dir
filterCount := filterCount + 1
if useVWAP and vwapDir != 0 and vwapDir == dir
filterCount := filterCount + 1
if useMACD and macdDir != 0 and macdDir == dir
filterCount := filterCount + 1
if useBB and bbDir != 0 and bbDir == dir
filterCount := filterCount + 1
if useStoch and stochDir != 0 and stochDir == dir
filterCount := filterCount + 1
if useATR and atrDir != 0 and atrDir == dir
filterCount := filterCount + 1
if useSAR and sarDir != 0 and sarDir == dir
filterCount := filterCount + 1
if useOBV and obvDir != 0 and obvDir == dir
filterCount := filterCount + 1
if useMFI and mfiDir != 0 and mfiDir == dir
filterCount := filterCount + 1
if useIchimoku and ichiDir != 0 and ichiDir == dir
filterCount := filterCount + 1
filtersConfirmed = filterCount >= minFiltersRequired
buySignal = buySignal_raw and (enableFilters ? filtersConfirmed : true)
sellSignal = sellSignal_raw and (enableFilters ? filtersConfirmed : true)
// ═══════════════════════════════════════════════════════════
// 5. تنظیمات حد سود (TP) با 0.5 پیپ
// ═══════════════════════════════════════════════════════════
pipSize = syminfo.mintick * 10 // یک پیپ = 10 برابر تیک سایز
tpPips = 0.5
tpAmount = pipSize * tpPips
// ═══════════════════════════════════════════════════════════
// 6. 🧠 بخش اصلی ربات (ورود و خروج خودکار با 0.5 پیپ TP)
// ═══════════════════════════════════════════════════════════
if buySignal
strategy.close("Short", comment="Close Short")
strategy.entry("Long", strategy.long)
tpLong = close + tpAmount
slLong = longStop
strategy.exit("Long TP/SL", "Long", stop=slLong, limit=tpLong)
if sellSignal
strategy.close("Long", comment="Close Long")
strategy.entry("Short", strategy.short)
tpShort = close - tpAmount
slShort = shortStop
strategy.exit("Short TP/SL", "Short", stop=slShort, limit=tpShort)
// ═══════════════════════════════════════════════════════════
// 7. نمایش گرافیکی (فقط TP 0.5 پیپ)
// ═══════════════════════════════════════════════════════════
plotshape(buySignal and showSignals ? longStop : na, title="BUY", style=shape.labelup, location=location.belowbar, size=size.small, text="LONG✅", textcolor=color.white, color=bullColor)
plotshape(sellSignal and showSignals ? shortStop : na, title="SELL", style=shape.labeldown, location=location.abovebar, size=size.small, text="SHORT✅", textcolor=color.white, color=bearColor)
if barstate.islast and enableFilters
var table filterTable = table.new(position.top_right, 1, 1, bgcolor=color.new(color.gray, 70), border_width=1)
table.cell(filterTable, 0, 0, "Filters: " + str.tostring(filterCount) + "/" + str.tostring(minFiltersRequired), text_color=color.white, text_size=size.small)
// نمایش خطوط TP و SL
var float entryPrice = na
var int lastDir = 0
if buySignal
entryPrice := close
lastDir := 1
if sellSignal
entryPrice := close
lastDir := -1
if showTPs and not na(entryPrice)
tpLevel = lastDir == 1 ? entryPrice + tpAmount : entryPrice - tpAmount
slLevel = lastDir == 1 ? longStop : shortStop
label.new(bar_index+1, entryPrice, "ENTRY " + str.tostring(entryPrice, "#.##"), xloc.bar_index, yloc.price, color.gray, label.style_label_left, color.white, size.normal)
label.new(bar_index+1, slLevel, "SL " + str.tostring(slLevel, "#.##"), xloc.bar_index, yloc.price, bearColor, label.style_label_left, color.white, size.normal)
label.new(bar_index+1, tpLevel, "TP (0.5 pip)", xloc.bar_index, yloc.price, bullColor, label.style_label_left, color.white, size.normal)
line.new(bar_index-1, entryPrice, bar_index+1, entryPrice, xloc.bar_index, extend.none, color.gray, line.style_dashed, 1)
line.new(bar_index-1, slLevel, bar_index+1, slLevel, xloc.bar_index, extend.none, bearColor, line.style_dashed, 1)
line.new(bar_index-1, tpLevel, bar_index+1, tpLevel, xloc.bar_index, extend.none, bullColor, line.style_dashed, 1)
// ═══════════════════════════════════════════════════════════
// 8. اعلانها
// ═══════════════════════════════════════════════════════════
alertcondition(buySignal, title="LONG Signal", message="Buy Signal with 0.5 pip TP")
alertcondition(sellSignal, title="SHORT Signal", message="Sell Signal with 0.5 pip TP")
alertcondition(st_trend != st_trend[1], title="SuperTrend Flip", message="SuperTrend Changed Direction")
Responded
1
Rating
Projects
10
10%
Arbitration
0
Overdue
0
Free
2
Rating
Projects
1
0%
Arbitration
0
Overdue
1
100%
Free
3
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
4
Rating
Projects
191
46%
Arbitration
3
33%
/
33%
Overdue
1
1%
Loaded
5
Rating
Projects
2
0%
Arbitration
1
0%
/
100%
Overdue
0
Free
6
Rating
Projects
1
0%
Arbitration
0
Overdue
0
Free
7
Rating
Projects
8
0%
Arbitration
2
50%
/
0%
Overdue
1
13%
Working
8
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
9
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
10
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 1 code
11
Rating
Projects
5
0%
Arbitration
2
50%
/
50%
Overdue
0
Free
12
Rating
Projects
144
46%
Arbitration
20
40%
/
20%
Overdue
32
22%
Working
13
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 2 codes
14
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
15
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
16
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
17
Rating
Projects
14
43%
Arbitration
0
Overdue
3
21%
Free
18
Rating
Projects
63
52%
Arbitration
5
0%
/
40%
Overdue
1
2%
Free
19
Rating
Projects
2
50%
Arbitration
0
Overdue
0
Free
20
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
21
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
22
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
23
Rating
Projects
1
0%
Arbitration
0
Overdue
0
Free
Published: 10 codes
24
Rating
Projects
121
68%
Arbitration
5
80%
/
0%
Overdue
12
10%
Working
25
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Similar orders
Build a Forex Multi-Basket Trading Bot for OANDA (Python v20 REST API Only) MANDATORY DEVELOPER REQUIREMENTS (PLEASE READ BEFORE APPLYING): Do not apply for this project unless you meet the following strict professional criteria: 1. Deep Mathematical & Quantitative Background: You must thoroughly understand statistical distributions, rolling standard deviations (σ), calculating matrix medians, and dynamic Z-score
I need a complete MetaTrader 5 Expert Advisor built for XAUUSD. The EA will trade a multi-timeframe trend-pullback strategy using the Daily, H4, and M15 timeframes. It must generate signals, manage trades, send alerts, and come with a full backtest on gold. This is a technical build. I am not asking for guaranteed profits or financial advice. Platform and Market Platform: MetaTrader 5 Language: MQL5 Symbol: XAUUSD
I need an AI based mt5 EA which self learns and improves on its previous mistakes. The EA must be able to utilize numerous trade set ups like; 1. CRT, 2. liquidity sweep reversal at selected higher timeframe where a candle sweeps previous candle high and closes lower or sweeps previous candle low and closes higher, 3. SMC where it trades on OB, CHoCH, BOS. 4. Support and resistance. It should trade any currency pair
Tradingview strategy develop
30+ USD
i need some tradingview strategy that i want to use as a tester, i have something that i am working on currently and i need someone that can provide me with tradingview strategies that doesn't have a win rate, the one with 1:1 RR it need to have low win rate like 10% or 5% profitability, i am not paying $30 for,i dont have up to that for this cause i only want to use it as a test, if anyone have any to send me please
An expert trading bot
100+ USD
hello i need help building a ea bot for mt5 and i have started on claude but i will need someone if a incredible experience to make my ideas come to live. please contact so we can schedule a quick call and i can share anything that concerns you for the task
Quantower strategy development
100+ USD
I am looking for someone with real experience developing strategies, indicators, or trading tools for Quantower . The strategy itself is relatively simple. The main issue is that I need to use some of Quantower's functions and API capabilities to program the strategy, but there is limited documentation available for some of the functionality, and I do not have enough time to fully understand the API and implement
I am looking for an experienced MQL5 developer who can BOTH research trading strategies and develop a commercial-quality MetaTrader 5 Expert Advisor. This is NOT simply a coding job. The developer is free to choose the trading logic, indicators, entry method, exit method, timeframe architecture and strategy type. I do not require the EA to copy or resemble any existing commercial EA. My priority is: ROBUST LONG-TERM
A developer will create an AI assisted EA forex watch-list scanner (not an auto-trader) designed to surface PDL/PDH bounces on M15, with coding in Python/MQL5. This will strictly be a market intelligence and scanning tool (no automatic order placement) and EA primary function will be a delivery of visual dashboard UI, 2-phased alerts (warning vs. execution), and multi-channel notification. 1. Project Overview &
EA Scalping XAUUSD M15 - EMA Cross
30 - 50 USD
Hello, please make me a simple MT5 Expert Advisor for XAUUSD on M15 timeframe. TRADING LOGIC: - BUY when EMA(10) crosses UP EMA(30) - SELL when EMA(10) crosses DOWN EMA(30) TRADING HOURS: - Only trade between 19:00 - 22:00 WIB / Jakarta time RISK SETTINGS: - Lot size: 0.01 - Stop Loss: 70 points - Take Profit: 150 - 300 points - Max 1 open position Please deliver .ex5 file ready to use. Thank you
Gods Plan v8
30 - 500 USD
//+------------------------------------------------------------------+ //| GODS PLAN V8.mq5 | //| Tebogo | //| tebogophago298@gmail.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert initialization function |
Project information
Budget
50 - 100 USD
Deadline
to 7 day(s)
Customer
Placed orders1
Arbitrage count0