Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
с точки зрения технологий софта - потенциально да. Библиотеки можно вызывать из оптимизатора пока он не в облаке.
со стороны НС - как вы себе это представляете ?
В оптимизаторе делается проход, и пишутся данные в файл, потом отдаются на обучение сети, после обучения результаты оценки обучения возвращаются в MT4/5, а сама сеть(правила) записываются в файл. Ну а другой вид, это когда мы из записанных файлов логики НС проводим оптимизацию (самих вариантов НС) и фиксируем стандартные показатели ТС.
Расширил демку про графику Tk - теперь она ещё и табличку ордеров показывает.
Код MQL который относится к таблице ордеров
- выбирает все свои ордера и отправляет их в tcl в метод OnOrderList
- на выходе получает 3 списка тикетов - те который новые, те у которых что-то поменялось и те которые были удалены
и метод Tcl который производит основную работу :
- получает новый список ордеров
- сравнивает с теми что были при пред.вызове
- строит 3 упомянутых списка (новые,изменённые, удаленные)
- заодно ведёт таблицу ..которая на самом деле дерево и её можно сделать в несколько уровней
# надо обновить внутренние структуры
# и вернуть триплет (список из трёх списков)
# 1 - список новых ордеров
# 2 - ордера которые поменялись
# 3 - ордера которые удалены
method OnOrderList { orderList } {
set created {}
set changed {}
set removed {}
foreach order $orderList {
set ticket [ lindex $order 0 ]
set known($ticket) $order
if { ! [ info exists Orders($ticket) ] } {
# новый тикет
# добавить в список свежесозданных
lappend created $ticket
set Orders($ticket) $order
continue
}
if { $Orders($ticket) != $order } {
# что-то поменялось
# добавить в список изменённых
set Orders($ticket) $order
lappend changed $ticket
}
}
foreach ticket [ array names Orders ] {
if { ! [ info exists known($ticket) ] } {
# прежнего ордера нет в новом списке - значит удалён
lappend removed $ticket
unset Orders($ticket)
}
}
# обновить грфику :-)
foreach ticket $removed {
my OnRemoveOrder $ticket
}
foreach ticket $changed {
my OnChangeOrder $ticket
}
foreach ticket $created {
my OnCreateOrder $ticket
}
return [ list $created $changed $removed ]
}
все получается очень компактно.
Можно использовать сильные стороны обоих языков - MQL близок к торговому окружению и быстро считает в массивах,
Tcl легко управляется со списками и хешами.
На MQL реализуется суровый торговый алгоритм, а скриптами организуется взаимодействие с миром и пользователем.
Архив прикладываю.
Скрипт экспорта котировок в Excel
сделал короткий скрипт для экспорта котировок напрямую в Эксель.
Без всяких записей в CSV и вообще параметров - чтобы просто кинул на график, открылся лист Эксель и в него скопировались все котировки.
Текст максимально прокомментировал и прилагаю. На личном сайте расписал детали скрипта http://nektomk.ru/atcl:ratestoexcel
Объём выходит за рамки форума, поэтому там. Может под настроение продублирую в местном блоге, чтобы информация точно не терялась
Скрипт прилагаю
PS/ у кого нить есть заготовка make - файла для пакетной компиляции mql ? чтобы поменял один mqh, ткнул make и пересобралась кучка mq4 которые перечислены в зависимостях..
update/ продублировал статью в местном блоге https://www.mql5.com/ru/blogs/post/718304 - теперь уж наверное не пропадётпочтарик работает, но надо ещё дотянуть докоментить, доописать...
а пока вопрос к людям - будет ли востребован GUI-Builder ?
для Tk они есть, но вследствии того что скрипты текстом написать быстрее чем в рисовать они мало мало востребованы.
что-то типа такого :
PS/ результат такого GUI-строения и сейчас при помощи "такой-то матери" может быть запущено из MT4..
почтарик работает, но надо ещё дотянуть докоментить, доописать...
а пока вопрос к людям - будет ли востребован GUI-Builder ?
для Tk они есть, но вследствии того что скрипты текстом написать быстрее чем в рисовать они мало мало востребованы.
что-то типа такого :
PS/ результат такого GUI-строения и сейчас при помощи "такой-то матери" может быть запущено из MT4..
Какие интересные штучки... только как их применить?
А, есть у меня идея для как раз графических интерфейсов - создание торговой логики по типу дерева решений! Т.е. создаем в графическом редакторе (т.е. оболочке) дерево и при помощи кнопочки конвертируем его в нехитрые правила или даже сразу в код! Впрочем, читать правила так же очень компактно можно в коде.
Зачем это нужно? Да такой подход позволяет детализировать торговую стратегию, к примеру легко её разбить на временные ряды - не только принимая решения торгуем/не торгуем, а торгуем в это время так, а в это время иначе. Признаков смены тактики торговлю много разных, а в коде это писать во первых некомпактно, а во вторых визуально трудно четаемо - можно совершить кучу ошибок.
Интересна такая идея для приложения Вашего таланта?
Какие интересные штучки... только как их применить?
А, есть у меня идея для как раз графических интерфейсов - создание торговой логики по типу дерева решений! Т.е. создаем в графическом редакторе (т.е. оболочке) дерево и при помощи кнопочки конвертируем его в нехитрые правила или даже сразу в код! Впрочем, читать правила так же очень компактно можно в коде.
Зачем это нужно? Да такой подход позволяет детализировать торговую стратегию, к примеру легко её разбить на временные ряды - не только принимая решения торгуем/не торгуем, а торгуем в это время так, а в это время иначе. Признаков смены тактики торговлю много разных, а в коде это писать во первых некомпактно, а во вторых визуально трудно четаемо - можно совершить кучу ошибок.
Интересна такая идея для приложения Вашего таланта?
вообще не понял идею про "графическое дерево принятия решений" :-) может прикладывемого таланта нехватает :-)
вообще не понял идею про "графическое дерево принятия решений" :-) может прикладывемого таланта нехватает :-)
Представьте таблицу данных с набором правил
Эти правила в коде организуются следующим образом
Если у нас происходит совпадение значений правила и расчетных значений(значение индикатора/время/иной паттерн), то осуществляется, к примеру, торговое действие.
Такой метод торговых решений очень компактен и разнообразен - можно закодировать таким нехитрым образом, к примеру, много стратегий - дав им разный маджик.
Но, вот загвоздка заключается в том, что нужна как раз среда для такого стиля программирования. Эта среда должна выглядить как дерево принятия решений (примитивная блок схема), где можно создавать блоки (результат вычисления к примеру arr_iDelta_Max_D1 с предопределенными значениями (1,2,3,4 ..n) и/или с возможностью ограничивать значения от и до, создавая много разных групп таким образом), от этого блока будут отходить ветви для каждого значения переменной или диапазона значений переменной, и так до следующего блока и так далее. Таким образом у нас будет набор правил, каждый их которых, кстати не обязательно должен использовать все блоки.
Так понятней? Если нужны пояснения - спрашивайте.
Представьте таблицу данных с набором правил
Эти правила в коде организуются следующим образом
Если у нас происходит совпадение значений правила и расчетных значений(значение индикатора/время/иной паттерн), то осуществляется, к примеру, торговое действие.
Такой метод торговых решений очень компактен и разнообразен - можно закодировать таким нехитрым образом, к примеру, много стратегий - дав им разный маджик.
Но, вот загвоздка заключается в том, что нужна как раз среда для такого стиля программирования. Эта среда должна выглядить как дерево принятия решений (примитивная блок схема), где можно создавать блоки (результат вычисления к примеру arr_iDelta_Max_D1 с предопределенными значениями (1,2,3,4 ..n) и/или с возможностью ограничивать значения от и до, создавая много разных групп таким образом), от этого блока будут отходить ветви для каждого значения переменной или диапазона значений переменной, и так до следующего блока и так далее. Таким образом у нас будет набор правил, каждый их которых, кстати не обязательно должен использовать все блоки.
Так понятней? Если нужны пояснения - спрашивайте.
В tcl подобное видел - среду где соединяют блоки стрелочками..они так обработку звука/видео/графиков программировали. http://wiki.tcl.tk/8565 вроде как много чего навернуть, в какой-то блок даже Максиму воткнули
Если оно - обращу пристальное внимание
Типа Xcos (http://www.scilab.org/en/scilab/features/xcos) и подобных модных в симуляциях ?
В tcl подобное видел - среду где соединяют блоки стрелочками..они так обработку звука/видео/графиков программировали. http://wiki.tcl.tk/8565 вроде как много чего навернуть, в какой-то блок даже Максиму воткнули
Если оно - обращу пристальное внимание
Да, это такой подход! Главное не усложнять, и сделать корректный интерпретатор, что б все блоки собирались в одну строку (по одной ветви), с которой уже будет работать программа на MQL.
Да, это такой подход! Главное не усложнять, и сделать корректный интерпретатор, что б все блоки собирались в одну строку (по одной ветви), с которой уже будет работать программа на MQL.
вряд-ли я буду усложнять, то есть например сильно ковыряться в коде bwise.
Максимум - адаптирую чтоб его можно было использовать вместе с ATcl (то есть передавать данные из Mql на его входы) и принимать выходы.
Придётся конечно писать какой-то HowTo "как нарисовать квадратики и прицепить к эксперту". И плотно попрактиваться в английском при общении с автором(авторами) :-)