032518 Request

MQL5 Uzmanlar

Şartname

is modification request is centered around creating "as needed" limit orders created until the desired pips goal "y" is obtain.  Meaning, 
limit order positions are created until the "y" is obtained.

<Start position>

The opening positions are a limit "buy" position and a limit "sell" position opened "x" pips away from the current price.

Example-1, let's say EUR/USD is currently @ 1.1000 and x=10

A limit buy position will be placed @ 1.1010
-AND-
A limit sell position will be placed @ 1.0990

<Closure>

The closure of these positions is determined by "y".

Example-2, let's say EUR/USD is currently @ 1.1000 and x=10 y=10

A buy limit position will be placed @ 1.1010
-AND-
A sell limit position will be placed @ 1.0990

If the buy position is opened @ 1.1010, then the closure will be 10 pips -- as determined as "y".
In this case, it will be 1.1020 and the position will be closed along with the removal of the sell limit order @ 1.0900 even
though it was never opened.

<Process>

When a set of limit orders are placed and both the buy and sell orders are opened prior to reaching "y", this is called a "grid lock".  Thus, when a "grid lock" happens, 
an additional set of limit orders are placed--an additional set of buy and sell limit orders.  The placement of the additional set is "x" away from the 1st set of limit orders.

Example-3, let's say x=10 y=10 using Example-1

A buy limit position was placed @ 1.1010 and was opened and did not reach "y"
-AND-
A sell limit position was placed @ 1.0990 and was opened and did not reach "y"

A 2nd set of limit orders are placed "x" away from the 1st set of limit orders.  In this case this would be the following:

A buy limit position placed @ 1.1020 since it is "x" away from the 1st buy limit order @ 1.1010.
-AND-
A sell limit position placed @ 1.0980 since it is "x" away from the 1st sell limit order @ 1.0990.


<Closure>

With the limit orders reaching its 2nd set, the "closure" would be determined by "y".  Remember "y" is the net positive difference off all present opened position.
Once "y" is achieved, all positions are closed and removed.  Thus, ending this cycle.

Example-4

Continuing fomr Example-3
In the 2nd set of limit orders placed, the buy position was opened @ 1.1010 and reached "y". In this case, "y" will be @ 1.1050
sell-1 opened @ 1.0990 closed @ 1.1050 = -60 pips
sell-2 never opened n/a
buy-1 opened @ 1.1010 closed @ 1.1050 = +40 pips
buy-2 opened @ 1.1020 closed @ 1.1050 = +30 pips
----------------------------------------------------------
    Sum = +10 pips
      y = 10 pips

Once "y" is achieved, the "cycle" starts again in Example-1.


<Additional set of limit orders>

Since the market is the market, the total number of "grid locks" occuring will always change.  Thus, the number of sets of limit orders needed to achieve "closure" can vary.
Thus, whenever a "grid lock" happens, an additional set of limit orders is placed. 
If after a new set of limit orders is placed and a "grid lock" doesn't occur, then the next focus would be "Y". "Y" is the total sum of all present opened positions.

<Summary>

This is the process of this request.  It is as follows:

1. |START|

2. Define "X" and "Y" 

3. Place 1st set of limit orders 

4. Did Grid Lock occur? Yes or No

5. If No, proceed to "closure" determined by "Y".  Cycle Ends.  Start over.

6. If Yes, place 2nd set of limit orders. Placement of orders is determined by "X".

7. Did Grid Lock occur? Yes or No

8. If no, proceed to "closure" determined by "Y".  Cycle Ends.  Start over.

9. If yes, place 3rd set of limit orders.  Placement of orders is determined by "X".

10. Did Grid Lock occur? Yes or No.

11.  Repeat this process as needed until there is no "Grid Lock" and "Y" is achieved.


<Significance of Montiero_ea>

In the already provided robot "Montiero_ea" I would like to keep the following variables:
nCycles
Base
Magic

nCycles is number of times you want the robot to complete a closure.
Base is using the balance to determine the number of "lots" for the limit orders.
Magic is the instance number used.

I forsee (as an example) of the following to be the variables|value for this robot request

Variables Value
_1_ __EA Settings__
nCycles Same as Montiero_ea
currencyPair Same as Montiero_ea
Base Same as Montiero_ea
X see example above
Y see example above
Magic Same as Montiero_ea

<END>

If there is any clarification needed on any part of this, please let me know and I will provide greater clarity.

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(94)
Projeler
148
59%
Arabuluculuk
16
38% / 13%
Süresi dolmuş
25
17%
Serbest
Yayınlandı: 1 kod
Benzer siparişler
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 () {

Proje bilgisi

Bütçe
30+ USD