İş Gereklilikleri
I need to update my existing EA.
I describe existing features that were developed in EA for you to understand easily.
************** EXISTING FEATURES ***********************************************************************************************************
PART 1: CREATE SIGNAL
1/ I want an EA that have following input parameters:
2/ When running, the EA loking is like this:
If RSI is below oversold level, mark it green. If RSI is above overbought level, mark it red.
3/ The alert works when it meets these conditions
The idea is that it only alerts/pushes notification if RSI is above the overbought level whereas symbol’s price is at upper band of Bollinger Bands (BB); and vice versa.
I describe the conditions in case BUY signal will be fired, SELL signal is opposite.
BUY signal fires when:
1. When RSI crosses oversold level, EA notices and checks BB until following conditions are met.
2. After there was a bull(green) candle formed up completely and BB lower band CUTS THROUGH that candle OR the whole candle is below BB lower band, EA fires alert.
3. The bull candle don't need to form right after RSI crossed level. When RSI crossed level, EA should remember and check BB continuously to find the right green candle.
These are some examples:
4/ It only alerts once when condistions are met. The alert only fires again if RSI goes back into oversold-overbought zone and crosses again
5/ The text in app’s notification looks like: <symbol>_<timeframe>_BUY/SELL
For example: EURUSD_M5_BUY GBPUSD_M1_SELL
PART 2: CHECK BREAKEVEN
I usually use hedge orders to cover losing order. I need to keep track if these orders are breakeven to close all.
For example: I buy 1 lot EURUSD order, after that I create another 2 lot EURUSD order if price decreases. I need EA tracks if the sum of these 2 orders is breakeven and notifies me via my app.
EA will sum all orders of a symbol including commission/swap to broker and anything to be sure that the sum of symbol’s orders is 0.
This alerts only initiated if there are more than 1 order of that symbol (>= 2 order)
EA will notify once time.
Text is: <symbol>_BREAKEVEN
For example: EURUSD_BREAKEVEN
************************************************************************************************************************************************************************
*** REQUIRED FEATURES FOR UPDATE ***
PART 3: UPDATE PART 1
As described in Part 1, EA fires alert when these conditions are met
BUY signal fires when:
1. When RSI crosses oversold level, EA notices and checks BB until following conditions are met.
2. After there was a bull(green) candle formed up completely and BB lower band CUTS THROUGH that candle OR the whole candle is below BB lower band, EA fires alert.
Now, I want to modify these conditions.
EA will fire alert when:
After condition number 2 was met, there is another bull candle forming up after it.
It means that after RSI crosses oversold level, there must be 2 bull candles forming up consecutively.
PART 4: ON/OFF ALERT TYPES
Currently, there are 2 types of alerts existing in current EA.
1/ Signal BUY/SELL alert
2/ BREAKEVEN alert
I need to be able to enable/disable them seperately.
For example: when I disable Signal Alert, there will be no Signal Alert but there is still Breakeven Alert.
PART 5: AUTO PLACE ORDERS
*** THE MOST CRUCIAL PART ***
The idea is when I place 2 hedged orders, EA will create multiple waiting orders (only virtual orders in memory of EA, NOT pending or open orders) at the prices of those 2 orders to create a zone that if price go to upper/lower band, EA will place order to hedge the opposite orders.
BUY order is only created if there was a SELL order placed right before it and vice versa.
So, we need to care about 2 things of waiting orders:
1. Order’s lot
2. Order’s price
---
1. Order’s lot
The next BUY order’s lot = (parameter Z x total number of lots of current SELL orders) – (total number of lots of current BUY orders)
The next SELL order’s lot = (parameter Z x total number of lots of current BUY orders) – (total number of lots of current SELL orders)
For example,
+ parameter Z is a list, not a number. Z are 3 and 2
+ 1st order is Buy 1 lot, 2nd order is SELL 2 lot. These 2 orders are base for waiting orders.
+ Then the 1st waiting order uses Z=3, it is BUY with lot = 3 x 2 – 1 = 5.
+ The 2nd waiting order uses Z=2, it is SELL with lot = (2 x (1+5)) – 2 = 10.
2. Order’s price
All waiting BUY orders have the same price as available BUY order
All waiting SELL orders have the same price as available SELL order
---
The parameters for EA: list of parameter Z, separated by comma.
Waiting orders’ lot are calculated consecutively
For example: Z = 2,3,1.5,1.5,3,3
1st waiting order uses Z=2
2nd waiting order uses Z=3
3rd waiting order uses Z=1.5
********************************************************************************************************************
*** EA WILL WORK LIKE THIS ***
- The condition for EA to start creating waiting order
The trigger of EA's waiting order creation is there is the 2nd order of a symbol which is opposite to the 1st one (hedged).
That 2nd order can be placed by myself or from a pending order.
In case I placed 1st order as BUY
Then 2nd order I place BUY also. There is NO trigger.
Then 3rd order I place SELL order or SELL pending order is activated. EA starts creation.
Then EA sets up all waiting orders (NOT pending orders, just virtual orders in EA's memory) following above rules.
After setting up, EA should show table like this on screen
Symbol |
Buy/Sell |
Lot |
Price |
Action |
Buy |
1 |
1.2504 |
Delete | Edit | Move up/down |
|
Sell |
2 |
1.2564 |
Delete | Edit | Move up/down |
|
Sell |
2 |
1.4455 |
Delete | Edit | Move up/down |
|
GBPUSD |
Buy |
1.5 |
1.4646 |
Delete | Edit | Move up/down |
All waiting orders will be listed in this table AT THE SAME TIME.
In Action column:
+ Delete: delete that order
+ Edit: edit
symbol, lot, price and buy/sell
+ Move up/down: to adjust the order (arragement) of that waiting
order. For example: make 5th order go up to become 3rd order
Orders of the same symbol are listed adjacently to each order.
The order (arrangement) of waiting orders of a symbol is important and according to list Z, in which waiting orders are created.
---
I also need a function to add waiting order manually
---
After those waiting orders were set, the EA will work like this (independently for each symbol)
+ The waiting order which was created first is placed as pending order.
+ If the 1st one was activated, the 2nd order is placed as pending order
+ And so on
· Each time a pending order is activated, EA erases all SL/TP of open orders of that symbol.
· There is always ONE pending order for each symbol
· ALWAYS create pending order, DO NOT build the way that EA will automatically place position at the price of waiting orders.
· If there is no open order of that symbol anymore (I closed them), EA should delete all waiting and pending orders of that symbol
For clearer explanation, I demonstrate an example.
Please review carefully.
-------
I trade EURUSD.
1st trade, I place 0.1 lot BUY at price 1.2500
Then I place a pending order 0.2 lot SELL 1.2400
When price hits 1.2400, the pending SELL order is activated and it's the 2nd order in our EA's logic.
At the moment 2nd order is activated, EA starts creating waiting orders.
Parameter Z list is 2,3,1.5,1 (for example)
These are waiting orders:
- 1st waiting order uses Z=2. It's BUY STOP. At price 1.2500. Lot = 2 x 0.2 - 0.1 = 0.3
- 2nd waiting order uses Z=3. It's SELL STOP. At price 1.2400. Lot = 3 x (0.1+0.3) - 0.2 = 1
- 3rd waiting order uses Z=1.5. It's BUY STOP. At price 1.2500. Lot = 1.5 x (0.2+1) - (0.1+0.3) = 1.4
- 4th waiting order uses Z=1. It's SELL STOP. At price 1.2400. Lot = 1 x (0.1+0.3+1.4) - (0.2+1) = 0.6
All of these waiting order are created in memory of EA, and SHOWED on waiting order table. ALL OF THEM have to be on table for modification and tracking.
These waiting orders are in the order (arrangement) which are created. And becoming pending order with that order.
In case EA creates waiting orders for many symbols, orders of same symbol should be next to each other.
After creation, the 1st waiting order becomes pending order. This happens right away after creation of all waiting orders because the previous pending order (2nd order at the beginning) was activated.
When price hits price 1.2500, that pending order is activated. And 2nd SELL STOP becomes pending order.
When SELL STOP pending order is activated at price 1.2400, 3rd waiting order becomes pending order and so on.
*** NOTICE: waiting order has to become pending order first, then it's activated at market's price. NOT THAT EA turns waiting order to open order when market hits waiting order's price