New EA for Moj1367

MQL5 Experts

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
Developer 1
Rating
(9)
Projects
10
10%
Arbitration
0
Overdue
0
Free
2
Developer 2
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
1
100%
Free
3
Developer 3
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
4
Developer 4
Rating
(178)
Projects
191
46%
Arbitration
3
33% / 33%
Overdue
1
1%
Loaded
5
Developer 5
Rating
(2)
Projects
2
0%
Arbitration
1
0% / 100%
Overdue
0
Free
6
Developer 6
Rating
(1)
Projects
1
0%
Arbitration
0
Overdue
0
Free
7
Developer 7
Rating
(8)
Projects
8
0%
Arbitration
2
50% / 0%
Overdue
1
13%
Working
8
Developer 8
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
9
Developer 9
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
10
Developer 10
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 1 code
11
Developer 11
Rating
(5)
Projects
5
0%
Arbitration
2
50% / 50%
Overdue
0
Free
12
Developer 12
Rating
(64)
Projects
144
46%
Arbitration
20
40% / 20%
Overdue
32
22%
Working
13
Developer 13
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Published: 2 codes
14
Developer 14
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
15
Developer 15
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
16
Developer 16
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
17
Developer 17
Rating
(10)
Projects
14
43%
Arbitration
0
Overdue
3
21%
Free
18
Developer 18
Rating
(45)
Projects
63
52%
Arbitration
5
0% / 40%
Overdue
1
2%
Free
19
Developer 19
Rating
(2)
Projects
2
50%
Arbitration
0
Overdue
0
Free
20
Developer 20
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
21
Developer 21
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
22
Developer 22
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
23
Developer 23
Rating
Projects
1
0%
Arbitration
0
Overdue
0
Free
Published: 10 codes
24
Developer 24
Rating
(87)
Projects
121
68%
Arbitration
5
80% / 0%
Overdue
12
10%
Working
25
Developer 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
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
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
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 &
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