Modify existing EA to use iCustom

EA

작업 종료됨

실행 시간 4 일
피고용인의 피드백
It is easy to work

명시

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.

응답함

1
개발자 1
등급
(473)
프로젝트
1139
44%
중재
51
31% / 33%
기한 초과
501
44%
무료
2
개발자 2
등급
(73)
프로젝트
257
53%
중재
16
50% / 38%
기한 초과
83
32%
무료
3
개발자 3
등급
(30)
프로젝트
71
18%
중재
9
22% / 67%
기한 초과
15
21%
무료
게재됨: 2 코드
비슷한 주문
I am looking for an experienced MQL5 developer to convert my existing trading strategy into a fully automated MetaTrader 5 Expert Advisor (EA). Requirements: Develop a robust and efficient MQL5 Expert Advisor based on my EMA trading strategy. I will provide the complete trading logic, including entry, exit, risk management, and trade management rules. The EA should execute trades automatically without manual
I am looking for an expert MQL5 developer to build a robust, professional Expert Advisor for Gold (XAUUSD). The EA must be Event-Driven (OnTick) with no 'Sleep' functions, ensuring instant execution. ​Core Logic: ​Grid Strategy: Start with 0.02 Buy/Sell. Lot size sequence: 0.02, 0.03, 0.05, 0.09, 0.14, 0.26, 0.44, 0.75, 1.28, 2.18 (Max 10 steps). ​Dynamic TP: Total basket TP must update instantly upon new order
I need a custom MT5 Expert Advisor for XAUUSD (Gold). Trade Mode: - Sell Only. Entry Logic: - Open first Sell with 0.01 lot. - Every 3.00 price movement against the position (example 4000 -> 4003 -> 4006 -> 4009), open a new Sell. - Lot sequence must increase linearly: 0.01, 0.02, 0.03, 0.04, 0.05, 0.06... No Martingale. Closing Logic: - Do NOT close the whole basket. - Close only one profitable trade together with
We're seeking a talented Graphic Designer for upcoming remote projects. Responsibilities include: - Logo design - Social media graphics - Flyers and brochures - Business card design - Marketing materials Applicants should provide a portfolio showcasing their previous work
We are hiring skilled translators to work on various translation projects. We're looking for professionals who are: - Detail-oriented - Reliable - Experienced in document translation - Able to meet deadlines If you're interested, send your proposal, language pair(s), and previous work for review
We're expanding our network of remote translators for upcoming projects involving business, technical, and general documents. Requirements: - Native or near-native proficiency in the target language - Excellent communication skills - Commitment to quality and deadlines Apply by submitting your proposal, language pair(s), and relevant experience
┌─────────────┐ │ SMC ROBOT │ │ v2.0 │ └─────────────┘ [ANTENNA] │ ╔════════╧════════╗ ║ HEAD UNIT ║ ║ ┌───────────┐ ║ ║ │ ◉ ◉ │ ║ ← Optical Sensors ║ └───────────┘ ║ ╚════════╤════════╝ │ ╔════════╧════════╗ ║ TORSO ║ ║ ┌───────────┐ ║ ║ │ SMC CORE │ ║ ← Processing Unit ║ │ ARM V9 │ ║ ║ └───────────┘ ║ ║ [||||||||||] ║ ← Power Indicator ╚═══╤═══════╤════╝ │ │ ┌───┘ └───┐
I already have the source code of an MT5 Expert Advisor. The EA is about 70% complete. I need someone to modify and complete it. Requirements: • Manage EURUSD only. • Manage manual trades only (Magic Number = 0). • Support unlimited manual positions simultaneously. • Automatically add a 10-pip Stop Loss if a position has no Stop Loss. • Automatically add a 10-pip Take Profit if a position has no Take Profit. • Do not
I am looking for an expert MQL5 developer to build a robust, professional Expert Advisor for Gold (XAUUSD). The EA must be Event-Driven (OnTick) with no 'Sleep' functions, ensuring instant execution. ​ Core Logic: ​ Grid Strategy: Start with 0.02 Buy/Sell. Lot size sequence: 0.02, 0.03, 0.05, 0.09, 0.14, 0.26, 0.44, 0.75, 1.28, 2.18 (Max 10 steps). ​ Dynamic TP: Total basket TP must update instantly upon new order
I am currently using the attached Arbitrage MACD indicator. However, there are no signal alerts associated with this indicator. I would like to receive notifications on my android device the bar after a blue long arrow appears and the bar after a red short arrow appears. This is the current code: //+------------+-----------------------------------------------------+ //| v.22.04.07 | ArrZZx2.mq4 |

프로젝트 정보

예산
40- USD
기한
 3 일