Job finished
Specification
Hi,
Here is a description of SMT1 EA. This is just part of the full spec.
The full spec will be provided to the qualified developers. However this partial spec
is more than sufficient for you to provide your quote and time table.
Important note: as the name implies this is the 1st version of the State Machine Trader.
At least two more advanced versions are planned after this first version. So from my stand point
that should be a long term business relations. Therefore I'm looking for a top developer which is
also polite, easy to work with, and adhere to cost and time table. Thanks. M.
1. Imagine that the whole price spectrum is divided to infinite number of discrete levels and the distance between each 2 consecutive levels is D (Distance). D is a Process parameter.
Each level is marked Li, where
L0 is the first level where the EA is initiated. L1 is the level just above L0
and L-1 is the level just below L0 etc.
2. This EA comprises of a series of Processes, each
contains a series of trades that are being executed according to the logic
described herein. The Processes are mutually independent. The only connection
between 2 consecutive processes is that the next process is initiated after the
price made a PipsGap (a Process parameter) movement (in pips) from the
spot where the previous process was initiated. Each Process has its own
ProcessTP and ProcessSL which are constantly updating. In addition there is a
GlobalTP and a GlobalSL that are the summary of the past and current Process
SL/TP. The exact method of calculating the ProcessTP/SL and GlobalTP/SL is
further described below.
3. SMT1 is a multi-process EA. Several processes can run simultaneously. The
focus in this paper will be to describe how a single Process behaves. Each
process will have its own parameters defined under [Process n] in
the EA parameters. In addition, there are few general parameters in the EA
level (not in the Process level). These parameters will be configures first, in
the [Global Parameters] section.
How a Process acts:
4. A trade starts on L0 which is the current price level
at the moment of process start. The Initial Trade Order is defined in
the Process parameters.
In this version of SMT1, all trades have the same volume. So the Volume parameter in the Process parameters apply for the Initial Trade as well as to all other trades in this process.
After a price move of D pips (the prices reaches a new level), another trade is opened. The type of order to be opened on this new level depends of the Mode parameter (detailed below). On each level the Process can open up to MaxPos (maximum number of positions per level), a Process parameter, trades. Once the number of trades on a certain level reaches MaxPos, this level is now marked as “occupied”. It means that should the price re-visit this level after a while, and this level is still occupied, no new trade will be opened.
5. The type of trade on a certain level (Buy or Sell) depends on the direction in which the price action reaches this level (that’s the Mode detailed in the next paragraphs). Only price movements of D pips may cause the open of a new trade. Smaller movements will not have any impact on this EA.
6. The EA operates in one of the following 2 modes of operation. These
modes define the type of order to be opened when the price reaches a
new level which is not occupied yet.
7. Here comes the description of 2 Modes D and E. They define the logic of how a new trade is opened on a certain level and how a trade is closed.
8. Take Profit/ Stop Loss - there are 3 sets of SP/TP parameters, one in the trade level (TradeTP/SL), one in Process level (ProcessTP/SL) and another one in the whole EA level (GlobalTP/SL).
TradeTP/SL - Individual trade is closed when hits TradeTP/SL.
ProcessTP/SL - ProcessTP/SL includes all the accumulated profits/losses of the current (floating) and closed individual trades from the start of this Process. When an individual Process hits ProcessTP/SL, the process is then closed (with all its active trades), and another process of this type is immediately initiated (that’s if the ProcessAutoRestart=Yes. If not, no new process will be launched).
GlobalTP/SL - GlobalTP/SL includes all the accumulated profits/losses of the currently active Processes (floating P/L), and the processes that were already closed for ProcessTP/SL, since the start of the current EA operation. When the EA hits GlobalTP/SL it is immediately closed with all its currently active processes. The EA will be immediately re-initiated should GlobalAutoRestart=Yes. If not, the EA will re-initiated manually at some point.
9. Main Process section parameters:
(1) Volume – The volume to be opened on L0 and also on all other
levels according to the logic above.
(2) Initial Order - The order to be opened on L0 (Buy/Sell)
(3) ProcessTP – Take Profit in USD to close this process. The Process
TP is the accumulated P/L of all trades that were closed
since this Process was initiated. It also includes the
accumulated floating P/L of all the currently active
trades in this Process.
(4) ProcessSL - Stop Loss in USD to close this process. Same definition
like the Process TP (accumulated past P/L and
accumulated floating P/L.
(5) TradeTP – TP for each individual trade (in pips)
(6) TradeSL – SL for each individual trade (in pips)
(7) D – distance in pips between each 2 consecutive levels
(8) PipsGap – the distance in pips that the price should move so
the next Process will be opened.
(9) ProcessAutoRestart – may be Yes or No. If yes, the Process will
restart immediately after it was closed due to ProcessTP or
ProcessSL
(10) Mode
10. Global section parameters:
1. GlobalTP
– In USD
2. GlobalSL – In USD
3. GlobalAuturestart –
4. Number of processes – Maximum number of
Process types that are
defined for this EA.
Please let me know of any questions you may have. Thanks in advance for your reasonable quote.