MQL4 - automated forex trading   /  

Code Base

Code Base  Советники  ChartPlusChartV3 Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый код

Этот индикатор для
MetaTrader 4

Мобильный трейдинг!
Купите лицензию и торгуйте мобильно

Имя:
ChartPlusChartV3 [ en ]
Автор: SM_P (01.12.2009 14:13)
Скачано: 167
Скачать:
 ChartPlusChartV3.zip (614.3 Kb)

Добавлено:

Добавлена возможность самостоятельно обрабатывать события отклонения котировок, для этого предусмотрена опция запуска скрипта (вашего скрипта) по факту расхождения. Скрипту необходимо назначить комбинацию клавиш Alt+b. Кроме этого в файл programs.txt нужно последовательно записать два полных названия окон MetaTrader, чтобы приложение знало, куда слать комбинацию Alt+b. Пример дан в файле programs.txt.

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

Программа предназначена для протоколирования фактов появления возможных нерыночных котировок у брокерских компаний с платформой MetaTrader.

Суть состоит в том, что программа работает одновременно с двумя окнами MetaTrader. Котировки от данных двух источников передаются при помощи советников Chart1.mq4 и Chart2.mq4 внешнему приложению. Внешнее приложение контролирует степень расхождения котировок, и когда она достигает заданной пользователем величины, и это расхождение наблюдается в течение заданного пользователем времени, происходит запись графиков в виде bmp – картинки в папку c:\ChartPlusChart\History\. Для наглядности по каждому факту расхождения сохраняется два кадра: один в момент расхождения, второй 5 минут после расхождения.

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

В качестве ориентира, конечно, желательно выбрать фирму с самой высокой скоростью обновления котировок и с наилучшей их чистотой. Данные характеристики (для демо-счетов) по крайней мере 84 брокеров с платформой MetaTrader измерены и представлены на сайте автора: www.brokcompare.com

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


Порядок установки:

Архив с программой необходимо распаковать на диск C:\, советники разместить в папки с советниками двух MetaTrader-ов. Программа работает с DLL, поэтому для корректной работы разрешите использование DLL, для этого установите галку в меню СЕРВИС\НАСТРОЙКА\вкладка СОВЕТНИКИ:

Разрешить импорт функции DLL.

И снимите галку с пункта:

Подтверждать вызов функции DLL.

Плюс то, что указано вначале.

После этого запустите советники на интересующей паре в обоих MetaTrader-ах. И запустите приложение c:\ChartPlusChart\ChartPlusChart.exe.

УДАЧИ В ТРУДЕ!!!

12 комментариев: 1 2   Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый комментарий
sever29 писал(а):

Докладываю- за седня было 6 расхождений. Скрипт не запустился. :(

Видимо проблема в том, что во время когда происходили эти расхождения вы рботали на компе. Если автор под передачей фокуса имеет в виду SetFocus и потом посылка активному приложению комбинации клавиш "Alt+b" СендКеем, то в таком случае комп должен быть свободен от другой работы на нем...

Фокус то и убежать может, если в этот момент сделать другое приложение активным....

З.Ы. Ежли я конечно правильно помню мат-часть :)

25.12.2009 13:44 yis

Добрый день!

Есть несколько вопросов:

1)Вопрос по подсчету разницы в котировках. Не совсем понятно, откуда берется лишний порядок (см. скрин).

2) Также вопрос по поводу передачи в DLL общего количества ордеров, AccountBalance, и зачем-то профит первого выделенного ордера?

Не понятно зачем передаются эти данные и как они влияют на отклонение в котир-ах.

3) Вопрос по подсчету среднего значения для обычного отклонения - если в эти первые 20-ть значений на которых мы считаем среднее попадет как раз резкий выброс на одном из терминалов, то наше среднее будет уже ложным и заведомо бОльшим нормы...

4) Если вы всеравно работаете с хендл-ми окон терминалов, то может есть смысл таскать котировки непосредственно из окна "Обзор рынка", нежели использовать советников?

З.Ы. Написал еще один вопрос в личку.

25.12.2009 13:29 yis
sever29 писал(а):

Докладываю- за седня было 6 расхождений. Скрипт не запустился. :(

У меня все запускается....

Скрипт установлен во втором метатрейдере? Я говорю о втором в списке programs.txt. Если приложение его видит, то при обнаружении расхождения фокус перейдет на окно второго метатрейдера(в котором скрипт).

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

Не думал я, что так усложнил процесс запуска системы....подумаю как упростить.

03.12.2009 20:15 SM_P

Докладываю- за седня было 6 расхождений. Скрипт не запустился. :(

02.12.2009 19:56 sever29

и еще вопрос: как перевести текст в приложении? Есть какие-н ибудь проги для этого? Или автор поможет...

01.12.2009 22:35 sever29

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

01.12.2009 22:08 sever29
sever29 писал(а):
SM_P писал(а):

Щелните правой кнопкой на названии скрипта (в списке) и в меню нужно выбрать пункт назначить горячую клавишу b. В таблице вам покажет результат - горячая комбинация для вызова теперь Alt+b.

Под названием окна понимается полный текст из шапки окна терминала (синий бар окна) (там, когда счет открыт, обычно написано что-то вроде этого: 24543234: MetaTrader - Alpari - Демо Счет - [GBPUSD,M1]) вот всю эту чепуху дословно впишите из окна своего метатрейдера со своим номером счета, брокером и валютой. Это имя окна по которому его находит приложение для посылки дуда горячей клавиши скрипта.

Так, горячая клавиша есть. Про название идентифицирующую терминал понял. Скажи, куда ее писать, ну конкретное место в коде скрипта покажи.

Не в скрипт писать, а в programs.txt. Просто замени имеющиеся в файле programs.txt строки названий на свои. Система такая: приложение считывает названия из файла programs.txt и использует их для определения идентификаторов окон, далее использует эти идентификатры для общения с этими окнами. А содержание скрипта вообще не имеет значения. Там нужно записать только то, что нужно делать в случае отклонения от рынка.


01.12.2009 21:36 SM_P
SM_P писал(а):

Щелните правой кнопкой на названии скрипта (в списке) и в меню нужно выбрать пункт назначить горячую клавишу b. В таблице вам покажет результат - горячая комбинация для вызова теперь Alt+b.

Под названием окна понимается полный текст из шапки окна терминала (синий бар окна) (там, когда счет открыт, обычно написано что-то вроде этого: 24543234: MetaTrader - Alpari - Демо Счет - [GBPUSD,M1]) вот всю эту чепуху дословно впишите из окна своего метатрейдера со своим номером счета, брокером и валютой. Это имя окна по которому его находит приложение для посылки дуда горячей клавиши скрипта.

Так, горячая клавиша есть. Про название идентифицирующую терминал понял. Скажи, куда ее писать, ну конкретное место в коде скрипта покажи.


01.12.2009 20:43 sever29
sever29 писал(а):

Скрипту необходимо назначить комбинацию клавиш Alt+b.

Как это сделать?

Кроме этого в файл programs.txt нужно последовательно записать два полных названия окон MetaTrader, чтобы приложение знало, куда слать комбинацию Alt+b. Пример дан в файле programs.txt.

Из примера ни чего не понятно, покажите на примере кода Вашего скрипта. Например у нас два брокера один Alpari, другой- FXstart, инструмент фунт/жоллар. Куда там что прописывать?

Щелните правой кнопкой на названии скрипта (в списке) и в меню нужно выбрать пункт назначить горячую клавишу b. В таблице вам покажет результат - горячая комбинация для вызова теперь Alt+b.

Под названием окна понимается полный текст из шапки окна терминала (синий бар окна) (там, когда счет открыт, обычно написано что-то вроде этого: 24543234: MetaTrader - Alpari - Демо Счет - [GBPUSD,M1]) вот всю эту чепуху дословно впишите из окна своего метатрейдера со своим номером счета, брокером и валютой. Это имя окна по которому его находит приложение для посылки дуда горячей клавиши скрипта.

01.12.2009 18:43 SM_P

Скрипту необходимо назначить комбинацию клавиш Alt+b.

Как это сделать?

Кроме этого в файл programs.txt нужно последовательно записать два полных названия окон MetaTrader, чтобы приложение знало, куда слать комбинацию Alt+b. Пример дан в файле programs.txt.

Из примера ни чего не понятно, покажите на примере кода Вашего скрипта. Например у нас два брокера один Alpari, другой- FXstart, инструмент фунт/жоллар. Куда там что прописывать?

01.12.2009 17:16 sever29