Simple background trading bot for Oanda account (v20 REST API)

Tâche terminée

Temps d'exécution 4 jours
Commentaires du client
Punctual, technically sound and tried all his efforts!
Commentaires de l'employé
Clear brief, fast technical replies, and his own test ideas improved the result. Patient explaining the platform steps on my first job here. Terms agreed up front and kept. Would work again.

Spécifications

Title:
Simple background trading bot for my Oanda account (v20 REST API)

Overview

Hi, I need a simple, lightweight event based standalone trading bot that connects directly to my Oanda account using broker’s standard REST API (V20 account) via VPS

The bot just needs to look at group of 5 currency pairs (manually selectable and adjustable) in different 4 baskets, do some basic percentage math every period, and place trades based on a defined trigger. Each basket has manually selectable Ture/False toggle in background file (such as in plain English of Config.imi etc) No change in the coding. No interface is required.

It will run in the background on a small VPS Windows server alongside another script, so the code needs to be highly efficient and use very little memory. You can use whatever programming language you are fastest and most efficient with (like Python, C#, C++, etc.), as long as it runs light.


1. The Math & Rules (with on/off selectable toggle in ANY number of Seconds or Minutes (Own time frame) 

**Flip Prices:** For directionally inverted pairs (like USD/CAD), just flip the price math (1 / Price) so it aligns with the other pairs in the group. Example; (EUR_USD GBP_USD AUD_USD NZD_USD USD_CAD > CAD_USD)

**Find the Center (Median) :** For each group of 5 pairs, calculate individual Periodic percentage move (Current Price - Start Price / Start Price) x 100, sort them percentages from lowest to highest, and pick the middle one (the 3rd pair) as the center anchor (Median)

**The Trigger Rule:** Individual% - Median /SD 
For the numerator, subtract that center anchor (Median) from individual pair's percentage move to get the current residual gap value. (explained in the attached excel sheet as well) 

For the denominator, calculate the standard deviation of that same residual gap calculation in numerator over the past 100 historical periods (rollover of same calculated values)(NOT RAW data)

Divide the individual current residual by this historical residual standard deviation (over 100 periods) to get the final Z-score.

If the result is greater than >2.0 or <2.0, it triggers a trade. 
BUT……… it must validate following sub conditions: 

**The Condition of Number of Pairs that Define Silence Filter:** 
Toggle: Market Volatility Filter: True/False 
(three conditions)
If Leader SD>2 or SD<2 (SD values manually adjustable)
If Follower pairs SD<0.5 or SD>0.5 (SD values manually adjustable) 
IF This NUMBERS of followers SD move in same direction (2,3,4)(manually adjustable) 

Consider RAW data to calculate SD in an individual currency’s co-movement test of Half % in SD that decides Silence in Volatility or otherwise. 

Further explanation of Silence Filter: (To protect against a dead market (or just because of violent spike in One instrument) check link to individual volatility of remaining pairs against their averages. If at least 1 or 2 or 3 or 4 out of the 5 pairs are not moving more than half (0.5x) of their standard historical speed (in the same direction), the bot must instantly declare the group as Silent. The bot will freeze that basket and skip the cycle, ignoring fake signals on background noise. This  SD will be based on RAW data of past 100 selected periods) (deque))

## 2. Keeping the Server Safe & Light
* **Low Memory:** The bot must run quietly in the background as a simple standalone task. Do not use heavy databases or heavy charting platforms (like MetaTrader MT4/MT5), as my VPS server has very tight memory limits. Just use tiny, fast local arrays in RAM to hold the last 100 prices.
* **Timer Delays:** Don't check all currency groups at the exact same millisecond. Space them out by 2 seconds each so the server's CPU stays near 0%.
* **Auto-Reconnect:** If the internet drops for a few seconds, the bot must automatically pause, wait a bit, and reconnect itself safely without freezing up or dying silently.

---

## 3. Safe Trade Execution
* ** True/False: Limit Orders:** To protect account from bad slippage or wide spreads during news, the bot may use Limit Orders set slightly below the price (like -0.1 or -0.2 pips) (pips selection are manually adjustable)
* **15-Second Delete:** If a limit order doesn't get filled within 15 seconds, the bot must automatically cancel it so we don't leave old, stale trades hanging open.
**Timer Reset:** The Periodic countdown (whatever the time frame is selected) resets completely to zero at the start of every new block of time.
* **No Opposite Trades:** If the bot already has a buy trade open on a pair, block it from opening a sell trade on that same pair at the same time (the account runs on Netting Not Hedging) 

* **Manual Close Pause:** If I manually close a trade on my phone app, the bot must notice it, pause for 1 minute, and reset its timer before looking at that group again.

## 4. Settings File & Daily Logs
* **Settings Text File:** All settings (like risk %, max trades, trade hours, and max spread filter) must be written in a simple configuration text file so I can easily change them on my notepad without touching the main code. 

* **Daily Spreadsheet Logs:** The bot must save all its calculations and trade outcomes into a daily CSV spreadsheet file so I can review them at the end of the day.

## Project Terms & Delivery 

* **VPS Deployment:** Once the code is ready, the developer connect it to Windows VPS for deploying/installing the bot so that it runs successfully in the live background.

* **Testing Phase:** Developer can open its own demo account in Oanda to test it at their side. 

* **Warranty:** The developer provide a full 2-week post-delivery warranty. If any bugs, calculation lag, or stream reconnection errors occur during the first 14 days of running live, the developer fix them for free.



Répondu

1
Développeur 1
Évaluation
(2)
Projets
4
0%
Arbitrage
0
En retard
0
Gratuit
2
Développeur 2
Évaluation
(4)
Projets
10
60%
Arbitrage
0
En retard
0
Travail
3
Développeur 3
Évaluation
(2)
Projets
2
0%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
4
Développeur 4
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Publié : 2 codes
5
Développeur 5
Évaluation
(13)
Projets
21
38%
Arbitrage
0
En retard
1
5%
Travail
6
Développeur 6
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
7
Développeur 7
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
8
Développeur 8
Évaluation
(1)
Projets
2
50%
Arbitrage
0
En retard
1
50%
Travail
9
Développeur 9
Évaluation
(16)
Projets
17
47%
Arbitrage
3
0% / 100%
En retard
0
Gratuit
Publié : 1 article
10
Développeur 10
Évaluation
(6)
Projets
10
10%
Arbitrage
9
0% / 89%
En retard
1
10%
Gratuit
11
Développeur 11
Évaluation
(55)
Projets
68
43%
Arbitrage
15
27% / 60%
En retard
1
1%
Travail
12
Développeur 12
Évaluation
(170)
Projets
203
47%
Arbitrage
5
20% / 60%
En retard
3
1%
Gratuit
13
Développeur 13
Évaluation
(52)
Projets
58
59%
Arbitrage
4
0% / 25%
En retard
1
2%
Gratuit
14
Développeur 14
Évaluation
(6)
Projets
12
33%
Arbitrage
1
0% / 0%
En retard
5
42%
Gratuit
15
Développeur 15
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
16
Développeur 16
Évaluation
(87)
Projets
121
68%
Arbitrage
5
80% / 0%
En retard
12
10%
Travail
17
Développeur 17
Évaluation
(20)
Projets
26
38%
Arbitrage
6
33% / 50%
En retard
0
Gratuit
18
Développeur 18
Évaluation
(4)
Projets
5
0%
Arbitrage
0
En retard
0
Gratuit
19
Développeur 19
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
20
Développeur 20
Évaluation
(64)
Projets
145
46%
Arbitrage
21
38% / 24%
En retard
32
22%
Gratuit
21
Développeur 21
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
22
Développeur 22
Évaluation
(2)
Projets
4
50%
Arbitrage
0
En retard
0
Chargé
Publié : 5 codes
23
Développeur 23
Évaluation
(2)
Projets
2
50%
Arbitrage
0
En retard
0
Gratuit
24
Développeur 24
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
25
Développeur 25
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
26
Développeur 26
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
#property strict #property version "1.00" #property description "EMA Trend + Pullback + Engulfing EA" // Include the standard MT5 trade library. #include <Trade/Trade.mqh> CTrade trade; //============================================================== // INPUT SETTINGS //============================================================== // Trend indicators input int FastEMA = 20; input int SlowEMA = 50; // Pullback
Titolo: Cerco sviluppatore per EA su XAUUSD M1 per conto reale Cerco uno sviluppatore MQL5 per creare un Expert Advisor per MetaTrader 5 su XAUUSD M1, da utilizzare su conto reale con deposito iniziale di 100–200 €. La strategia prevede un Buy Stop a 1,00 sopra l’Ask e un Sell Stop a 1,00 sotto il Bid, entrambi con stop loss iniziale di 1,00 e senza take profit fisso. I pendenti devono restare fermi: quando uno viene
// Meta Scalper EA - RSI + Breakout + Lot Management #property strict #include <Trade\Trade.mqh> CTrade trade; input int RSI_Period=14; input double RSI_Overbought=70; input double RSI_Oversold=30; input int Breakout_Period=20; input int ATR_Period=14; input double ATR_Multiplier_SL=1.5; input double ATR_Multiplier_TP=3.0; input bool UseRiskPercent=true; input double RiskPercent=2.0; input double FixedLot=0.1; input
BUDGET: 100-120 USD - FIXED - includes source code .mq5 + .ex5 I will test demo first on 100$ demo account. If good, I pay. WHAT I WANT: 1. SIGNAL STRENGTH LOGIC: - WEAK SIGNAL = 1 position only. - STRONG SIGNAL = 2,3,4,5 positions (more positions because signal is strong). - Signal strength calculated by indicators. 2. ADAPTIVE TO CAPITAL: - Lot auto = Balance / 100 * 0.01. Example 100$ = 0.01 lot, 300$ = 0.03 lot
Project: MT5 Expert Advisor — Dual-Sided Hedging Grid with Fibonacci Lot Progression I need a custom Expert Advisor (EA) developed in MQL5 for MetaTrader 5. 1. Trading Strategy The EA must open both Buy and Sell market positions when a new trading cycle starts, provided the broker account supports hedging. The EA must manage the Buy and Sell directions independently. When the market moves downward against the Buy
Hello lovies, I’m reaching out because I’m working on a specialized macroeconomic intelligence service focused on major economic releases and their potential impact on gold (XAUUSD), the US dollar, and the wider financial markets. My approach goes beyond simply following the economic calendar. I focus on understanding the information behind upcoming events, market expectations, and the potential implications for
Platform: MT5 only (no MT4 needed). Deliverable: an MT5 Expert Advisor with full source code (.mq5) that replicates the attached TradingView strategy (Pine Script v6, based on LuxAlgo's "ICT Killzones Toolkit" order blocks) as exactly as possible. Pasting the code into TradingView shows how it operates. I normally trade GBPUSD on the 5-minute chart Expected behavior: - Order block detection must match the Pine code
Requirements Specification: Debug & Error Fixing: Review the entire source code of the MQL expert advisor. Identify and fix all logical errors, bugs, and performance issues that cause trades to close prematurely or yield extremely low profits. Strategy Restructuring & Optimization: Fully analyze and optimize the current entry and exit strategy for USDJPY and GBPUSD. Modify, upgrade, or completely rewrite the entry
I am looking for an MQL5 developer to independently review an existing EA’s execution and position management logic. The review should focus on duplicate orders, trade isolation by symbol and magic number, broker price and volume constraints, error handling, and recovery after a terminal restart. This order is for an audit report. Please do not modify the source or change the trading strategy. For each finding
I have an existing compiled MetaTrader 5 Expert Advisor (EX5) designed for automated XAUUSD scalping. I want an experienced developer to assess and implement a solution to execute the EA’s original trading strategy through my broker’s FIX API. Requirements: Confirm the technical feasibility of connecting an existing MT5 EA to a broker FIX API. Explain how to obtain FIX API access and credentials from the broker

Informations sur le projet

Budget
30 - 50 USD
Délais
de 1 à 5 jour(s)