Обсуждение статьи "Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы"

 

Опубликована статья Работа с таймсериями в библиотеке DoEasy (Часть 38): Коллекция таймсерий - реалтайм обновление и доступ к данным из программы:

В статье рассмотрим реалтайм-обновление данных таймсерий и отправку сообщений о событии "Новый бар" на график управляющей программы от всех таймсерий всех символов для возможности обработки этих событий в своих программах. Для определения необходимости обновления таймсерий для нетекущих символа и периодов графика будем использовать класс "Новый тик".

Скомпилируем советник и зададим в его параметрах:

  • в Mode of used symbols list использование заданного списка символов,
  • в списке List of used symbols (comma - separator) оставим только три символа, один из которых EURUSD и
  • в Mode of used timeframes list выберем работу только с текущим таймфреймом, например:


Запустим советник на графике. Через некоторое время в журнал будут выведены сообщения о событии "Новый бар" на используемых символах для текущего графика символов:

Новый бар на EURUSD M5: 2020.03.11 12:55
Новый бар на EURAUD M5: 2020.03.11 12:55
Новый бар на AUDUSD M5: 2020.03.11 12:55
Новый бар на EURUSD M5: 2020.03.11 13:00
Новый бар на AUDUSD M5: 2020.03.11 13:00
Новый бар на EURAUD M5: 2020.03.11 13:00

Запустим советник в визуальном режиме тестера на графике одного из выбранных в настройках символов, например на EURUSD, и посмотрим как меняются данные нулевого бара в комментарии на графике:


Как видим, обе строки, данные в которых получены разными способами, имеют идентичные значения полученных свойств нулевого бара и обновляются в реальном времени на каждом тике.

Автор: Artyom Trishkin

 

Поставил лот 0.01 на мт4 нажал буй стоп ордер открылся 0.02

2021.01.22 19:31:29.883 TestDoEasyPart38 EURUSD,H1: open #1519653952 buy stop 0.02 EURUSD at 1.21782 sl: 1.21632 tp: 1.21932 ok
2021.01.22 19:31:24.767 TestDoEasyPart38 EURUSD,H1 inputs: InpMagic=123; InpLots=0.01; InpStopLoss=150; InpTakeProfit=150; InpDistance=50; InpDistanceSL=50; InpDistancePReq=50; InpBarsDelayPReq=5; InpSlippage=5; InpSpreadMultiplier=1; InpTotalAttempts=5; InpWithdrawal=10.0; InpButtShiftX=0; InpButtShiftY=10; InpTrailingStop=50; InpTrailingStep=20; InpTrailingStart=0; InpStopLossModify=20; InpTakeProfitModify=60; InpModeUsedSymbols=0; InpUsedSymbols=EURUSD,AUDUSD,EURAUD,EURCAD,EURGBP,EURJPY,EURUSD,GBPUSD,NZDUSD,USDCAD,USDJPY; InpM
 
BillionerClub:

Поставил лот 0.01 на мт4 нажал буй стоп ордер открылся 0.02

А какой минимальный лот на EURUSD в ДЦ ?

 
Artyom Trishkin:

А какой минимальный лот на EURUSD в ДЦ ?

0.01

Print("Минимальный размер лота=",MarketInfo(Symbol(),MODE_MINLOT)); 
2021.01.23 12:09:05.203 Test EURUSD,M15: Ìèíèìàëüíûé ðàçìåð ëîòà= 0.01
 
BillionerClub:

0.01

Хорошо. В каком советнике это происходит?
 
Artyom Trishkin:
Хорошо. В каком советнике это происходит?

mt4 do easy part 38 

server FXOpen-Real1

 
BillionerClub:

mt4 do easy part 38 

server FXOpen-Real1

Если мне память не изменяет, то в этом тестовом советнике специально сделано, чтобы минимальным лотом не открывать позиции - чтобы можно было тестировать частичные закрытия позиций.

 
Artyom Trishkin:

Если мне память не изменяет, то в этом тестовом советнике специально сделано, чтобы минимальным лотом не открывать позиции - чтобы можно было тестировать частичные закрытия позиций.

Подумал фича, типа  "кто не рискует - тот не пьёт шампанское"  открываешь лот а тебе 15 так бах. Фича конечно классная))

 
BillionerClub:

Подумал фича, типа  "кто не рискует - тот не пьёт шампанское"  открываешь лот а тебе 15 так бах. Фича конечно классная))

Ещё раз акцентирую внимание на то, что это ТЕСТОВЫЙ советник, и он не предназначен для использования не в контексте статьи.
 
Artyom Trishkin:
Ещё раз акцентирую внимание на то, что это ТЕСТОВЫЙ советник, и он не предназначен для использования не в контексте статьи.

То что я создам еще хуже, да и кодобазе, нельзя сказать бы что лучше есть