forex software

Create and Test Forex Strategies

forex software

Skip to forum content

Forex Software

Create and Test Forex Strategies

You are not logged in. Please login or register.


Forex Software → Portfolio Expert → Portfolio Expert - Wish list

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 21

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".

2 (edited by GD 2021-11-29 07:23:36)

Re: Portfolio Expert - Wish list

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);
  }
//+------------------------------------------------------------------+
//|//////////////////////////////////////////////////////////////////|
//+------------------------------------------------------------------+  

Re: Portfolio Expert - Wish list

> 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.

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

Popov wrote:

> 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;

Re: Portfolio Expert - Wish list

Popov wrote:

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.

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

> 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.

9 (edited by GD 2021-12-01 05:28:09)

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

@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"

12

Re: Portfolio Expert - Wish list

Thanks You

13

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

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,

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

Exporting Portfolio Stats to Excel is a good idea. I'll have it in mind.
Thank you!

Re: Portfolio Expert - Wish list

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,

20 (edited by poteree 2024-03-04 13:16:27)

Re: Portfolio Expert - Wish list

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

Re: Portfolio Expert - Wish list

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!

Posts: 21

Pages 1

You must login or register to post a reply

Forex Software → Portfolio Expert → Portfolio Expert - Wish list

Similar topics in this forum