![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
2. Неправильное значение для демо-Альпари, а также Alpari-Contest касается не только золота, посмотрите, к примеру спред по GBPJPY, для этого даже не нужна функция, можно помотреть в свойствах символа: -3,07 для длинных и -4,14 для коротких.
Что касается конкурсных счетов, то там всё верно. Своп для длинных позиций со знаком минус, при том, что идёт переоткрытие позиций, эквивалентен начислению этого свопа на демо или реал счетах.
Стоимость пункта золота, помоему, не зависит от настроек сервера. Так как даже при отсутсвии золота в обзоре рынка функция MarketInfo упорно продолжает выдавать "десятку".
Скрипт во вложении это иллюстрирует - если в обзоре нет инструмента, функция вернёт ноль. Кроме золота.
2. Неправильное значение для демо-Альпари, а также Alpari-Contest касается не только золота, посмотрите, к примеру спред по GBPJPY, для этого даже не нужна функция, можно помотреть в свойствах символа: -3,07 для длинных и -4,14 для коротких.
Что касается конкурсных счетов, то там всё верно. Своп для длинных позиций со знаком минус, при том, что идёт переоткрытие позиций, эквивалентен начислению этого свопа на демо или реал счетах.
Стоимость пункта золота, помоему, не зависит от настроек сервера. Так как даже при отсутсвии золота в обзоре рынка функция MarketInfo упорно продолжает выдавать "десятку".
Скрипт во вложении это иллюстрирует - если в обзоре нет инструмента, функция вернёт ноль. Кроме золота.
1. Похоже, Вы правы, для начисления свопа методом ролловера так и должно быть.
2. Вот для Alpari-Contest, где Gold в принципе отсутствует, Ваш скрипт даёт 0.
3. На реале и демо Alpari - везде Gold 10, видимо у них так принято, наверное Gold скрыто присутствует всегда.
Стоимость пункта золота, помоему, не зависит от настроек сервера. Так как даже при отсутсвии золота в обзоре рынка функция MarketInfo упорно продолжает выдавать "десятку".
Скрипт во вложении это иллюстрирует - если в обзоре нет инструмента, функция вернёт ноль. Кроме золота.
Стоимость пункта золота, помоему, не зависит от настроек сервера. Так как даже при отсутсвии золота в обзоре рынка функция MarketInfo упорно продолжает выдавать "десятку".
Скрипт во вложении это иллюстрирует - если в обзоре нет инструмента, функция вернёт ноль. Кроме золота.
Цитата из справки MetaEditor:
- противоречие.
Так что же со стоимостью пункта у золота?
Стоимость пункта золота, помоему, не зависит от настроек сервера. Так как даже при отсутсвии золота в обзоре рынка функция MarketInfo упорно продолжает выдавать "десятку".
Скрипт во вложении это иллюстрирует - если в обзоре нет инструмента, функция вернёт ноль. Кроме золота.
Цитата из справки MetaEditor:
- противоречие.
Я хотел лишь заметить, что функция MarketInfo возвращает информацию о финансовых инструментах, перечисленных в окне "Обзор рынка". Предыдущий рисунок это доказывает. Он получен с помощью скрипта MarginFX.mq4. Разве я не прав или есть другие способы о которых я не знаю?
В названии темы стоит утверждение. Вы его опровергаете?
Я не хочу больше ни чего доказывать. Один раз я попался на этот трюк с золотом. Нашел другое решение - исключил запрос стоимости пункта. (см. вложение)
... Нашел другое решение - исключил запрос стоимости пункта. (см. вложение)
Вот-вот. Мне пришлось сделать то же самое (и не один раз).
Я вообще могу много интересного рассказать про эту "замечательную" функцию, MarketInfo(...).
Основные чудеса наблюдаются при тестировании на истории экспертов, в составе которых есть обращение к этой функции (или экспертов, которые обращаются к индикаторам, использующим эту функцию).
Особенно интересно наблюдать за ценой пункта. Она при тестировании выдается всегда одна - текущая, т.е. та, что есть на настоящий момент, независимо от промежутка тестирования. И это - только на тестируемой паре! Если же эксперт, не дай бог, обращается к другой паре, то (держитесь за стул!) функция всегда выдает НОЛЬ! То же касается и значения Point: на тестируемой паре - выдается правильно, на остальных MarketInfo(...) выдает НОЛЬ!
В общем, "засада" для "мультивалютчиков"... :)
И это не только при тестировании. Например, если в индикаторе при расчете используется цена пункта, запрашиваемая через MarketInfo(. ..), то на истории индикатор врет! (За исключением, конечно, тех пар, на которых цена пункта не меняется.)
Короче, в итоге приходится писать собственные функции, подменяющие MarketInfo(...)...
Я вообще могу много интересного рассказать про эту "замечательную" функцию, MarketInfo(...).
Основные чудеса наблюдаются при тестировании на истории экспертов, в составе которых есть обращение к этой функции (или экспертов, которые обращаются к индикаторам, использующим эту функцию).
Особенно интересно наблюдать за ценой пункта. Она при тестировании выдается всегда одна - текущая, т.е. та, что есть на настоящий момент, независимо от промежутка тестирования. И это - только на тестируемой паре! Если же эксперт, не дай бог, обращается к другой паре, то (держитесь за стул!) функция всегда выдает НОЛЬ! То же касается и значения Point: на тестируемой паре - выдается правильно, на остальных MarketInfo(...) выдает НОЛЬ!
В общем, "засада" для "мультивалютчиков"... :)
И это не только при тестировании. Например, если в индикаторе при расчете используется цена пункта, запрашиваемая через MarketInfo(. ..), то на истории индикатор врет! (За исключением, конечно, тех пар, на которых цена пункта не меняется.)
Короче, в итоге приходится писать собственные функции, подменяющие MarketInfo(...)...
Вообще то этот вопрос уже неоднократно обсуждался:
'Тест сразу с несколькими парами валют'
'Тестирование на разных вал-х парах.'
и даже описан в статьях:
'Особенности и ограничения тестирования торговых стратегий в MetaTrader 4'
'Основы создания хеджирующего эксперта'
Вообще то этот вопрос уже неоднократно обсуждался...
Извините, не знал...
Спасибо за ссылки!
Всем привет.Помогите и мне с этой переменной.При компиляции сова пишет:
'Market_Info' - function not defined АТС.mq4 1561 11
'0.1' - constant expression is not integral АТС.mq4 1563 12
'0.001' - constant expression is not integral АТС.mq4 1565 12
Вот строки кода:
switch(MarketInfo(Pairs[0],MODE_LOTSTEP))
{
case 0.1: int digit=1; break;
case 0.01: digit=2; break;
case 0.001: digit=3; break;
default: digit=3 ;
}
if (buys!=0) {Object_field("l_pips2"," Покупок: "+buys+", Лотов: "+DoubleToStr(buy_lots,digit)+", "+DoubleToStr(BuyValProfit,0)+"/"+DoubleToStr(BuyPipsProfit,0)
+" пп.", 180, 360, 10, "Consolas Bold", CLR_NONE, DeepSkyBlue);}
else ObjectDelete("l_pips2");
if (sells!=0) {Object_field("s_pips2"," Продаж: "+sells+", Лотов: "+DoubleToStr(sell_lots,digit)+", "+DoubleToStr(SellValProfit,0)+"/"+DoubleToStr(SellPipsProfit,0)
+" пп.", 180, 380, 10, "Consolas Bold", CLR_NONE, Orange);}
else ObjectDelete("s_pips2");