EA to switch between 2 symbols according to trading parameters (with code for MT4 & MT5)

MQL5 Esperti

Lavoro terminato

Tempo di esecuzione 60 giorni
Feedback del dipendente
Even we done this project in a long time, I am grateful for great ideas and nice communication. I hope catch his future jobs too :)
Feedback del cliente
Mohammad is BY FAR the most talented programmer I hired so far. He contributed with original solutions to problems that had long troubled me. Great communication, definitely a long-term partnership.

Specifiche

GENERAL IDEA
-- we specify 2 symbols (ex. input symbol 1 = Microsoft & symbol 2 = Apple);

-- we specify input initial amount to trade (ex. $10,000);

-- we specify the interval at which the EA will check the trading conditions (ex. input interval_X = 10M)

-- we specify the trading parameters (ex. input conditions X = 1.0%; & Y = 1.5%)

ACTIONS:

1) UNIQUE ACTION = FIRST BUY:

-- if there is no open position by this EA, immediately buy X shares (= lot1) of symbol 1 at current ask_price (using the initial amount to calculate the lot);

-- register the quotes of BOTH symbol_1 & symbol_2 at the time of the transaction (let's call the "LAST-TRADE-QUOTE-1 & LAST-TRADE-QUOTE-2): those values will be used for trading condition X.


2) REGULAR/REPEATED ACTIONS: (obs. after the first buy, there'll always be an open position)

at every interval_X, check which symbol is the current open position;
-- if symbol 1 is current position, check if condition_X or condition_Y is true
  -- if symbol 1 is current position & (X or Y is true) --> sell symbol 1 

-- use the money from the sell to calculate lot2 (# of shares) --> buy  symbol 2

-- register quotes of both symbols (last-trade-quote-1 & last-trade-quote-2);


-- if symbol 2 is current position, check if condition_X or condition_Y is true
-- if symbol 2 is current position & (X or Y is true) --> sell symbol 2

-- use the money from the sell to calculate the new lot1 (# of shares) --> buy  symbol 1;

-- register quotes of both symbols (last-trade-quote-1 & last-trade-quote-2);

Bottom line:

-- after the first buy, there will always be an open position;

-- the EA will check the trading conditions: if they are true, sell symbol 1 & buy symbol 2 (or sell symbol 2 & buy symbol 1);

-- repeat the process at the defined interval

==============

GENERAL IDEA WITH MORE DETAILS: 

An important part of this EA is the "dynamic calculation" of the lots, meaning: after we close a position, the money generated by the sell of symbol_1 (or symbol_2) will be used to calculate how many shares we can buy of symbol_2 (or symbol_1). 

I think this can be achieved with the use of the following variables: 

double BUYMONEY (the available money to make the buy), SELLMONEY (the money generated by the sell), STANDBYCASH (the money not used in the buy after rounding down to min-lot). 

As there is a MIN LOT requirement, we never use the total amount of available money. We'll call this the STANDBYCASH. 


1) calculating the STANDBYCASH
let's say we have 10,000 to start with and Microsoft is $98. 
let's say the MIN-LOT = 1.0. 
so we could buy 102 shares of Microsoft. 
now: 102 lots at $98 = $9,996, which means that $4 are not used: that's the standbycash = $4
so standbycash = previous available money to make a buy (or BUYMONEY) - amount spent in the buy (which can be calculate by lot * ask.price). 

2) so, after the first buy, we will (always) have an open position.
let's say the trading conditions are true, so it's time to sell. 
let's say the bid price for Microsoft is $104. 
the amount generated by this sell (SELLMONEY) = lot1 * bid1 = 102 * 104 = $10,608 
so the new total amount available to make a buy (let's call it BUYMONEY = standbycash ($4) + sellmoney ($10,608) = $10,612
{obs. later on we can also include TRADEFEES: buymoney = standbycash + sellmoney - tradefees}
With that, we can calculate LOT2 (the # of shares of symbol_2 to be bought): 
LOT2 = buymoney / ask2 (the ask price of symbol2) (rounding to min lot). 
Let's say the ask_price of Apple is $84. 
With $10,612 we could buy 126 shares of Apple. 
Now, 126 * 84 = 10,584 meaning that we will have $28 left in the account. 
new standbycash = 10,612 - 10,584 = $28

Next time, we will sell Apple, say, at 90.

126 shares * 90 = $11,340 (sellmoney)
new buymoney = sellmoney + standbycash = 11,340 + 28 = $11,368

With that, we calculate the new lot of Microsoft to buy.
Let's say Microsoft is now $112.
With $11,364 at $112, we can buy 101 Microsoft (always rounding to min lot). 
Amount spent = 101*112 = $11,312, meaning the new standbycash = 11,364 - 11,312 = $52

And so on.

=========================

SPECIFICATIONS ABOUT THE CONDITIONS X & Y

input periods = 50;

input condition_X = 1.0%
input condition_Y = 1.5%

X1 = (bid1 / last-trade-quote-1) - (ask2 / last-trade-quote-2);  // X1 is the condition X when symbol_1 is the current/open position
X2 = (bid2 / last-trade-quote-2) - (ask1 / last-trade-quote-1); // X2 is the condition X when symbol_2 is the current/open position

Y1 = bid1 / avg1 (= average of 50 periods of symbol1) - ask2 / avg2   // Y1 is the condition Y when symbol_1 is the current/open position
Y2 = bid2 / avg2 (= average of 50 periods of symbol2) - ask1 / avg1  // Y2 is the condition Y when symbol_1 is the current/open position

if (X1 >= condition_X || Y1>= condition_Y) bool sell_1_buy_2 is true
if (X2 >= condition_X || Y2>= condition_Y) bool sell_2_buy_1 is true

===========================

Thanks

Marcos

PS. $100 is the budget for having the EA with the code for both MT4 & MT5

PS2. I have developed this myself and works well in the strategy tester, but I want/need it to be protected against potential errors.

So, the developer who accepts the job may either revise/adapt/protect the code I already have or create his own. 

Con risposta

1
Sviluppatore 1
Valutazioni
(69)
Progetti
93
34%
Arbitraggio
10
40% / 30%
In ritardo
5
5%
Gratuito
Ordini simili
Hello, I want a grid trading bot for the Gate.io crypto exchange. I currently have a working grid bot written in MQL5, and I want a similar bot implemented in Python. The MQL5 bot can be translated, but the codebase is large and it was not designed to be easily ported to Python. Therefore, I prefer that the final Python bot preserves the same core grid logic, but is implemented cleanly in Python rather than doing a
Chancefxbot1 400 - 600 USD
– MA20/30/50 Alignment + MA50 Slope + Swing SL + Step Trail + News Filter Symbol: XAUUSD Timeframe: M5 Language: MQL5 Trading: 24/5 (no session filter) 1) Indicators (Inputs) MA20, MA30, MA50 MA type selectable: EMA or SMA Applied to Close Inputs: MA periods and MA method 2) Entry Rules (Alignment + Slope) BUY: MA20 > MA30 > MA50 MA50 slope filter passes: Slope = MA50(current) − MA50(10 candles ago) Require slope ≥
I need an MT5 Expert Advisor for manual trading execution with precise risk-in-money control and automatic position splitting. FUNCTIONAL REQUIREMENTS: 1. Input: Total risk per trade in money (USD). 2. Input: Stop Loss in points/pips (or read from chart SL line). 3. EA must calculate position size based on total risk and SL distance. 4. EA must detect broker maximum lot size per position. 5. If calculated lot size
Tuyển dụng chuyên gia MQL4 để tối ưu hóa và hoàn thiện hệ thống giao dịch tự động (EA) I. Tổng quan Tôi đang tìm kiếm một nhà phát triển MQL4 giàu kinh nghiệm để tinh chỉnh, tối ưu hóa và hoàn thiện một Expert Advisor (EA) được thiết kế riêng cho nền tảng MetaTrader 4 (MT4). Logic cốt lõi đã được phát triển; mục tiêu chính là nâng cao hiệu suất và đảm bảo tính ổn định sẵn sàng cho môi trường sản xuất. II. Yêu cầu kỹ
The EA should only set TP and SL( Both Optional, We can set one at the time or no one at the same time or both active at the same time) 1. We active trade ourself , But in The EA this should ask if what the the TP and SL in form of USD we need. We'll put the Exact Required profit and or loss. This EA should calculate and set the tps and Sls itself to all the trades, and when we change the USD profit from info meter
Hello, I am looking for a trading idea, Expert Advisor (EA), or signal service that can achieve around 10% monthly profit (or close to it) in a realistic and consistent manner. 🔹 Very Important : Before any discussion or explanation, you must provide solid and verifiable proof of performance. The proof must be available on one of the following platforms: SignalStart MQL5 Myfxbook ❌ Backtests are NOT accepted and are
Pro EA 30+ USD
Hi, I want to build a trading robot specifically for passing a prop firm challenge. The EA should focus on strict risk management, low drawdown, and consistency suitable for prop firm rules. My current budget for this project is $30. Please let me know what is achievable within this budget and the strategy you recommend
Indicator Simple Moving Averages and Exponential Moving Average BUY SIGNALS SMA 7 High Crosses Above 20 EMA= LIME color Buy Signal at the low of next candle. SMA 7 High Crosses above 40 EMA= BLUE color Buy Signal at low of next candle. SMA 7 High Crossed above 200 EMA= YELLOW Color buy signal at the low of next candle. SELL SIGNALS SMA 7 Low Crosses below 20 Ema= LIME color Sell Signal at the high of next candle. SMA
TRADE COPIER 80+ USD
hello great developer im looking for trade copier I want to tell me more about the features, returns, risks and scalability I think you can tell me the best platform to use for effective results. I also want to know whether it's automated, daily/weekly/monthly returns (profit) and monthly drawdown
WILL PROVIDE MORE DETAILS IN CHAT ... THE EA The EA executes (places trades)? The EA exits (closes trades)? The EA expired ? Or something else? Please provide more details: Which platform? ( MetaTrader 5 or MetaTrader 4 ) What exactly is happening? (error message, no trades, wrong trades, etc.) Broker name? Symbol (like XAUUSD, XAUUSD+, etc.) Send the exact message or screenshot text and I’ll fix it step-by-step

Informazioni sul progetto

Budget
60 - 100 USD
Scadenze
da 1 a 7 giorno(i)