Блог им. fxsaber

Зависимость от длительности исполнения.

Нет математической причины утверждать.

Чем дольше в среднем идет исполнение ордера, тем меньше суммарная прибыль.

 

Объяснение из Telegram.

Вот пришла нужная цена и делаем маркет-ордер. А на самом деле из-за плохого интернета цена шла минуту до терминала, а после маркет-ордер шел минуту до торгового сервера. Статистически это плохо или нет? Не знаю. Возможно, через эти две минуты каждый раз будет выгоднее торговать, чем сразу.


Правда, есть возможность сделать бэктест с учетом длительности исполнения ордера. Это всегда бесплатно позволяет сделать Тестер MT5 для любого советника, включая продающиеся советники из Маркета.

 

Скрипт.

Поэтому был написан универсальный скрипт Delays.mq5, позволяющий посмотреть зависимость тестерной прибыли от длительности исполнения ордеров для любого советника.

#property script_show_inputs

input bool inEquity = false; // Balance - false, Equity - true

#define INPUT_STRUCT_ADDON
#include "Delays_Input.mqh" // <a href="https://www.mql5.com/ru/forum/460726/page2#comment_54150955" target="_blank">https://www.mql5.com/ru/forum/460726/page2#comment_54150955</a>

#include <fxsaber\SingleTesterCache\SingleTesterCache.mqh> // <a href="https://www.mql5.com/ru/code/27611" target="_blank">https://www.mql5.com/ru/code/27611</a>
#include <Graphics\Graphic.mqh>

int GetProfit( double &Profit[], const bool Equity = false )
{
  int Amount = 0;  
  uchar Bytes[];
  
  if (MTTESTER::GetLastTstCache(Bytes, true) != -1)
  {
    const SINGLETESTERCACHE SingleTesterCache(Bytes);
    
    Amount = Equity ? SingleTesterCache.GetEquity(Profit, 0, 0, true)
                    : SingleTesterCache.GetBalance(Profit, 0, 0, true);    
  }
  
  return(ArrayResize(Profit, Amount));
}

void AddProfit( CGraphic &Graphic, const bool Equity = false, const string Str = NULL )
{
  double Profit[];
  
  if (_CS(GetProfit(Profit, Equity)))
  {
    Graphic.CurveAdd(Profit, CURVE_LINES, Str);
  
    Graphic.CurvePlotAll();
    Graphic.Update();    
  }
}

void OnStart()
{
  int Delays[];

  const string ObjName = __FUNCTION__; 
  CGraphic Graphic;

  if ((::ObjectFind(0, ObjName) >= 0) ? Graphic.Attach(0, ObjName)
                                      : Graphic.Create(0, ObjName, 0, 0, 0,
                                                       (int)ChartGetInteger(0, CHART_WIDTH_IN_PIXELS),
                                                       (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS)))
    for (uint i = inDELAYS_INPUT.ToArray(Delays); _CS((bool)i--);)
      if (Delays[i] >= 0)
      {
        // <a href="https://www.mql5.com/ru/forum/318305/page49#comment_57470852" target="_blank">https://www.mql5.com/ru/forum/318305/page49#comment_57470852</a>
        Run("[Tester]\nOptimization=0\nVisual=0\nExecutionMode=" + (string)Delays[i]);
    
        AddProfit(Graphic, inEquity, (string)Delays[i] + " ms");
      }
}

 

Нужно только задать интересуемые значения лагов.

Зависимость от длительности исполнения.

 

И подождать результат.

Зависимость от длительности исполнения.

В данном примере прибыль значительно падает при увеличении лага до секунд.

 

Зачем?

Если торговля идет маркет-ордерами, то можете прикинуть зависимость используемой ТС от вашего пинга до торгового сервера. Возможно, анализ покажет, что имеет смысл поставить советник «поближе».

Ну или же анализ покажет, что целесообразен переход от маркет-ордеров к отложенным ордерам.

540 | ★1

Читайте на SMART-LAB:
Фото
AUD/USD: быки пробуют раскачать ситуацию?
Австралийский доллар на недельном графике вернулся к пробитому горизонтальному уровню 0.6942, который практически совпадает с 50% уровнем Фибо...
Фото
Квартиры под сдачу больше не в тренде: инвесторы выбрали новый способ вложиться в недвижимость
В 2025-2026 годах частный инвестор в России уходит от модели «одна инвестиционная квартира ради аренды» к более диверсифицированному и...
Фото
Как искать свой стиль в торговле?
Всем Привет, на связи Иван Кондратенко. Трейдер Проплайв/Prop Live и ведущий Трейдер ТВ. Сегодня поговорим о том, как искать свой стиль в...
Фото
X5 МСФО 2025 г. - капзатрат меньше, дивиденд больше?
Компания X5 опубликовала финансовые результаты за 2025 год. Выручка прибавила +18,8% до 4,6 трлн руб., в 4-м квартале рост на 14,9% до 1,24...

теги блога fxsaber

....все тэги



UPDONW
Новый дизайн