Обсуждение статьи "Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте"
Анатолий, спасибо Вам за статью! Думаю, что MQL5-рецептурный подход очень удачен...
Есть пара вопросов-замечаний. И они скорее направлены в адрес Разработчика.
В статье :
"...Напомню, для режима исполнения Market Execution открыть позицию сразу с установленными уровнями Stop Loss и Take Profit не получится: нужно сначала открыть позицию, а потом уже модифицировать ее, установив эти уровни..."
И буквально сразу:
Начиная с 803 билда, для типов исполнения Market Execution и Exchange Execution при открытии позиции можно устанавливать уровни Stop Loss и Take Profit.
Я так понимаю, что последний абзац отменяет смысл предыдущего... тогда почему в списке изменений "MetaTrader 5 Client Terminal build 803" этой информации не было изначально? И почему её нет в Документации?
Я так понимаю, что последний абзац отменяет смысл предыдущего... тогда почему в списке изменений "MetaTrader 5 Client Terminal build 803" этой информации не было изначально? И почему её нет в Документации?
По какой-то причине не упомянули в новостях, но решили все же дать сноску в этой статье.
Документацию поправим.
По какой-то причине не упомянули в новостях, но решили все же дать сноску в этой статье.
Документацию поправим.
По какой-то причине не упомянули в новостях, но решили все же дать сноску в этой статье.
Документацию поправим.
Спасибо.
И попутно просьба разобраться с:
1) методой
bool CTrade::FillingCheck(const string symbol)
2) разрешенностью конкретного режима для инструмента (SYMBOL_FILLING_ALL_OR_NONE, SYMBOL_CANCEL_REMAIND, SYMBOL_RETURN_REMAIND)
Я так понимаю, пункт 2) может настраиваться брокером... может есть смысл это указывать в Документации?
Если моё понимание ошибочно, то вопрос по пункту 2) снимается...
Я так понимаю, пункт 2) может настраиваться брокером... может есть смысл это указывать в Документации?
указывать в документации что "пункт 2) может настраиваться брокером" ?
указывать в документации что "пункт 2) может настраиваться брокером" ?
Угу. Почему так... а потому что заметил, что по однотипным счетам (фикс-спред, исполнение FOK) у разных брокеров функция
SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
может вернуть разные значения...
Угу.
неясно только зачем.
ведь по сути фразу "может настраиваться брокером" нужно писать на каждой странице документации по торговле :)
но то, что вы спрашиваете - это относится не к брокеру, а к символу.
один символ - маркет исполнение, второй - биржевой.
у них разные условия, разные типы заливок и много чего разного
для этого и даны все функции опроса состояния торгового окружения.
sergeev:
...но то, что вы спрашиваете - это относится не к брокеру, а к символу.
один символ - маркет исполнение, второй - биржевой.
у них разные условия, разные типы заливок и много чего разного...
sergeev, Вы не не обратили внимание, что я написал ранее:
Набросал простенький скрипт. В нём получил у разных брокеров по символу EURUSD такую инфу:
Брокер "А":
GI 0 22:39:37 test_symbol (EURUSD,H1) Плавающий спред: 1
KQ 0 22:39:37 test_symbol (EURUSD,H1) Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
OK 0 22:39:37 test_symbol (EURUSD,H1) Режим заливки оредеров: 1
DS 0 22:39:37 test_symbol (EURUSD,H1) Путь в дереве символов: Forex\EURUSD
Брокер "B":
EQ 0 22:45:00 test_symbol (EURUSD,H1) Плавающий спред: 0
RN 0 22:45:00 test_symbol (EURUSD,H1) Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
LS 0 22:45:00 test_symbol (EURUSD,H1) Режим заливки оредеров: 3
OK 0 22:45:00 test_symbol (EURUSD,H1) Путь в дереве символов: Forex-Fix\EURUSD
Можно заметить, что при одном и том же режиме заключения сделок есть разный режим заливки ордеров. Да режимы спредов отличаются (что я упустил, заявляя, что у брокеров однотипные счета)... вопрос, режимы (заключения сделок и заливки оредеров) как-то связаны?
//+------------------------------------------------------------------+ //| test_symbol.mq5 | //| Copyright 2013, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #define SymInt SymbolInfoInteger #define SymS SymbolInfoString string _symbol="EURUSD"; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- 1) SymbolInfoInteger() long symb_digits=SymInt(_symbol,SYMBOL_DIGITS); PrintFormat("Число знаков после запятой: %u",symb_digits); bool symb_spread_float=SymInt(_symbol,SYMBOL_SPREAD_FLOAT); PrintFormat("Плавающий спред: %d",symb_spread_float); string trade_mode=EnumToString((ENUM_SYMBOL_TRADE_EXECUTION)SymInt(_symbol,SYMBOL_TRADE_EXEMODE)); PrintFormat("Режим заключения сделок: %s",trade_mode); long fil_mode=SymInt(_symbol,SYMBOL_FILLING_MODE); PrintFormat("Режим заливки оредеров: %u",fil_mode); //--- 2) SymbolInfoString() string path=SymS(_symbol,SYMBOL_PATH); PrintFormat("Путь в дереве символов: %s",path); } //+------------------------------------------------------------------+
- www.mql5.com
вопрос, режимы (заключения сделок и заливки оредеров) как-то связаны?
нет, конечно.
и с режимом "заключения сделок" также не связано время экспирации, и способ расчета прибыли.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Рецепты MQL5 - Использование индикаторов для формирования условий торговли в эксперте:
В этой статье мы продолжим модифицировать эксперта, над которым до этого работали на протяжении всех последних статей по программированию на MQL5. На этот раз подключим к эксперту индикаторы, по значениям которых будут проверяться условия на открытие позиции. Чтобы было интересней, сделаем во внешних параметрах выпадающий список, в котором можно будет выбрать один из трех индикаторов для торговли.
Автор: Anatoli Kazharski