Modify existing EA to use iCustom

Esperti

Lavoro terminato

Tempo di esecuzione 4 giorni
Feedback del dipendente
It is easy to work

Specifiche

The job is to code a new trade logic to this well structured and well functioning EA. The original EA is using a moving average crossover to trigger trade signals, and features multiple individual settings.

In short I want the moving average trade logic removed and use my own simple trade logic from a custom indicator, Complex_Pairs1_M. This is a crossover strategy as well: when the indicator signal line crosses its own SMA a trade signal is given. A few additions to the EA is needed as well.

Detailed specification:

1) Use the EA Generic MA Crossover Version 2 [TD] as basis for the final solution.
2) Delete external parameters for the original moving averages (iMA).
3) Add the indicator Complex_Pairs1_M as iCustom, so it follows the trade-logics below.
4) Add the indicator parameter periodSMA as external integer.
5) Add a "stoplossbuffer" as external double. This parameter sets the minimum distance required (0.0001 as default) between signal line and SMA to trigger a stop loss.
6) Add "useCloseBuyLogic/CloseSellLogic" as external booleen value.
7) Add "ClosePositions on Friday" before market close as external booleen value.
8) Add "DoNotTradeSundays" as external booleen value. Trades must only be placed Monday-Friday GMT when true.
9) Make sure that the EA can only have one open trade for each currency pair.
 
The EA must be able to follow the trade-logics below:

double dSignalLineShift2, dSignalLineShift1, dSignalLineShift0, dSmaShift2, dSmaShift1, dSmaShift0;

OpenBuyLogic: Open long when signal line of custom indicator is crossing its own SMA to the upside.
if( (dSignalLineShift2<=dSmaShift2) && (dSignalLineShift1>=dSmaShift1) && (dSignalLineShift0>dSmaShift0))

CloseBuyLogic: Close long when signal line touches back below SMA.
if( ((dSignalLineShift0 + StopLossBuffer) < dSmaShift0) || or StopLoss(pipvalue) is triggered).
OpenSellLogic: Open short when signal line of custom indicator is crossing its own SMA to the downside.
if( (dSignalLineShift2>=dSmaShift2) && (dSignalLineShift1<dSmaShift1) && (dSignalLineShift0<dSmaShift0))
CloseSellLogic:  Close short when signal line touches back above SMA.
if( ((dSignalLineShift0 - StopLossBuffer) > dSmaShift0) || or StopLoss(pipvalue) is triggered).

I have pasted an explanation to the EA from forexfactory below.
 
Thanks,

Tomas
 
______________
http://www.forexfactory.com/showthread.php?t=211654
The most classic of any trading system, is the humble MA crossover. It is tick-database enabled.

 

extern string Remark1 = "== Main Settings ==";
extern int MagicNumber = 0;
This number should be unique when multiple EAs are attached to a terminal.
extern bool SignalsOnly = False;
If set to true, the EA will only alert you to a trade using any combination of the alerts below.
extern bool Alerts = False;
If set to true, the EA will send a pop-up alert when a trading signal arrives.
extern bool SignalMail = False;
If set to true, the EA will send you an e-mail (assuming you set up your mail in your MT4 Terminal.) when a trading signal arrives.
extern bool PlaySounds = False;
If set to true, the EA will play the file, "alerts.wav" when a trading signal arrives.
extern bool ECNBroker = False;
Some brokers require EAs to first place a trade, and then modify the trade with the stoploss and takeprofit. If your broker requires this, set this value to True.
extern bool TickDatabase = True;
If set to True, the EA will send tick data into the tick database.
extern bool CloseOnOppositeSignal = True;
If set to true, the EA will close a trade if an opposite trading signal appears.
extern bool EachTickMode = True;
If set to true, the EA will take a trade immediately if it sees a signal. If set to false, the EA will take a trade only if there is a signal at the end of the bar.
extern double Lots = 0;
Fixed lot size
extern bool MoneyManagement = False;
Enables/Disables the lot sizing function.
extern int Risk = 0;
The percent of your available margin that you are willing to put into a trade.
extern int Slippage = 5;
Maximum slippage allowed when placing an order.
extern bool UseStopLoss = True;
Enables/Disables the stoploss
extern int StopLoss = 100;
Hard Stoploss in pips.
extern bool UseTakeProfit = False;
Enables/Disables the takeprofit
extern int TakeProfit = 60;
Hard take profit in pips.
extern bool UseTrailingStop = False;
Enables/Disables the trailingstop
extern int TrailingStop = 30;
Trailing stop in pips. Note, the EA will only trail profits.
extern bool MoveStopOnce = False;
Enables/disables the move-to-breakeven function.
extern int MoveStopWhenPrice = 50;
Trigger price to move the stoploss.
extern int MoveStopTo = 1;
Price in pips relative to breakeven to move the stoploss to once the trigger price is hit.
Using these values as an example, the EA will move the stoploss to breakeven + 1 if the trade hits 50 pips profit.
extern string Remark2 = "";
extern string Remark3 = "== MA1 Settings ==";
extern int MA1Period = 0;
Period of the Fast MA
extern int MA1Shift = 0;
Shift of the Fast MA
extern int MA1Method = 0
Method of the Fast MA;
0 = SMA
1 = EMA
2 = SMMA
3 = LWMA
extern int MA1Price = 0;
Price of the Fast MA
0 = Close
1 = Open
2 = High
3 = Low
4 = Median
5 = Typical
6 = Weighted
extern int MA1CrossBuffer = 0;
The number of pips above or below MA2 in order to trigger a trade. This is designed to prevent some whiplash and false entries.
extern string Remark4 = "";
extern string Remark5 = "== MA2 Settings ==";
extern int MA2Period = 0;
Period of the Slow MA
extern int MA2Shift = 0;
Shift of the Slow MA
extern int MA2Method = 0;
Method of the Slow MA;
0 = SMA
1 = EMA
2 = SMMA
3 = LWMA
extern int MA2Price = 0;
Price of the Slow MA
0 = Close
1 = Open
2 = High
3 = Low
4 = Median
5 = Typical
6 = Weighted
Note: You can enable all of the stoploss options if you so choose, just keep in mind that the EA will use the tightest stoploss available to it.

Con risposta

1
Sviluppatore 1
Valutazioni
(473)
Progetti
1139
44%
Arbitraggio
51
31% / 33%
In ritardo
501
44%
Gratuito
2
Sviluppatore 2
Valutazioni
(71)
Progetti
254
53%
Arbitraggio
16
50% / 38%
In ritardo
83
33%
In elaborazione
3
Sviluppatore 3
Valutazioni
(30)
Progetti
71
18%
Arbitraggio
9
22% / 67%
In ritardo
15
21%
Gratuito
Pubblicati: 2 codici
Ordini simili
Hey I am an experienced Seasoned forex trader looking a well automated reliable ea robot for metatrader 5, it must be a win win highly profitable algorithm trading system running 24/7 without any issue, working automatedly based trend market conditions with Optimal trading performance of massive trading returns, if you have such an amazing ready made mt5 robot, kindly reach out with both demo version and backtesting
📌 JOB DESCRIPTION – FULLY AUTOMATED TRADING SYSTEM I am looking for an experienced developer to build a fully automated end-to-end trading system for MetaTrader 5. This is not an indicator-based bot and not a discretionary or black-box AI system. The system must follow a strict, deterministic rule-based trading framework that is already defined. 🎯 PROJECT GOAL Build a system where: A backend continuously evaluates
Bot007 50 - 200 USD
*Bot Name:* SupportShield *Description:* SupportShield is a cutting-edge trading bot that uses advanced technical analysis to identify key support and resistance levels in the market. By leveraging these levels, the bot provides traders with actionable insights to make informed trading decisions. *How it works:* 1. *Support Level*: The bot identifies a support level, where the price tends to bounce back or
Option 1: Professional & Technical (Recommended) "MT5: Advanced Trade Management with Recursive Logic and Directional Flipping" Why it works: It sounds like a sophisticated management tool. "Recursive logic" signals that the EA needs to remember what happened in the previous trade. Option 2: The "Safety" Angle (Discrete) "Expert Advisor Developer Needed for Custom Risk Management & Sequential Order Execution" Why it
Good morning, i need to convert a robot from ex4 file to mq4 file. This current robot only works on démo. I need it to work on real account. That's why i need this modifivation. Thank you
I am looking for a German-speaking MQL4/5 developer to replicate an existing Expert Advisor with identical functionality. What I provide: - The original EA for testing - Videos demonstrating how it works - PDFs with documentation What I need: - An exact copy of the functionality - Clean, well-commented code - Brief consultations in German
EA with Zones 30+ USD
Good day! I have an indicator .mq5 this indicator calculates and draw zones on the chart. My request is to add these specific zones drawn and calculated exactly as the indicator in the EA. A replicate behavior of the zones from the indicator to the EA. Thank you
Task Title Implement Martingale Lot Scaling Sync Between Master and Slave MT4 Trade Copier Background I am using a local master–slave trade copier setup with: 1 Master MT4 4 Slave MT4 terminals Trades are currently copied correctly (entry, direction, symbol, SL/TP). Lot size handling currently copies either: the exact master lot, or a fixed base lot defined on the slave (e.g., always 0.01 or 1.0). Problem When the
SyedAtif 30 - 40 USD
Then this EA will remain simple and clean , exactly following your core rules only: ✅ MA50 crosses Leading Span B → trade opens ✅ Opposite cross → trade closes ✅ No TP / SL ✅ Only one position at a time ✅ Entry only after candle close confirmation ✅ Final Simple MT5 Expert Advisor (English Specification) Entry Rules BUY Entry Open a Buy trade when: MA50 crosses above Leading Span B Trade is triggered only
Julismorfx-Bot 150 - 300 USD
Hello, I am looking for an MT5 Expert Advisor based on a reversal trading strategy . The EA must follow strict risk management and be suitable for prop firm rules . Key requirements: • Platform: MT5 • Pairs: USDJPY, GBPUSD, XAUUSD (multi-pair) • Strategy: Reversal only (H4 context + M15 entry) • Fixed risk per trade (default 0.5%, max 1%) • One trade per pair, max 2 trades total • Every trade must have Stop Loss and

Informazioni sul progetto

Budget
40- USD
Scadenze
a 3 giorno(i)