New EA for Moj1367

MQL5 专家

指定

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

反馈

1
开发者 1
等级
(9)
项目
10
10%
仲裁
0
逾期
0
空闲
2
开发者 2
等级
(1)
项目
1
0%
仲裁
0
逾期
1
100%
空闲
3
开发者 3
等级
项目
0
0%
仲裁
0
逾期
0
空闲
4
开发者 4
等级
(178)
项目
190
46%
仲裁
3
33% / 33%
逾期
1
1%
已载入
5
开发者 5
等级
(2)
项目
2
0%
仲裁
1
0% / 100%
逾期
0
空闲
6
开发者 6
等级
(1)
项目
1
0%
仲裁
0
逾期
0
空闲
7
开发者 7
等级
(8)
项目
8
0%
仲裁
2
50% / 0%
逾期
1
13%
工作中
8
开发者 8
等级
项目
0
0%
仲裁
0
逾期
0
空闲
相似订单
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 |
I’m looking to purchase an existing, proven Trend-Following EA for MT5 . I am NOT looking to develop a new EA from scratch , so please read the requirements carefully before applying. The EA should follow a market-structure/trend-following approach similar to this: Identify a clear Break of Structure (BOS) to confirm the trend direction. Wait for a pullback/retracement instead of chasing the initial breakout. Enter
I am looking for an experienced MQL5 developer to create a fully automatic MT5 Expert Advisor (EA) for frequent small-profit trades. My current manual strategy is simple: I watch short-term price movement, enter when price starts moving strongly up or down, and close once a small profit is achieved. I want an EA that can identify these movements and automatically repeat this process throughout the day. Main
Code the indicator to MT5 EA, include all the inputs variables and values Allow live trading Allow demo trading Allow strategy tester Bar shift 0 adjustable Allow indicator to show on strategy tester Lot size adjustable Max spread in points (0=disable) Use stop loss circle true or false Stop loss circle in points adjustable Use stop loss true or false Stop loss in points (adjustable) Take profit true or false Use

项目信息

预算
50 - 100 USD
截止日期
 7 天

客户

所下订单1
仲裁计数0