Obba EA

Работа завершена

Время выполнения 8 дней

Техническое задание

I have this indicator that I use for my strategy and I want make it into an EA

/@version=5
indicator("Swing High/Low with Horizontal Lines", overlay=true)

// Inputs
barsback = input(2, title='Bars back to check for a swing')
futureBars = input(10, title='Number of future bars for horizontal line')
showSwings = input.string("Both", title="Show Swings", options=["Both", "Highs", "Lows"])
maxSwings = input.int(5, title="Maximum number of swings to show", minval=1)

// Function to detect swing highs and lows
swing_detection(index) =>
    swing_high = true
    swing_low = true
    for i = 1 to barsback
        if high[index - i] >= high[index] or high[index + i] > high[index]
            swing_high := false
        if low[index - i] <= low[index] or low[index + i] < low[index]
            swing_low := false
    [swing_high, swing_low]

// Detect swings for the current bar
[swing_high, swing_low] = swing_detection(barsback)

// Initialize arrays for swing lines and their end bars
var line[] swingHighLines = array.new_line()
var int[] swingHighEndBars = array.new_int()
var line[] swingLowLines = array.new_line()
var int[] swingLowEndBars = array.new_int()

// Function to draw lines
draw_line(lineArray, endBarArray, index, price, color) =>
    if array.size(lineArray) >= maxSwings
        line.delete(array.shift(lineArray))
        array.shift(endBarArray)
    newLine = line.new(x1=bar_index - index, y1=price, x2=bar_index - index + futureBars, y2=price, color=color, width=2)
    array.push(lineArray, newLine)
    array.push(endBarArray, bar_index + futureBars)

// Check if the line should be extended or stopped
update_lines(lineArray, endBarArray) =>
    for i = 0 to array.size(lineArray) - 1
        lineId = array.get(lineArray, i)
        endBar = array.get(endBarArray, i)
        price = line.get_y1(lineId)
        if bar_index <= endBar
            if high >= price and low <= price
                array.set(endBarArray, i, bar_index)
                line.set_x2(lineId, bar_index)
                line.set_extend(lineId, extend.none)

// Conditionally draw swing highs and lows based on user selection and maximum number of swings
if (showSwings == "Both" or showSwings == "Highs") and swing_high
    draw_line(swingHighLines, swingHighEndBars, barsback, high[barsback], color.red)

if (showSwings == "Both" or showSwings == "Lows") and swing_low
    draw_line(swingLowLines, swingLowEndBars, barsback, low[barsback], color.green)

// Update lines to stop extending when crossed
if showSwings == "Both" or showSwings == "Highs"
    update_lines(swingHighLines, swingHighEndBars)

if showSwings == "Both" or showSwings == "Lows"
    update_lines(swingLowLines, swingLowEndBars)


Identify swings using the above indicator way of identifying them 

Compare two charts (Allow me to choose which charts + allow me to use the time frame) (time frame should be in the same for both of them)

Mark the common swings (Common swing is a swing that has formed on both choose charts within the same candle on the selected time frame 

Once one of the common swings broken on only 1 chart and not on the other (That is called Obba) set a stop order on the pair that hasn’t broken the common swing
For example 

Pair 1 broke the common swing high but pair 2 didn’t, then Set stop order on pair 2 on the low of the last formed candle, set SL on the common swing 
Set Tp 2.5RR

If the common swing is broken before order activation then cancel the order 

If the order is not activated and new candle formed and the common swing still not broken then cancel the order and set it again on the low of the last formed candle 

When price reaches 1.5RR move stop loss to breakeven and close 0.25% of the open lot size

Only 1 trade per pair a time (you can enter for the other pair) unless the open trade is on breakeven 


Maximum loses per day ( variable) 

Maximum Tp ( variable)

Chosen Risk in percentage from the equity capital ( variable) 

Откликнулись

1
Разработчик 1
Оценка
(23)
Проекты
34
53%
Арбитраж
1
100% / 0%
Просрочено
1
3%
Свободен
2
Разработчик 2
Оценка
(111)
Проекты
183
25%
Арбитраж
24
17% / 75%
Просрочено
16
9%
Свободен
3
Разработчик 3
Оценка
(3)
Проекты
5
40%
Арбитраж
2
0% / 50%
Просрочено
1
20%
Свободен
4
Разработчик 4
Оценка
(1)
Проекты
2
0%
Арбитраж
0
Просрочено
0
Свободен
5
Разработчик 5
Оценка
(160)
Проекты
208
61%
Арбитраж
10
80% / 0%
Просрочено
0
Свободен
Опубликовал: 1 пример
6
Разработчик 6
Оценка
(78)
Проекты
246
74%
Арбитраж
7
100% / 0%
Просрочено
1
0%
Свободен
Опубликовал: 1 статью
7
Разработчик 7
Оценка
(11)
Проекты
15
20%
Арбитраж
6
0% / 100%
Просрочено
3
20%
Свободен
Похожие заказы
Hello Traders, Have a trading strategy or idea you want to automate? I specialize exclusively in MQL5 development, helping traders turn their concepts into professional trading solutions. Custom Expert Advisors — automate your strategy and reduce manual execution Custom Indicators — transform your market ideas into powerful trading tools Fix & Debug — identify errors and get your existing code working properly
please share: Strategy description — entry/exit rules, indicators used, timeframe(s), and instrument(s) (a written explanation, screenshots, or an existing indicator/EA to reference all work) Risk management rules — position sizing method (fixed lot / % risk), stop loss / take profit logic, max drawdown or daily loss limits, and whether martingale/grid/hedging is involved Broker & account details — broker name
I need a unique grid trading system for XAUUSD that combines entry, controlled two-sided grid expansion, DCA (Dollar Cost Averaging) basket profit control, hedging. Unlike traditional grid EAs that only trade against price, this unique grid system should dynamically build positions in both directions based on market movement, allowing flexible adaptation to changing conditions ie the grid needs to dynamically move
EA for Gold 50+ USD
need a Gold robot? check out this EA for Gold. It specialises in bringing in big amounts of profit and is very consistent. It's very trustworthy and it trades the SMC strategy.Enjoy
I need an experienced MQL5 developer to create a fully automated MT5 Expert Advisor called Ayoub Gold EA , focused exclusively on XAUUSD (Gold) . Main requirements: Platform: MT5 / MQL5. Fully automated BUY and SELL trading on XAUUSD. Must support broker suffixes such as XAUUSD, XAUUSD.f and XAUUSDm. Trading strategy based mainly on Range Breakout with trend confirmation. EMA, ADX and ATR filters. London/New York
I develop and customize automated trading systems for MetaTrader 5 using MQL5. My experience includes developing EAs based on price action, market structure, Moving Averages, ADX, Smart Money Concepts, supply and demand zones, Break of Structure, Fair Value Gaps, trailing stops, risk management, and multi-timeframe analysis . I can also modify existing MQL5 source code, fix errors, add new trading features, and help
Looking for an experienced Sierra Chart ACSIL/C++ developer to customize an existing footprint chart. I need 3 things: 7-Day ATR – calculate and display a configurable 7-day ATR. Custom Footprint – modify my existing footprint chart to match my preferred layout/data display. Automatic LVN – detect and plot Low Volume Nodes automatically based on volume distribution. I already have a working footprint chart, so no
Торговый робот XAUUSD AI/ML — MT5 + Python + MQL5 Ищу опытного разработчика с глубокими знаниями в следующих областях: MQL5 / MetaTrader 5 Python Машинное обучение / Искусственный интеллект Алгоритмическая торговля Проект Я хочу разработать торговую систему на основе ИИ/машинного обучения, предназначенную исключительно для XAUUSD (золото) . Архитектура: Данные рынка XAUUSD → Модель Python/ML → ПОКУПКА / ПРОДАЖА /
The EA needs to be upgraded according to the strategie built in and first the programer must specify the problems and how can correct and provide the video on how the bot works on different assets after correction
//———————————————————————————————————————————————————————————————————— struct S_MCAV { double matureSum; double totalSum; double value; void Init () { matureSum = 0.0; totalSum = 0.0; value = 0.5; } void AddContext (int ctx) { totalSum += 1.0; if (ctx == 1) matureSum += 1.0; } void ApplyDecay (double rate) { matureSum *= rate; totalSum *= rate; } void Update () {

Информация о проекте

Бюджет
30+ USD