New EA for Moj1367

MQL5 Experts

Spécifications

//@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")

Répondu

1
Développeur 1
Évaluation
(9)
Projets
10
10%
Arbitrage
0
En retard
0
Gratuit
2
Développeur 2
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
1
100%
Gratuit
3
Développeur 3
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
4
Développeur 4
Évaluation
(178)
Projets
191
46%
Arbitrage
3
33% / 33%
En retard
1
1%
Chargé
5
Développeur 5
Évaluation
(2)
Projets
2
0%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
6
Développeur 6
Évaluation
(1)
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
7
Développeur 7
Évaluation
(8)
Projets
8
0%
Arbitrage
2
50% / 0%
En retard
1
13%
Travail
8
Développeur 8
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
9
Développeur 9
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
10
Développeur 10
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 1 code
11
Développeur 11
Évaluation
(5)
Projets
5
0%
Arbitrage
2
50% / 50%
En retard
0
Gratuit
12
Développeur 12
Évaluation
(64)
Projets
144
46%
Arbitrage
20
40% / 20%
En retard
32
22%
Travail
13
Développeur 13
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 2 codes
14
Développeur 14
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
15
Développeur 15
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
16
Développeur 16
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
17
Développeur 17
Évaluation
(10)
Projets
14
43%
Arbitrage
0
En retard
3
21%
Gratuit
18
Développeur 18
Évaluation
(45)
Projets
63
52%
Arbitrage
5
0% / 40%
En retard
1
2%
Gratuit
19
Développeur 19
Évaluation
(2)
Projets
2
50%
Arbitrage
0
En retard
0
Gratuit
20
Développeur 20
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
21
Développeur 21
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
22
Développeur 22
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
23
Développeur 23
Évaluation
Projets
1
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 10 codes
24
Développeur 24
Évaluation
(87)
Projets
121
68%
Arbitrage
5
80% / 0%
En retard
12
10%
Travail
25
Développeur 25
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
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 |

Informations sur le projet

Budget
50 - 100 USD
Délais
à 7 jour(s)

Client

Commandes passées1
Nombre d'arbitrages0