![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В нескольких последних билдах (включая 458) на одной из двух машин стабильно наблюдаются две проблемы тестера:
1) ошибка запуска агента:
EM 0 Core 1 11:44:11 agent process started
QN 0 Core 1 11:44:11 connecting to 127.0.0.1:3000
KI 0 Core 1 11:44:15 connected
HO 2 Core 1 11:44:17 tester agent synchronization error
GM 2 Core 1 11:44:17 disconnected
LK 0 Core 1 11:44:17 connection closed
CQ 0 Tester 11:44:14 MetaTester 5 build 450 (16 May 2011)
MP 0 Server 11:44:14 MetaTester 5 started on 127.0.0.1:3000
LI 0 Startup 11:44:14 initialization finished
MR 2 127.0.0.1 11:44:18 close socket
EI 0 127.0.0.1 11:44:18 login (build 450)
EJ 0 Tester 11:44:19 tester agent shutdown
2) При входе на вкладку агенты примерно 30 секунд терминал не реагирует (песочные часы).
Есть предположение, что проблемы связаны с одноядерным процессором или отсутствием удаленных (remote) агентов.
Вообще-то уже 458 билд выпущен
так да... но проблема осталась:
2011.05.27 19:19:57 Core 2 slow agent failed
2011.05.27 19:19:57 Core 2 connection closed
2011.05.27 19:19:57 Core 2 too slow agent. busy time is 3703 ms. avg time is 915 ms
2011.05.27 19:19:55 Core 1 slow agent failed
2011.05.27 19:19:55 Core 1 connection closed
2011.05.27 19:19:55 Core 2 common synchronization completed
2011.05.27 19:19:54 Core 1 too slow agent. busy time is 3672 ms. avg time is 915 ms
2011.05.27 19:19:53 iRU1 slow agent failed
2011.05.27 19:19:53 iRU1 connection closed
2011.05.27 19:19:53 Core 2 authorized (agent build 458)
2011.05.27 19:19:53 Core 2 connected
2011.05.27 19:19:53 iRU1 too slow agent. busy time is 3672 ms. avg time is 915 ms
так да... но проблема осталась:
Прошу уточнить следующие нюансы:
1. Алгоритм проверки/обработки SL/TP при отправке дополнительной сделки. Уточнения на примере.
Примечание: все торговые запросы имеют параметр ORDER_FILLING_AON; уже есть длинная позиция.
Сценарий №1. Хочу еще докупить (разумеется, по тому же инструменту). Отправляю сделку с дополнительным объемом, а также скорректированными SL/TP. В случае успешного исполнения запроса результат будет: дополнительный лот + обновленные SL/TP?
Сценарий №2. Хочу продать. Отправляю сделку с меньшим лотом без указания SL/TP (SL/TP = 0). У оставшейся позиции будет уменьшен лот + удалены SL/TP?
Сценарий №3. Тоже самое как сценарии №2, только пытаюсь установить предельные SL/TP (заведомо невозможные для длинной позиции). Результат?
2. Алгоритм проверки объема сделки. Уточнения на примере.
Будут ли какие изменения в связке "минимальный лот/минимальный шаг лота"?
Примечания: все торговые запросы имеют параметр ORDER_FILLING_CANCEL или ORDER_FILLING_RETURN; уже есть одна длинная позиция объемом 1.0; мин.лот = 0.1; мин.шаг = 0.01;
Сценарий №1. Пытаюсь выйти с рынка (закрыть имеющуюся позицию противоположной сделкой того же объема). Рынок новостной, поэтому пытаюсь хоть по чуть-чуть выводить (ORDER_FILLING_CANCEL или ORDER_FILLING_RETURN), т.к. на всю сумму реквоты. Сделка совершается частично на 0,99 лота. Соответственно, чтобы полностью закрыть позицию, мне нужно отправить сделку с лотом 0.01, а нельзя - мин.лот - 0.1. Т.е. мне нужно добавить сначала 0,09 лота, чтобы получить 0.1, а потом пытаться закрыть его (уже с ORDER_FILLING_AON)?
Сценарий №2. Когда произошло частичное завершение сделки, а оставшийся объем позиции меньше минимального шага (частичное выполнение на 0.999 лота, а осталось "висеть" 0.001 лота). Будет ли такая ситуация?
П.С. В идеале, хотелось бы ознакомиться с унифицированной логикой установки ордеров, которая бы "закрывала" все теоретически возможные случаи. В документации не нашел, может пропустил...
Ошибки в библиотеке нет. Существуют две тонкости работы с данными индикатора при помощи класса (которые может быть не достаточно полно описаны в справке).
1. Чтобы данные индикатора стали доступны через класс, нужно чтобы класс эти данные скопировал из индикатора. Для этого, при малейшем подозрении что данные изменились, вызывайте метод Refresh(int). В Вашем случае:
2. Чтобы данные индикатора стали доступны через класс на достаточную "глубину", нужно установить размеры буферов (по-умолчанию размеры буферов 256). Для этого, после создания объекта, вызовите метод BufferResize(int). В Вашем случае:
Извините если путано. Отвечу на дополнительные вопросы.
гибкость настроек интерфейса - есть предложение, сделать мт5 более гибким под юзера, в плане настроек отображения названия символов, а точнее - возможность переименовки любого т.е. не - не gbpusd - а ... - "фунт" например, так же ввести разделительные плашки типа - валюта и стрелка вниз, металлы, акции, что бы небыло всё в одной куче, в планках-разделяющих можно даже мини-иконки добавить, например валюта, знак бакса или бумажки зелёной мелкой, металлы - ну золота маленькие слиточки и тд. примерно такая гибкость настроек цветов, шифтов и паннелей есть в платформе "Pro Trader", надеюсь не прозвучит как реклама, тк Ваша на тек момент конечно проще и лучше ... :)
так же было бы неплохо если бы можно было фон, под символом в списке символов менять, как и цвет шифта, например мажоры выделить черный фон и белый шрифт, средней важности, синий и белый ну и совсем неважные, как есть чёрные на белом ...
Можете предоставить хотя бы самый простой код индикатора ни основе ишимоку с использованием стандартной библиотеки, а то из-за отсутствия документации и примеров никак не могу понять как оно работает. Например который рисует зеленые стреки под каждым баром когда tenkan sen>kijun sen и находятся над облаком и красные когда tenkan sen<kijun sen и находятся под облаком.
papaklass:
Алгоритм 2:
1. Закрывайте позиции сделками кратными минимальному разрешенному объему. Ваш пример 0.99 лота не возможен, т.к. минимальный лот 0.1 лота. Другие участники рынка выставляют свои ордера тоже кратными 0.1 лота. Так что Ваш пример не возможен.
2. см пункт 1.
Т.е., Вы хотите сказать, что если после исполнения ордера объём позиции становится меньше минимального, то такой ордер будет отвергнут ?
На серверах MQ шаг=минимальному лоту=0.01. Есть другие примеры, где шаг<минимального лота ? Чтобы проверить поведение терминала.
А то от разработчиков ответа недождёшся.
Можете предоставить хотя бы самый простой код индикатора ни основе ишимоку с использованием стандартной библиотеки, а то из-за отсутствия документации и примеров никак не могу понять как оно работает. Например который рисует зеленые стреки под каждым баром когда tenkan sen>kijun sen и находятся над облаком и красные когда tenkan sen<kijun sen и находятся под облаком.
данный пример работы с библой - просто строим линию Tenkan
Дальше вам будет проще добавить по аналогии еще 4 буфера и анализировать их (для стрелочек).
Примечание: взятие значений буферов индикатора кроме показанного способа можно проводить еще как минимум двумя. Показанный не единственный возможный