CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. 66 % of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.

MTW - WalkTheTalk

Hi Everyone,

Thought I’d post and scope out the community engagement here.

Apologies in advance if I do not reply to queries directed at me in a timely manner. If at all. :joy:

I’ve been in this field quite a number of years and I stumbled onto Darwinex only late 2017. So far, I’m thoroughly impressed with the platform, it’s UI, metrics and underlying principles.

The few webinars that I’ve seen, I believe mostly by Miguel, with the non-bullshit tone, is a welcome breath of fresh air in this industry. He expounds on topics that are often not shared.

The 10% VaR model of position sizing and scaling out, is an intriguing idea that appears to actively outperform the fixed per-trade risk model that I deploy the MTW strategy with. Definitely worth investigating more. (In fact, as of writing this, I’m reinvesting all current and future earnings into the Darwin itself instead of the underlying, it’s that impressive. :+1:)

The metric, Capacity(Divergence sensitivity), is also an interesting useful what-if thought process for a trader. While I naturally know the mechanisms of the strategy that should render meaningless the +2 pips penalty for every trade, and also having run the strategy with significant AUM to clear the top of the order book, it’s still a useful measure.

I look forward to the further growth and development of Darwinex! Absolutely fantastic job, guys.


Great introduccion, and impressive results! Congrats!

I will follow your Darwin, already in my personal “watch list”.

Just to know, since I give special importance to La grade and I have seen yours is excellent (9.1!).

I have seen your La graph and there is just one occasion where the Darwin have a negative incursion of -7.27%. Is there any reason to have such a “stain” in your good track record?

Welcome to Darwinex Comminuty! Wish you best!


Hi @WalkTheTalk
Our pleasure to welcome you here.

Thank you for this introduction, and for your kind words!

I take the freedom to put here the description on your DARWIN’s page, to give some additional infos to potential investors ;), since the description talks by itself! (Metrics and IAs will do the rest)

Pretty robust model, for now!! :clap:

A great success to you, and MTW!


Thanks for the interest!

Good spot on the worst negative excursion. It occurred recently on 2018-02-16. I was waiting for more trades to come in before I illustrate it to be an outlier, and one that will not happen again.

See this image from myfxbook that tracks the underlying.

This was due to one of my Azure VMs crashing, which has never happened in the whole of 3 years running them. It happened on a Friday and by the time I checked it on Saturday, I could not manually close the trade. Trades regardless of profit or loss would also have been brute-closed at a fixed time on Friday so none are left open intentionally over the weekend.

No excuses, I was lulled into complacency and did not implement measures I had planned to:

  1. server automatically logs in when power is restored (edit registry) - if you don’t trust your VPS/VM provider, this may not be an option
  2. MT4 applications auto-run on log in (simple DOS script in startup folder)
  3. mobile notification of trade entry and exit (as an EA or indicator)

To mitigate the issue of trust in item 1, the MT4 application can be run as a Windows service but this poses its own operational pain.
I’ll post the DOS script example and mql4 code for the mobile notification in a subsequent post.

The net result is that my stats are abnormally skewed. The average trade duration should be less than 1.5 hours. Losses are normally capped at -2% for the underlying and winners have higher upside.

Shit happens.


Thanks for the welcome, for posting the pictures on my behalf, and well wishes!
:+1: :smile:

1 Like

MQL4 indicator I wrote to give me simply:
Entry: Direction, Asset, Entry Price, SL, Broker
Exit: Direction, Asset, Exit Price, Pips, Broker

#property version   "1.00"
#property strict
#property indicator_chart_window

int OnInit(){

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]){

   static bool isOrderNotified = false;
   static datetime static_OrderOpenTime = 0;

   //---notify if an order opens

      for(int i=OrdersTotal()-1; i>=0; i--){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderType()<2){ //do not report Pending Orders
            string str_OrderType = "";
            if(OrderType() == 0)str_OrderType = "Buy ";
            else str_OrderType = "Sell ";
            Sleep(5000); //sleep 5 seconds for the SL to be placed

            if(SendNotification(str_OrderType + OrderSymbol() + "@" + DoubleToStr(OrderOpenPrice(), Digits) + ", SL@" + DoubleToStr(OrderStopLoss(), Digits) + ", " + AccountCompany())){
               isOrderNotified = true;
               static_OrderOpenTime = OrderOpenTime();
               break; //assume 1 open order at any time for this strategy

   //--- notify if an order closes
   else{ //if(isOrderNotified) //assumes a flip-flop state, isOrderNotified cannot be true if an order is absent, else the OrderSelect below will not work

      for(int i=OrdersHistoryTotal()-1; i>=0; i--){
            if(OrderCloseTime() < static_OrderOpenTime)break; //if last history order's OrderCloseTime is earlier than static_OrderOpenTime, exit loop
            else{ //if(OrderCloseTime() >= static_OrderOpenTime)
               if(OrderSymbol()==_Symbol && OrderType()<2){ //assumes only 1 open order at any time for the strategy
                  string str_OrderType = "", str_pips = "";
                  if(OrderType() == 0){
                     str_OrderType = "Buy ";
                     str_pips = DoubleToStr((OrderClosePrice() - OrderOpenPrice())/Point/10, 1);
                     str_OrderType = "Sell ";
                     str_pips = DoubleToStr((OrderOpenPrice() - OrderClosePrice())/Point/10, 1);

                  if(SendNotification(str_OrderType + OrderSymbol() + " closed@" + DoubleToStr(OrderClosePrice(), Digits) + ", Pips: " + str_pips + ", " + AccountCompany())){
                     isOrderNotified = false;
                     static_OrderOpenTime = 0;
                     break; //assume 1 open order at any time for this strategy



Check ‘Enable Push Notifications’ box in the ‘Options’ -> ‘Notifications’ tab.
If we check the ‘Notify of trade transactions’ box, all trade events that occur within the Terminal Trade tab is pushed and can be excessive.

DOS batch script example executing 2 MT4 applications:

ping localhost -n 120
start "1" "C:\Users\ComputerName\Desktop\MT4 01\terminal.exe" /portable
ping localhost -n 60
start "2" "C:\Users\ComputerName\Desktop\MT4 02\terminal.exe" /portable

ping localhost -n 120
pauses 120 seconds from when the batch script is run from the startup folder
start “1” “C:\Users\ComputerName\Desktop\MT4 01\terminal.exe” /portable
Executes 1st MT4
ping localhost -n 60
pauses 60 seconds from after the 1st MT4 application is executed
start “2” “C:\Users\ComputerName\Desktop\MT4 02\terminal.exe” /portable
Executes 2nd MT4

Note that the “/portable” modifier is optional. I just prefer everything I need for that MT4 instance to be under 1 folder and portable.


Thanks for your reply. As you said, it is just one exception and you have a great score in La atribute, but it was something that always worry investors, at least at some of them (including me).

Your response makes me think in another way, so I really appreciate it.

As I said yesterday… wish you luck and I’ll keep your Darwin into my radar!

Can you explain the recent DD ? thanks you! @WalkTheTalk

There’s no change in the model, this drawdown is a reflection of the current regime.

Historically, the model has experienced such extended drawdowns.

I believe the net profitability of the model alone still exists. However, I’ll be applying some additional logic to reduce the downside volatility while retaining the upside volatility as much as possible. I’m also going to deploy an uncorrelated strategy and make this a portfolio.

The work is unending. :wink:


This is the backtest of the unmodified strategy as executed singly on EURUSD.

You can see it is generally inline with the actual live run. (note that the strategy executes on more than 1 pair hence the difference in overall shape)

This is the backtest of the modification.

Overall quite pleased. It will be deployed over the weekend.

Along with this, other strategies will be onboarded in the near future to make this a more diversified portfolio.


Thanks @WalkTheTalk :blush:

@WalkTheTalk finally, has not implemented new strategies?


Yes, a reworked model has been fully introduced as of 2018.11.01.
We’re looking at these metrics going forward:
Annualised Return: 15% - 24%
Annualised Volatility: 14%
Annualised Upside Volatility: 32%
Annualised Downside Volatility: 9%
Max DD%: -9.8%
Max DD duration: 200 days

Still early days to see if the stationarity holds out but we’ll know as it progresses.

Development ever ongoing. Significant changes starting 2019.08.23. Just time-stamping this here.

1 Like

@WalkTheTalk Could you detail those changes? I have seen that you have substantially increased equity, a good sign

1 Like

@isabel03 Thanks for the interest. We’ve begun the process of running a basket of uncorrelated strategies instead of reserving one Darwin per strategy. This should give us more leeway to optimise the returns as a portfolio.

1 Like