Визуализация стейтмента

 
Анализ сделок (своих, чужих, тестера и т.д.) зачастую требует хорошей визуализации стейтмента. К сожалению, не встречал удобного MQL-инструментария по анализу. Однако, все же существуют некоторые веб-сервисы, которые неплохо визуализируют стейтмент. Значительно повышая качество его анализа.

Написал простой в использовании способ переноса стейтмента на один из таких веб-сервисов. Даный способ с легкостью желающему позволяет анализировать стейтменты любого происхождения:
  • Торговый счет.
  • Offline-стейтмент (файл).
  • Стейтмент ТС после прогона в тестере.
  • Стейтменты ТС после оптимизатора.
  • Стейтменты Сигналов.
Конечно, веб-движок позволяет фильтровать стейтмент своими силами по времени, символу, мэджику и т.д. Но еще до отправки стейтмента на веб-сервис вы можете создавать его кастомную фильтрацию (предусмотрено архитектурой). Например, можете выбросить сделки, что выходят за три сигма, тем самым дав лучше оценить потенциал ТС. Или, например, разбить усреднитель на несколько более простых не усреднительных подТС, разобрав вклад каждой в общей результат. Кастомная фильтрация стейтмента сильно недооценена...

В общем, пользуйтесь. Критикуйте, предлагайте, улучшайте.

В качестве примера прилагаю скрипт, который сбрасывает на веб-сервис стейтмент текущего торгового счета (всю торговую историю закачивать не требуется):

/*
Пример публикации стейтмента на Myfxbook.
Подробнее: https://forum.mql4.com/ru/65990

В терминале Сервис Настройки -> Советники -> поставить галочку 'Разрешить WebRequest для следующих URL:'
Добавить в список следующие адреса:
  
  
*/

#property strict
#property show_inputs

#include <MyInclude\Myfxbook.mqh>

input string sLogin =    ""; // Myfxbook login (e-mail)
input string sPassword = ""; // Myfxbook password

void StatementToMyfxbook( const string Login, const string Password )
{
  // Получили стейтмент
  STATEMENT Statement;

  // Закрепились за соответствующим аккаунтом
  MYFXBOOK MyFxAccount(Login, Password);

  // Отправили стейтмент на нужный аккаунт
  MyFxAccount.Publisher(Statement);

  return;
}

void OnStart( void )
{
  StatementToMyfxbook(sLogin, sPassword);

  return;
}

Самая очевидное следствие - это простая конвертация скрипта под Сигналы, значительно расширяя их штатную визуализацию.
Файлы:
 
Для продавцов советников, для пробующих публично различные торговые идеи, для всех, кому требуется выкладывать результаты своих стейтов - предлагаю выкладывать стейт не в виде графика с тестера с соответствующим файлом (DetailStatement.htm), а давать ссылку на веб-стейтмент.

Это позволит вести обсуждения ТС более предметно и значительно сильнее заинтересует потенциальных покупателей ТС.

Для автоматической публикации бэктеста достаточно в деините советника прописать одну строчку.

 
Раздвоение личности,- это бывает, не берите в голову. 
 
lob32371:

Для автоматической публикации бэктеста достаточно в деините советника прописать одну строчку.

Добавив в стандартный советник Moving Averages следующее
#include <TesterStatement.mqh>

void OnDeinit( const int reason )
{
  TesterStatement();
  
  return;
}

получил такой результат после одиночного прогона в тестере.


С помощью аналогичной добавки стейтменты бэктестов любых ваших советников будут автоматически отправляться на соответствующий веб-сервис. За отправку отвечает запущенный на чарте эксперт из приложенного файла.

Теперь вы с легкостью можете качественно улучшить анализ результатов своих бэктестов и дать это сделать другим.
Таким же образом возможно создание веб-стейтментов любого происхождения.
Файлы:
 

спасибо за идею, полезно.

зип к сожалинию битый, не распаковывается

причем оба, не поддерживается компрессия файла

 
lob32371:
Анализ сделок (своих, чужих, тестера и т.д.) зачастую требует хорошей визуализации стейтмента. К сожалению, не встречал удобного MQL-инструментария по анализу. Однако, все же существуют некоторые веб-сервисы, которые неплохо визуализируют стейтмент. Значительно повышая качество его анализа.

Написал простой в использовании способ переноса стейтмента на один из таких веб-сервисов. Даный способ с легкостью желающему позволяет анализировать стейтменты любого происхождения:
  • Торговый счет.
  • Offline-стейтмент (файл).
  • Стейтмент ТС после прогона в тестере.
  • Стейтменты ТС после оптимизатора.
  • Стейтменты Сигналов.
Конечно, веб-движок позволяет фильтровать стейтмент своими силами по времени, символу, мэджику и т.д. Но еще до отправки стейтмента на веб-сервис вы можете создавать его кастомную фильтрацию (предусмотрено архитектурой). Например, можете выбросить сделки, что выходят за три сигма, тем самым дав лучше оценить потенциал ТС. Или, например, разбить усреднитель на несколько более простых не усреднительных подТС, разобрав вклад каждой в общей результат. Кастомная фильтрация стейтмента сильно недооценена...

В общем, пользуйтесь. Критикуйте, предлагайте, улучшайте.

В качестве примера прилагаю скрипт, который сбрасывает на веб-сервис стейтмент текущего торгового счета (всю торговую историю закачивать не требуется):


Самая очевидное следствие - это простая конвертация скрипта под Сигналы, значительно расширяя их штатную визуализацию.
что вы под этим подразумеваете?
 
wlad:

зип к сожалинию битый, не распаковывается

причем оба, не поддерживается компрессия файла

Зипы целехонькие, содержимое их рабочее - проверил только что.
wlad:
что вы под этим подразумеваете?

Например, у вас есть ТС, в которой из всех сделок (пусть их тысяча) в тестере есть две-три, которые стоят особняком (выделяются: в хвостах распределения) - не обязательно отрицательные, но и положительные.

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

Возможно, у вас ТС великолепная, но три сделки загоняют ее в минуса, и в оптимизаторе вы даже не обратите внимание на нее, сразу несправедливо забраковав. Поэтому сделки за три сигма стоит всегда выбрасывать из стейтментов. И при оптимизациях (реализуется в тестере через кастомный критерий оптимизации).

Это и есть один из вариантов своего фильтрования стейтментов. Подобный фильтр-подход полезен и при анализе стейтментов реальной торговли (Сигналы, ПАММы, мониторинги, ДУ и т.д.). Тема большая... но я начинающий, так что помочь не смогу.
 
lob32371:
Зипы целехонькие, содержимое их рабочее - проверил только что. 

пробывал с 7zip

не открывает

 
Распаковал оба архива горячими клавишами в Total Commander и запаковал через WinRAR. Пробуйте.
Файлы:
together.zip  10 kb
 
lob32371:
Распаковал оба архива горячими клавишами в Total Commander и запаковал через WinRAR. Пробуйте.
распаковалось, спасибо
 

Теперь без DLL можно будет "твиттить" текущее состоянее счета, включая чарты и другое. И, конечно, любые паблишеры копир-сервисов (многочисленные конкуренты Сигналов), могут быть написаны на чистом MQL4.


ЗЫ Легко написать скачку исполняемого вируса через WebRequest и запустить его посредством WinAPI-функции. Это и раньше можно было сделать, не задумывался только. Продается так EX4-грааль (без DLL сторонних), скачивают, запускают и получают бэкдоры и прочую радость, дискредитируя платформу...

ЗЗЫ Как, собственно, возможно и получать инфу о торговом счете жертвы, запусти он только раз простейший EX4-файл. Интересно, как много пользователей осознают подобные риски...