Topic: Portfolio Expert - Wish list
Hello Traders,
This topic is designated for a discussion about adding new features and protection for the Portfolio Expert.
I'll start the topic with one feature already implemented - "Max Open Positions".
Create and Test Forex Strategies
You are not logged in. Please login or register.
Forex Software → Portfolio Expert → Portfolio Expert - Wish list
Hello Traders,
This topic is designated for a discussion about adding new features and protection for the Portfolio Expert.
I'll start the topic with one feature already implemented - "Max Open Positions".
Hi Popov
I think
1. a Supreme Maximum spread can be also useful to add
2. Risk % overall to enter
2. Time/date of trade execution common to all EAs relative to spread problems different per trader and each market
4. and of course the Total Report which will help to decide over all above.
I attach you a code I wrote based to found ideas here etc.
I will be happy listen opinions.
//+------------------------------------------------------------------+
//|//////////////////////////////////////////////////////////////////|
//+------------------------------------------------------------------+
void OpenPosition(Signal &signal)
{
if(!IsWithinMaxSpreadO())
return;
....
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void ClosePosition(Position &position)
{
if(!IsWithinMaxSpreadC())
return;
......
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool IsWithinMaxSpreadO()
{
bool WithinMaxSpread=true;
for(int attempt = 0; attempt < TRADE_RETRY_COUNT; attempt++)
{
if(Maximum_Spread_Points > 0)
{
MqlTick tick;
SymbolInfoTick(_Symbol,tick);
double spread = NormalizeDouble(((tick.ask-tick.bid) / _Point), 0);
//Need NormalizeDouble here because of rounding errors in MT4 that otherwise occur (confirmed in several backtests).
WithinMaxSpread=true;
if(spread > Maximum_Spread_Points)
{
Sleep(TRADE_RETRY_WAIT);
// Print("Spread_O ", DoubleToString(spread, 0), "higher than the maximum allowed ", DoubleToString(Maximum_Spread_Points, 0), "points. Try ", IntegerToString(attempt + 1), "of ", IntegerToString(TRADE_RETRY_COUNT), ".");
WithinMaxSpread = false;
}
if(spread <= Maximum_Spread_Points)
{
attempt= TRADE_RETRY_COUNT;
}
}
}
return(WithinMaxSpread);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool IsWithinMaxSpreadC()
{
bool WithinMaxSpread=true;
for(int attempt = 0; attempt < TRADE_RETRY_COUNT; attempt++)
{
if(Maximum_Spread_Points > 0)
{
MqlTick tick;
SymbolInfoTick(_Symbol,tick);
double spread = NormalizeDouble(((tick.ask-tick.bid) / _Point), 0);
//Need NormalizeDouble here because of rounding errors in MT4 that otherwise occur (confirmed in several backtests).
WithinMaxSpread=true;
if(spread > Maximum_Spread_Points)
{
Sleep(TRADE_RETRY_WAIT);
// Print("Spread_O ", DoubleToString(spread, 0), "higher than the maximum allowed ", DoubleToString(Maximum_Spread_Points, 0), "points. Try ", IntegerToString(attempt + 1), "of ", IntegerToString(TRADE_RETRY_COUNT), ".");
WithinMaxSpread = false;
}
if(spread <= Maximum_Spread_Points)
{
attempt= TRADE_RETRY_COUNT;
}
}
}
return(true);
}
//+------------------------------------------------------------------+
//|//////////////////////////////////////////////////////////////////|
//+------------------------------------------------------------------+
> 1. a Supreme Maximum spread can be also useful to add
This is a good request.
We can make a "Prevent Entry on High Spread", where we can set a value of points. If we have a volatile situation with a higher spread, the expert will not execute entry orders.
On protective option from the FSB's experts: "Stop trading at min account"
// If the account equity drops below the value,
// the expert will close out all positions and will exit.
// The value must be set in account currency. Example:
// Example: Protection_Min_Account = 700 will close positions
// if the equity drops below 700 USD.
static input int Protection_Min_Account = 0; // Stop trading at min account
> 1. a Supreme Maximum spread can be also useful to add
This is a good request.
We can make a "Prevent Entry on High Spread", where we can set a value of points. If we have a volatile situation with a higher spread, the expert will not execute entry orders.
i use this code for max spread protection..
bool MaximumSpread()
{
const double spread = (Ask() - Bid()) / _Point;
if(spread > Maximum_Spread)
{
Print("The current spread ", DoubleToString(spread, 0), " is higher than the maximum allowed ",Maximum_Spread);
return(true);
}
return(false);
}
this must be here:
void OpenPosition(Signal &signal)
{
//---
if(useMaximum_Spread)
{
if(MaximumSpread())
return;
}..........
and this inputs.
static input bool useMaximum_Spread = false;
input int Maximum_Spread = 10;
On protective option from the FSB's experts: "Stop trading at min account"
// If the account equity drops below the value, // the expert will close out all positions and will exit. // The value must be set in account currency. Example: // Example: Protection_Min_Account = 700 will close positions // if the equity drops below 700 USD. static input int Protection_Min_Account = 0; // Stop trading at min account
here i use this
void OpenPosition(Signal &signal)
{
if(useMinimumEquity)
{
if(CloseAllMinimumEquity())
return;
}
the function is
bool CloseAllMinimumEquity()
{
double equity = AccountInfoDouble(ACCOUNT_EQUITY);
if(equity < MinimumEquity)
{
CloseAllPositions();
Print("Minimum Equity is below ",MinimumEquity);
return(true);
}
return(false);
}
and this inputs
static input bool useMinimumEquity = false; // Use minimum equity stop
input int MinimumEquity = 100; // Set minimum equity to stop
so ea will close all positions when equity reached x...
maybe some have better code.
my features for portolio.
1. Lot calculation of percent based on equity or account balance or risk percent depend on stoploss strategie use..option her for maximum lots.
2. if reach xx amount from all open positions close all and stop trading for rest of the day
3. set max long position to open..so we can decide how much open..or say 0 to open only sells
4. set max short position to open.
5. set max open positions at a bar.. so when have 200 strategies..one bar i can have 50 open positions at once..to avoid this u can use this option.
6. i dont know if it is but i have sometimes problems with brokers..volume check. tp sl check..money check..before send an order.
7. check if use hedging account. else ea stop
8. hidden tp&sl option
9.testing separate each strategy in backtester..for eg..20 strategies in portfolio..in input is use backtest 1,2,3,8,9,10
> 1. Lot calculation of per cent based on equity or account balance or risk per cent depend on stop loss strategy use. An option here for maximum lots.
We need to figure out the best approach.
> 7. check if use a hedging account. else ea stop
Yes, agree. I'll add this.
> 9.testing separate each strategy in backtester..for eg..20 strategies in portfolio..in input is use backtest 1,2,3,8,9,10
I have plans for a simple Portfolio Editor. It may help with separating strategies or merging portfolios.
Hi Popov
Yesterday there was a big bar change in EURUSD cause of NEWS.
My portfolio EA cause of that did not proceed well for 5-6 bars and lost few trades.
I think we need to add such a case i.e.
Do not trade after a big change in previous bar larger than 50 pips or relative to some other %change
Hi Popov,
I've intensively use your great software for four months now and I have a few suggestions relative to portfolios
1. be able to see journal of all transactions for a portfolio (use case : check easily when I have differences between reality, backtest and/or mt4 tester without checking all strategies one by one)
2. more complicated, but would be a huge improvement for me : find the best portfolios from a collection. My dream would be to have a collection of portfolios that meets acceptance criteria (the same as individual strategies) and be able to choose the best one. I love the portfolio feature, but sometime it takes a lot of time to find the best combination of strategies that meets some criteria (like less drawdown for the highest net profit, or maximum month on profit, ...) so having a new tab like "Porfolio collection" where the software calculates all combinations of the strategies included in the collection and keeps those that meets acceptance critera would be awesome :-)
Thank you very much for your software which is already awesome. I really love to work with it.
Have a great day
David
@GD
> Do not trade after a big change in the previous bar larger than 50 pips
You can use ATR (1) and Level = 0.0005 with the logical rule "ATR is lower than level"
Thanks You
Dear Mr. Popov,
I believe that showing the aggregate drawdown curve on the portfolio balance chart, as shown on the single strategy balance chart, would be a valuable addition.
Best regards,
MW
Hi Mr Popov
Love the platform...
I have a portfolio suggestion - when re-optimising a portfolio, keep the individual strategies in the same order when exported.
Use case: I generated a portfolio about 2 weeks ago, and running it in live now, with many open positions. I re-loaded the portfolio through validator, re-optimised the parameters using the latest prices over the last 2 weeks, and when I exported the portfolio again, the individual strategies were in a different order, and there seems to be very little way to re-align them, so I can't push the re-optimised portfolio live, because of the live trades.
Is that possible?
Thanks
Hi Mr Popov
Would it be possible, somewhere around the Portfolio Summary, to have the following, similar to the individual strategies:
1) OOS Monitor of the entire portfolio
2) Multi-Market review of the entire portfolio
3) Stats info, as complete as an individual strategy, but across the entire portfolio (i.e. extending the stats that are displayed currently), including the charts that are displayed on the individual strategy report
4) Balance chart, Long Balance, Short Balance, Drawdown in pct and currency and Stagnation
5) a complete journal of all trades in the portfolio
So, basically, everything that is represented/calculated in the individual strategy Report tab, but at the entire portfolio level.
This would, I think, be very useful indeed.
I know we can get most of it when we export the portfolio to MT4/5 and run it, but to have it in EAS would be awesome.
Thanks for listening.
Tim
Hi Popov,
I just started using the EA builder for the last weeks but have some experience with other builders (Strategy Quant, Adaptrade). So far yours is the best I've tested, thanks for that mate!
Here are a few suggestions:
-the possibility to define an entry type order (stop/limit order), or a direct market entry one. This allows us to go much deeper with the type of strategy we are looking for.
-The possibility to make multi assets EAs would be huge.
Thanks again and keep safe,
Hi, another idea / wish list item: ability to export all strategy metrics in a portfolio, to CSV, using the data from the OOS tab. That way we'd be able to easily compare/contrast them against one another to weed out ones that made it through for certain reasons, but, have a particular result that doesn't seem in line with the others.
Thanks
Tim
Exporting Portfolio Stats to Excel is a good idea. I'll have it in mind.
Thank you!
Dear Popov,
I hope this message finds you well. I'm reaching out to discuss the implementation of a new feature in Expert Studio that could significantly enhance our trading strategies. The core idea revolves around adding instance verification to manage portfolio strategies across multiple currency pairs efficiently.
Here's the gist of the concept:
Instance Verification: The main goal is to introduce a mechanism that checks for active trades across different currency pairs within a portfolio. For example, if a user has an account balance of $100,000 and decides to deploy a strategy across various charts but on different pairs, the system should recognize and manage these instances distinctly.
Attention to Different Pairs: The system must track trades across these diverse pairs, ensuring it is aware of activities in each.
Trade Management Across Pairs: If a trade is open on one pair (for instance, EUR/GBP), the system should prevent opening new trades on other pairs from the same strategy. This ensures that only one pair (or a specific number of pairs, as per user configuration) is active at any given time, avoiding overexposure.
Enhancement to Multi-Pair Support: Currently, the functionality provided by Expert Studio does not support multi-pair strategies efficiently. Implementing this feature would be a straightforward yet intelligent way to extend its capabilities, allowing users to manage their portfolios more effectively across multiple currency pairs without manual intervention.
The implementation of such a feature would not only streamline the trading process but also provide a layer of risk management by limiting exposure across multiple pairs.
I believe your expertise could greatly contribute to making this concept a reality in Expert Studio. Please let me know your thoughts or if there are any technical considerations we should discuss further.
Looking forward to your feedback.
Best regards,
Dear Popov,
it would be very useful to have the following enhancements, in order of my priority:
1) a filter to only open BUY trades, or SELL trades. Very simple I hope but so useful!
2) like the single Expert Advisors already does, do not allow opening trades "X" minutes before/after high impact news (as you know, some PROP FIRMS does not allow trading X minutes before/after high impact news);
3) maximum balance for opening trades, so that above X balance it won't open trades.
4) maximum equity reached that will close all trades, so that when the prop funding balance target is taken, if point 3) is available too, it won't open anymore any new trade after the target is reached;
5) this is maybe more impacting but the Portfolio Summary page actually should show all trades made by the Portfolio, both like number (aka "Total trades") than in the chart. I find that "aggregate trades" does not give the real idea of trades opened by the Portfolio. I say this because I've tested the Portoflio live and compared to Portoflio Summary results, live trading was really bad for the same day while Portfolio summary show amazing profits for most of the portoflio EAs. Which in reality it did not happen. You can know more here what I mean (I already wrote there): https://eatradingacademy.com/forums/top … lost-money
Thanks for reading!
Regards
Dear Popov,
an additional wish list desire would be the chance to filter the strategies to trade, or to not to trade.
Let's say I have 100 strategies in 1 Portfolio, I see 10 of them are going uch better in the last week.
Now: we open Meta Editor and manually put "//" behind 90 strategies, one by one, to exclude them from trading.
Desire: I just put the 10 numbers of strategies inside a field, so that it automatically exclude the others from trading.
Many thanks for this tool and your attention!
Dear Popov,
in a lower order of priority based on my previous 2 posts, I would really like if the strategies Portfolio could be entirely tested trough Montecarlo (!) and MultiMarkets, while providing the Max Equity Drawdown (both in value and in %)
Thanks!
Dear Popov,
an additional wish list desire would be the chance to filter the strategies to trade, or to not to trade.Let's say I have 100 strategies in 1 Portfolio, I see 10 of them are going uch better in the last week.
Now: we open Meta Editor and manually put "//" behind 90 strategies, one by one, to exclude them from trading.
Desire: I just put the 10 numbers of strategies inside a field, so that it automatically exclude the others from trading.Many thanks for this tool and your attention!
Dear Popov,
instead of this one, a very very useful option would be to have a kind of "Do not open trades below EA profit" option, that would allow to insert a number (let's say 0) so that all EAs of the portoflio with a closed profit <0, won't open trades anymore.
This is a very powerful feature that would automatically keep live only profitable strategies, instead of going manually in the MetaEditor and to deselect one by one the worst EAs to exclude.
With a portfolio of dozens or hundreds of strategies, this is a great feature for me.
Thanks!
Dear Popov,
hope you're well!
Your recent improvements to portfolios mql5 inputs have put closed the portfolio EA to the strategy EA, but, there's one huge thing still missing which I found very essential: the portfolio equity drawdown data!
Currently, you can't appreciate the goodness of a strategy, the max (balance) drawdown is not enough, of course for all kind of strategies but also for Prop Firms where there are very strict conditions on allowed equity drawdown.
You know well that you can have portfolios with a low balance drawdown but a huge equity one.
So, I believe there must be:
1) Max Equity drawdown and Max Equity drawdown % in the Portfolio Stats Tab
2) even much better in addition: also a "Drawdown in percents" chart and "Drawdown in currency" chart in a Balance Chart Tab (like existing for EAs).
Many thanks and regards
Dear Popov,
please consider to add END TIME where to specify the broker time in hh.mm.ss when
1) all trades get closed no matter what the equity/balance
2) the Portfolio EA stops to work.
This is for managing very short term strategies or stopping all Portfolio activities before huge news.
Thanks!
Forex Software → Portfolio Expert → Portfolio Expert - Wish list
Powered by PunBB, supported by Informer Technologies, Inc.