Simple EA using Candlestick Patterns and Trailing-Stops

MQL5 Experts

Job finished

Execution time 26 days
Feedback from customer
It was a pleasure to work with the developer. Every detail was fulfilled fast and according to the specifications. I am looking forward to working with him in the future again.
Feedback from employee
Thank you for the job Nick! It's also was a pleasure to work with you. Hope for the further cooperation soon.

Specification

Hello!

I would like offers for the creation of the following Expert Advisor.
Price range: 450€ max.
The programmer should be English- or German-speaking (see German Version below) as I would like to quickly discuss (in writing is ok) the correct understanding of my idea and prevent misunderstandings.
Deadline (not very urgent) and definitive price are negotiable.
Please only make an offer in case you have red my specifications, understood at least most of it and have all the expertise to realise my specifications without a problem.
I provide a sketch or table for the input parameters. Looking at it before or while reading the specifications might make things clearer.
I am looking forward to a productive collaboration.
Best regards, Nick

(I uploaded this order again, since before it only appeared in the German language section)

Task
Programming an Expert Advisor trading on the 1min chart (MT5)

Main functions

Five different strategies should be realised. The strategies all consist of the same basic template and can be considered as one strategy with 5 different variations, which have different adjustable input parameters. In the following I will still refer to each variant as strategy.

Strategies

The strategies all consist of “entry criteria” based on candlestick patterns and corresponding trailing stops. The strategies are each intended to fulfill a purpose in different situations of market volatility.

Each of the different strategies can be deactivated with a checkbox, basic status: all strategies are active. This allows that for example only four or three of the different strategies are active within the EA.

Entry criteria

The entry criteria for the strategies all consist of a number of adjustable positive or negative candles (0-10) and an additional price movement of at least plus/minus x percent per candle (always 4 decimal places for percentages, e.g. 0.0150%) including an immediate entry at a price action of plus/minus x percent (0 candles).

An additional non-mandatory entry criterion should be an overall Price action of least plus/minus x percent within the last x minutes / x 1-min candles. The number x here is always the same as the number of positive / negative candles within each strategy.
This entry criterion is normally turned off for each of the five strategies, but can be added by a checkbox in the input mask (see example below).

Trailing stop + other exit criteria

Each of the five strategies should have an individually adjustable trailing stop (straight, trail start, trail distance), stop loss, take profit and break even (start after n percent/points and close at plus n percent/points added to position).

Trail start, trail distance, stop loss, TP, BE can be set in % and in points (0,1 – 999) within the input mask.

TP and BE should be able to be activated with a checkbox for each strategy, i.e. it must not be a prerequisite to have them defined within all of the strategies.

The position size should be adjustable as a percentage of the account balance (1-99) and as a fixed contract size (0,1 – 999) within the input mask.

Other functions

Only two positions can be open per chart at the same time, one buy and one sell position. Not two buy positions, not two sell positions, but one active buy positions allows for one additional sell position being opened and vice versa.
Further buy/sell signals can only be generated after the previous buy/sell position has been closed.

Despite the open positions, the EA should continue to search for the entry criteria, i.e. as soon as a position on the chart is closed, a new position can theoretically be opened immediately.

Only a maximum of x positions (2-998) is allowed to be open at the same time overall (within all charts the EA is running on). The possibility that several positions are opened at the same time and thus more positions are open than the maximum desired must be taken into account insofar as the functionality is not impaired by the occurrence of this case.

A possibility needs to be implemented that by one-click (checkbox or button in the input mask) the EA is banned from opening new positions on all charts, i.e. turning it off, while all open positions are still being closed according to their predefined trailing stop or other exit criteria.
It is up to the programmer how to achieve this. One possible I can imagine is overwriting all entry criteria with a situation which will never occur (for example price action of +1000% per candle). But there might be an easier way to prevent an EA from opening new positions.

At the same time, it should be possible to prevent the EA from opening new positions in just a single chart window in the same way, while trading in the remaining charts on which the EA is active is not affected.
(This functionality is negotiable and not very important, as it is the only one working on a single chart and I imagine it hard to implement)

All executed trades should be graphically represented in the chart. This function of the MetaTrader must be preserved.

There must be a clear input mask for all the functionalities described so far.
I provide a table as example which hopefully makes things clearer.
In reality it can look different; this will just be an example with arbitrary numbers.

Less important functions
(Not absolutely necessary in case they are disproportionately expensive to implement or restrict the basic functionality. In this case feedback from the developer is required before taking the job)

Pause function: By using a checkbox in the input mask it should be possible to assign a pause in x seconds (1-999), measured after the last position was closed to each strategy. A new position may only be opened after the pause has expired.
As described above, the entry criteria should continue to be monitored during the pause period, so that a position could theoretically be opened immediately after the pause has expired.

Restriction of trading hours for each strategy: It should be possible to activate a strategy only for a specific time interval (always in the form of a daily time, e.g. from 13:30 to 16:00) using a checkbox in the input mask, basic status: all strategies are active all the time.

Restriction of the trading hours for the entire EA: It should be possible to activate the EA only for a certain time interval (see above) using a checkbox.

Only short / long positions: For each strategy individually as well as for all strategies it can be assigned via checkbox whether only short or long positions are allowed (by default both). In addition, it should be possible to set a time interval (see above) when the checkbox is activated, in which those conditions apply.

After the programming

If all the criteria are fulfilled and the trading robot runs according to my specifications will be tested by me in a demo account and the strategy tester.

In case of errors or deviations from the described functions the programmer must be ready to correct them free of charge, even in case the mistakes remain undetected in the testing phase and only are detected later, after the financial transaction is complete.

Additional to the program file I will need the source code, in case later modification or addition to the EA will not be possible with the same programmer.

Later modifications which are not specified in this text are of course not mandatory and monetization will be newly discussed. 

The Developer is not allowed to use any parts of his development which is outlined in this description or which will be agreed upon later in the cooperation in any other commercial or non-commercial projects without my prior authorisation and will treat all information which is provided to him with confidentiality.

Bugs

In case the position cannot be opened for some reason (I do not know why this may or may never occur), the EA should wait 3 seconds and check if an entry criterion is still met, leading to a new attempt to open a position or not.

In case a position cannot be closed for some reason, the EA will keep trying to close it as fast as possible and in case it is not possible to have closed the position 1 minute after the first attempt should create an alarm notification.

In such cases as well as any situation where the fulfilment of the defined criteria cannot be met or any other failures occur a log file has to be generated, which allows an understanding what caused the aberrance to occur and also allows an identification how often such events occur in general. It is up to the programmer how to realise this, but since it might cause trouble in the testing phase it should be considered.

Of course this will only be necessary for events which are likely to ever occur and cause trouble.

It is up the developer to decide based on his knowledge, experience and his declared best effort to create an EA which runs smoothly according to the predefined criteria, which were agreed upon.

 

German version
(unvollständig und dient nur dem besseren Verständnis. Die englische Version ist ausschlaggebend)

Auftrag
Programmierung eines Expert Advisors, der im 1min-Chart handelt

Hauptfunktionen

Es sollen fünf verschiedene „Einstiegskriterien“ erkannt werden. Die Einstiegskriterien basieren alle auf der gleichen Vorlage und können als eine Strategie mit 5 unterschiedlichen Variationen angesehen werden, die jeweils verschiedene, individuell einstellbare Eingabeparametern besitzen.

Die Einstiegskriterien bestehen alle aus einer einstellbaren Anzahl von positiven oder negativen Kerzen (z.B. 0-4) und zusätzlich einer Kursbewegung von mindestens plus/minus x Prozent pro Kerze (immer 4 Dezimalstellen für Prozentangaben, also z.B. 0,0150%) oder ein sofortiger Einstieg bei einer Kursbewegung von plus/minus x Prozent (d.h. 0 Kerzen).
Jedes dieser Einstiegskriterien (im Weiteren auch als Strategien bezeichnet, wobei es im Grunde nur Variationen derselben Strategie sind) soll variabel mit einer Checkbox aktivierbar sein, Grundstatus: alle Einstiegskriterien sind aktiv. Die Einstiegskriterien sind gedacht als Signale für unterschiedliche Volatilität.

Jeder der fünf Einstiegsmöglichkeiten soll ein individuell einstellbarer Trailing-Stop (Straigt, Trail-Beginn, Trail-Abstand), Stop-Loss, Take-Profit und Break-Even (Beginn nach n Prozent/ Punkten und Schließung bei +n Prozent/ Punkte addiert zu Einstiegskurz), zugeordnet werden. Alle Angaben sollen primär in Prozent, sowie sekundär auch in Punkten eingestellt werden können. Über eine einfache Umrechnungsmöglichkeit zwischen Punkten, Prozent und Euro in jedem Chart denke ich noch nach, kann aber wahrscheinlich einfacher außerhalb dieses EAs realisiert werden.
TP und BE sollen für jedes Einstiegskriterium mit einer Checkbox aktivierbar sein, also nicht notwendigerweise für jedes Einstiegskriterium definiert sein müssen.

Die Positionsgröße soll primär als % des Kontostandes und sekundär als Festbetrag (bezogen auf die Anzahl der Kontrakte) angegeben werden können und entsprechend in jedem Chart auf die Lotgröße umgerechnet werden.

Pro Chart dürfen maximal zwei Positionen offen sein, eine Kauf- und eine Verkaufsposition. Nicht Zwei Kauf- oder Verkaufpositionen, aber eine offene Kaufposition schließt das eröffnen einer weiteren Verkaufsposition nicht aus und andersherum.

Der EA soll jedoch trotz der offenen Positionen weiterhin nach den Einstiegskriterien suchen, d.h. sobald eine Position auf dem Chart geschlossen wird, kann theoretisch sofort eine neue Position eröffnet werden. Die Anzahl der positiven oder negativen Kerzen wird z.B. also nicht erst nach dem Schluss der letzten Position neu gezählt.

Insgesamt sollen maximal x Positonen gleichzeitig offen sein dürfen. Die Möglichkeit, dass zeitgleich mehrere Positionen eröffnet werden und so mehr Positionen offen sind, als maximal erwünscht muss insofern berücksichtigt werden, als dass die Funktionalität durch das Eintreten dieses Falls nicht beeinträchtigt wird.

Es muss eine Möglichkeit implementiert werden, die es erlaubt mit einem Klick dem EA das Eröffnen neuer Positionen auf allen Charts zu verbieten, ihn also auszuschalten, während alle offene Positionen noch zu den vordefinierten Strategien geschlossen werden. Auf welchem Weg das zu erreichen ist, ist dem Programmierer überlassen. Ein möglicher Weg könnte es sein, die Einstiegskriterien in einen Zustand zu versetzen, der in der Realität nie erreicht wird.

Gleichzeitig muss es möglich sein den EA auf gleicher Weise an dem eröffnen neuer Positionen in nur einem Chartfenster zu hindern, während das Traden in den restlichen Charts auf denen der EA aktiviert ist davon nicht beeinträchtigt wird.

Es muss eine übersichtliche Eingabemaske für alle bis jetzt beschriebenen Funktionalitäten geben.

Alle ausgeführten Trades sollten graphisch im Chart abgebildet sein. Diese Funktion des Metatraders muss erhalten bleiben.

Zusätzliche Funktionen:
Nicht zwingend notwendig, soweit sie unverhältnismäßig aufwendig zu realisieren sind oder die Grundfunktionalität einschränken, ggf. Rücksprache erforderlich.

Pausenfunktion: Per Checkbox soll jeder Strategie eine Pause in x Sekunden zugeordnet werden können, gemessen nach Positionsschließung. Erst nach Ablauf der Pause, darf eine neue Position eröffnen werden.
Wie oben beschrieben, sollen die Einstiegskriterien während der Pausenzeit jedoch weiter überwacht werden, so dass eine Position theoretisch sofort nach Ablauf der Pause eröffnet werden könnte.

Einschränkung der Handelszeiten für jede Strategie: Per Checkbox soll es möglich sein eine Strategie nur für ein bestimmtes Zeitintervall (immer in Form einer täglich geltenden Uhrzeit, z.B. von 15:30 bis 16:00) zu aktivieren.

Einschränkung der Handelszeiten für den gesamten EA: Per Checkbox soll es möglich sein den EA nur für ein bestimmtes Zeitintervall (siehe oben) zu aktivieren.

Weniger wichtige Funktionen

Nur Short- / Long-positionen: Jeder Strategie kann per Checkbox zugeordnet werden ob nur Short oder Long-Positionen zulässig sind (Standardmäßig beides). Zusätzlich soll es bei Aktivierung der Checkbox möglich sein, dafür ein Zeitintervall (siehe oben) festzulegen.

Ob alle Kriterien erfüllt sind und der Handelsroboter nach meinen Vorgaben läuft, wird von mir in einem Demokonto und dem Strategietester getestet.

Zusätzlich zur Programmdatei benötige ich den Quellcode, falls eine spätere Änderung oder Ergänzung des EA mit demselben Programmierer nicht möglich ist.

Der Programmierer muss bereit sein, Fehler zu beheben und kostenlosen Support zu leisten, auch wenn die Fehler oder Abweichungen von der beschriebenen Funktion in der Testphase unentdeckt bleiben und erst später, nach Abschluss der Finanztransaktion, entdeckt werden.


Responded

1
Developer 1
Rating
(100)
Projects
125
23%
Arbitration
12
0% / 75%
Overdue
22
18%
Free
2
Developer 2
Rating
(42)
Projects
62
8%
Arbitration
12
58% / 42%
Overdue
1
2%
Free
3
Developer 3
Rating
(90)
Projects
118
17%
Arbitration
44
23% / 39%
Overdue
20
17%
Free
4
Developer 4
Rating
(171)
Projects
194
11%
Arbitration
37
38% / 35%
Overdue
5
3%
Loaded
5
Developer 5
Rating
(402)
Projects
707
49%
Arbitration
57
16% / 49%
Overdue
130
18%
Free
6
Developer 6
Rating
(568)
Projects
641
41%
Arbitration
21
57% / 29%
Overdue
47
7%
Working
7
Developer 7
Rating
(57)
Projects
72
22%
Arbitration
13
46% / 15%
Overdue
5
7%
Free
8
Developer 8
Rating
(135)
Projects
193
42%
Arbitration
17
29% / 59%
Overdue
28
15%
Free
9
Developer 9
Rating
(304)
Projects
509
47%
Arbitration
29
10% / 45%
Overdue
138
27%
Free
10
Developer 10
Rating
(3)
Projects
6
17%
Arbitration
1
0% / 100%
Overdue
1
17%
Free
11
Developer 11
Rating
(47)
Projects
71
45%
Arbitration
3
0% / 100%
Overdue
0
Working
12
Developer 12
Rating
(116)
Projects
137
36%
Arbitration
15
13% / 67%
Overdue
9
7%
Free
13
Developer 13
Rating
(72)
Projects
80
10%
Arbitration
36
8% / 53%
Overdue
6
8%
Working
14
Developer 14
Rating
(3)
Projects
4
0%
Arbitration
0
Overdue
1
25%
Free
15
Developer 15
Rating
(97)
Projects
135
52%
Arbitration
4
50% / 50%
Overdue
0
Working
16
Developer 16
Rating
(13)
Projects
17
12%
Arbitration
7
14% / 57%
Overdue
4
24%
Free
17
Developer 17
Rating
(3)
Projects
1
0%
Arbitration
2
0% / 100%
Overdue
0
Working
18
Developer 18
Rating
(5)
Projects
5
0%
Arbitration
3
0% / 100%
Overdue
2
40%
Free
19
Developer 19
Rating
(58)
Projects
66
6%
Arbitration
28
18% / 39%
Overdue
4
6%
Loaded
20
Developer 20
Rating
(4)
Projects
7
43%
Arbitration
1
0% / 0%
Overdue
1
14%
Free
Similar orders
At bot 30+ USD
Help me to trade create orders for me and analyze the markets and decide when is a good time to buy or sell. Determine which pairs are best to use to trade with and indicate trading signals to me
I currently have a Forex trading script in .txt format that I want to be converted to a functional/working robot (in .mq4), without altering the strategy of the script. The strategy of the script is already in and shouldn't be changed unless with mutual understanding
Hi, Can you develop the Scalper EA based on Market indicator. EA should open the buy trade at the buy arrow and at every DOT. Close the buy trade with few Pips TP (profit after commission) and SL at opposite Sell arrow. EA should open the SELL trade at the sell arrow and at every DOT. Close the sell trade with few Pips TP (profit after commission) and SL at opposite Buy arrow. Provide the source code at the end
Hey greetings, It my pleasure to met you . I need a MT4 develop that can develop an EA based on alert . If you are a professional MT4 programmer you can kindly bid for this project and let proceed
Hello, I want an ( EXPERT ADVISER that can run automated) that will use CCI as the main entry and ATR as the exit. When the CCI is greater than the custom value of 0, you buy and when the CCI is less than the custom value -0, you sell. ATR Exit - profit of 1.0 and exit as .05 (Please, let it be modifiable) The time frame can be 15 or 5 minutes (variable) EMA 20 DAYS OR 480 (can be disabled) Spread should not be more
Hi, I would like to create an EA similar to this link: https://www.mql5.com/en/market/product/33508?source=External#description Drawdown 5% Scalping! Ability to avoid big price drop that can hurt capital! stable! bid and ask price different is 0.5
Qwuick Fix 85+ USD
I need a couple options added to an existing EA. I’m in need of an input option to modify pending orders, ensures live positions are correlated with pending orders, and provide an oversight that EA is running smoothly. I also need a calendar feature added to an existing input option for scheduling trades. This project is a side project to do on your own time with a 3-day window due date on Sunday – Monday by next
I am looking for an experienced expert to develop an Expert Advisor based on my idea. We can discuss the details in private messages. Please apply only if you are available now, as I need this project completed within one day
Mt4/mt5 30 - 100 USD
i need a remote trade copier over internet for mt4 and mt5, i need the open source, its ok also from stratch or if you have someone available please share some screen or other about it
THERE ARE FEW MODIFICATION IN PARAMETER LIKE ORDER PLACEING, ORDER CREAT AFTER STOP LOSS HITTING,STOP LOSS TRAILING AND EXIT FROM THE TRADE. FEW OPTION WILL BE DELETED FROM THE FILE ATTACHED. REST ALL IS SAME

Project information

Budget
50 - 450 USD
VAT (19%): 9.5 - 85.5 USD
Total: 59.5 - 535.5 USD
For the developer
45 - 405 USD
Deadline
to 50 day(s)