Every month we send a complete and free functional mt4/5 module via email, which can be used as an idea or directly by our customers in their Expert Advisor.
It may happen that variables have already been assigned, then these names should be changed in the module.
The integration should not be a problem for beginners in the MQL programming language.
As always, make a backup first of the original files! Or even use a separate test installation. No warranty, no support!

Example: Double lot size after loss.
This feature is for single order systems, not martingale or grid systems.

The module searches in the order history for the symbol (EURUSD, ....) whether the last position was closed with profit.
-If yes, the lot size will remain as set (default, no change).
-If no, the last used lot size in the order history is doubled for the next new order.
Should be placed in the code after the trigger for a new order, for example an indicator and before the actual execution to open the order (Ordersend).
Variables to be adapted: lotsi, which must be changed to the lot variable in the code.

extern string MMinfo1="Double InitLots After Loss Option";
extern bool DoubleLotsAfterLoss=true;

if ( DoubleLotsAfterLoss ) {
    if ( OrdersHistoryTotal() > 0 ) {
      for ( int q=OrdersHistoryTotal() -1; q>=0; q-- ) {
        if ( OrderSelect(q,SELECT_BY_POS,MODE_HISTORY ) )
         if ( OrderSymbol()==Symbol() ) {
          if ( OrderProfit() >= 0 ) { lotsi = lotsi; }
          if ( OrderProfit() <0 ) { lotsi = OrderLots() *2; }

For all customers who would like, but can not or do not want to integrate it themselves, integration/programming is possible within the scope of the customer VPS.


5) Account/Demo License Check after Oninit()

4) Time Filter

3) Currency Pair Close All Orders guaranteed

2) Account Information by Email

1) FreeMarginCheck + Alerts