작업 종료됨
![](https://c.mql5.com/i/avatar/avatar_na2.png)
명시
The requirements below are related to money management and adding a hedging feature (plus one error to fix that could affect future MM rules).
Though the requirements have many words, the concepts are very simple. I tend to type a lot of explanation just to limit miscommunication.
Addition information of EA itself will be provided to potential developers.
Money
Management Update:
Note: Please keep in mind that this EA will be placed on multiple pairs in the same terminals. Therefore, multiple cycles will be drawing from the same balances. The EA only needs to calculate the balance of its pair prior to trading.
Error with Equity Priority
Though the last programmer could not find this error (or acknowledge that it existed), there is a priority glitch when attempting to exit trades based on equity. The glitch might need to be fixed because it could conflict with other money management rules below.
Overview –The ATR SL and TP functions of my EA were to override all other SL and TP function. The last programmer was supposed to remove any priority. Therefore, whichever option is hit first will exit the trade. However, the error is that Take Profit $ seems to be taking priority over Take Profit in %. Also, the SL version of this error is also true where “Stop Loss in $” is taking priority over “Stop Loss in %”.All other combinations seem to work correctly.
Example of Error Outcome: Balance = $1,000
- Exit with no TP (no exit rules… backtesting start and stop date range only) = 98.83
- (individual) Take Profit $ 60 = 56.38
- (individual) Take Profit % 2 = 19.30
- Take Profit in $ set at 60 + Take Profit in % set a 2 = 56.38
o The above should = 19.30 because that was the profit first. When you then remove the number from “Take Profit $”, then the EA will exit at 19.30. This tells me that when something I placed in “$”, then the EA is ignoring “%”.
I can provide a set file for easy testing if you need it.
Trailing TP in $ and %
This option will work just like the current trailing stoploss option.
(Behavior) With the current trailing option, there is no “Step”. When trade is at “profit before Trailing SL in Pips”, A Trailing Stop loss will be entered at “Entry Trailing SL in Pips”. As the Market moves up, the trailing stop moves up. Whatever the distance between “Profit Before” and “Entry” is, the EA will look to maintain that distance as a continuous “Step”.
What will be needed is a $ and % version of that Idea.
They can both be placed under “Entry Trailing SL in Pips” and called
“Profit before Trailing SL in $”
“Entry Trailing SL in Pips in $”
“Profit before Trailing SL in %”
“Entry Trailing SL in Pips in %”
The will no “priority” between profit parameters. Whichever is triggered 1st, will have priority.
“Last Cycle” Button
This can be placed on the chart. When this button is pressed, it will signal the EA “do not start new cycle”. The “only” option that will start another cycle will be to press the “Start Cycle” button, or simply if removed and readded (with no current cycle in motion) Note: Removing and re-Adding the EA will not start a new cycle if trades are currently opened. The EA is currently programmed to “resume” cycle if the terminal is closed or EA is removed and readded, and this may pose a conflict. The files that hold this info is in the directory of MQL4\Files. They are named (SYMBOL_MAGICNUMBER.bin).
Calculations of risk amount:
Currently, “Lot per 1000$ Balance” trades a certain amount of risk per $10,000. I would like to make this more specified as I have issue with adjusting upword on an even scale.
Change Text of “Lot Per 1000$ balance” to “Balance Amount” – This is the balance the parameters below will use.
Add Parameter below the above named “Starting Lot of Balance” – This is lot size of balance
Add Parameter below this named “% of Balance” – This is percentage of Balance Amount
Note: Scale will increase amount like Example: If 0.01 at $5000, then .02 at $5001.
Hedging Options:
Place “Hedge Options” category under Stop Loss Category
General Default Behavior
The general behavior of the hedge order will be triggered based on 2 combinations of option being true.
1st Parameter will be “Use Hedge Settings” = True/False. No head setting will work unless option is True.
2nd – Triggered when EA hits its “Swing Limit” parameter.
When the above are true, the EA will always hedge the trade with the “last” highest amount traded. Example, if the last trade made is .32 (at swing limit) then every hedge trade after his will be .32
Hedge orders can be placed multiples times in an endless loop each time the EA crosses the entry of the swing order location. No EA exit rules mean it is possible for Example. .01, .02, .04, .08, .16, .16, .16, .16…..
Add: On Each hedge order, in the comment field it should display the last “Order Number” of the trade in the cycle before the hedging started. The format should be “Hedge ########” Note: Even if there are multiple hedge orders, they will “all” reference the order number of the last swing trade.
Add: Alerts will sound each time a hedge has been entered. Does not matter if hedge is closed and then opened again, the alert should sound each time.
Alternative Hedging Options
Hedge Stop Loss in Pips – Hedge will close when this amount is triggered in loss. Note: When a stop loss is triggered, another Hedge can reopen at entry point going the same direction of the previously closed order if triggered.
Hedge Break Even (True/False) – Hedge will exit once it breaks even on the trade + commission + swap. It is to “attempt” to exit the trade at the cost of entry. Note: When breakeven is triggered, another Hedge can reopen at entry point going the same direction of the previously closed order if triggered.
Minimum Active Hedge time in Minutes – Note: This only applies to override (“Hedge Stop Loss in Pips” and “Hedge Break Even”). The hedge trade can still be closed manually or by ending the trade cycle”.
· The hedge order must stay open this number of minutes before being forced to close. This takes priority over “Break Even” and “Stop Loss”. If hedge is past the exit point after minutes have expired, then hedge will Exit trade after “Time in Minutes” has expired. For Example, if set at 5, then hedge cannot be closed by the above options until 5 minutes has passed. This is the filter to prevent hedge orders being entered and exited when there is fast movement in the market.
Important Notes:
1. Hedge Trades are to be “included” with all equity calculations for Overall Cycle SL and TP. Example, if Take Profit in $ = 20, then EA will close entire cycle when Equity = $20 including price of hedge orders.
2. Hedge Trades are considered part of the “Cycle”. So, if the cycle closes (manually or automatically), the hedge order will close with it).
3. Programmed into the new features of the EA is for the EA to remember its last trades if the EA is mistaken removed and readded(or if the terminal has to be started back again). Please just ensure this also includes hedge trades: The files that hold this info is in the directory of MQL4\Files. They are named (SYMBOL_MAGICNUMBER.bin).
4. Programmed into the new features is for the “Spread Filter” option that will pause any further trades of the EA by removing the next pending order. It will also resume trading the EA when the “Resume” button is pressed. The hedge orders need to follow the same line of trading. Note: The “Pause” button on the terminal simulates the exact same method. Might be easier to use this for testing.