Скрипты: StatementToGraph v2

 

StatementToGraph v2:

Обновленный скрипт StatementToGraph для нового MetaTrader 4.

Графическое отображение детализированного отчета (Statement) на графике цены

Графическое отображение детализированного отчета (Statement) на графике цены

Автор: GoldnMoney

 

Если у Вас отчёт от "старого" терминала, то даты имеют формат такого вида - 2014.08.18 20:56(пример), если "нового" то даты имеют формат такого вида 2014.08.18 20:56:35, т.е. с точностью до секунд. Таким образом для старых отчётов нужно изменить в коде LengthDateStr

Вот модифицированный вариант (см. прикреплённый файл):


Файлы:
 
А можно подробней? Откуда брать этот самый Statement.txt? Терминал создаёт Statement.htm и совсем в другой папке, что с ним дальше делать?
 
Очень подробно описано здесь https://www.mql5.com/ru/code/9300 там, где был впервые опубликован скрипт для старых билдов мт4
StatementToGraph
StatementToGraph
  • голосов: 5
  • 2009.11.04
  • Денис Орлов
  • www.mql5.com
Графическое отображение стейта ( Statement ), перенос данных таблицы на график для удобства анализа.
 
Ничего не отображает. Билд 765, стейт прикрепил
Файлы:
Statement.txt  23 kb
 

Поправил скрипт, теперь должно быть всё в порядке.

1. Добавил параметр Suffix для валютных пар с суффиксом в конце, например EURUSD.ecn, суффикс .ecn, - его и пишем в нужном месте. Или же, поле оставляем пустым

2. Была обнаружена ошибка, раньше стейт в котором были разные пары gbpusd nzdusd usdjpy audusd, например, скидывался на один график без разделения по валютным парам, теперь если кидаете на eurusd, то из стейта берутся данные по eurusd и т.д.


Файлы:
 

В statetograph_v2.mq4 найдите строки и допишите в код то, что выделено жирным шрифтом и сохраните, для правильного парсинга стейта из txt


str=StringTrimRight(str);
str=StringTrimLeft(str);

str=StringReplaces(str, "buy stop", "buy_stop");
str=StringReplaces(str, "buy limit", "buy_limit");
str=StringReplaces(str, "sell stop", "sell_stop");
str=StringReplaces(str, "sell limit", "sell_limit");
        
while(StringFind(str,CharToStr(9))>-1 && StringLen(str)>10)
str=StringReplaces(str,CharToStr(9),"/");

        
while(StringFind(str,CharToStr(32))>-1 && StringLen(str)>10)
str=StringReplaces(str,CharToStr(32),"/");

if(StringLen(str)<70) continue;

 

Прошу помочь:

не работает данный скрипт на графике (в списке появляется как активный),

не пойму, то ли не в ту папку кидаю Statement.txt, то ли не в том формате отчет,

  • Использую МТ4 build 902,
  • Стейтмент прикладываю

файл пробовал помещать в

  • C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\
  • C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\MQL4\Files
  • C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\MQL4\Experts\Files
Файлы:
Statement.txt  42 kb
 

У вас старый формат времени (пример 2015.10.01 10:48) берите OldFormat в скрипет, не забывайте про суффикс если он есть в имени пары, а вообще у меня странно отображается


 
Aliaksandr Kryvanos:

У вас старый формат времени (пример 2015.10.01 10:48) берите OldFormat в скрипет, не забывайте про суффикс если он есть в имени пары, а вообще у меня странно отображается


а какой новый формат? Видимо с секундами, 19 символов...

я просто использую стейтмент не из МТ, а из другой платформы, могу форматировать в экселе как угодно.

На графике съехало может из-за разницы во времени.

И в какую папку кеидать стейтмент-то?

файл пробовал помещать в

  • C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\
  • C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\MQL4\Files
  • C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\MQL4\Experts\Files
 

В папку C:\......\Roaming\MetaQuotes\Terminal\30.............53F2B\MQL4\Files


а вообще в папку ...MQL4\Files а путь к ним через терминал (см. картинку)


у вас формат старого времени, без милисекунд берите OldFormat


возможно из-за сдвига времени такое и произошло, вы правы

Причина обращения: