[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 365

 
nadya:
давайте поподробнее, у Вас код уже готов? В каком он расширении?

Да, готов!Насчет расширения не знаю.как это можно узнать?!
 
Chekh:

Да, готов!Насчет расширения не знаю.как это можно узнать?!

MQL4 Code Base
 
Chekh:

Да, готов!Насчет расширения не знаю.как это можно узнать?!

Смотрите все ссылки второго поста этой страницы, особенно внимательно раздела

"ТЕРМИНАЛ "
Как установить в MetaTrader 4 советник?

...

 
Roman.:


Расшифруйте понятие по Вашему "... ближайшую к цене бай и сел одновременно..." одновременности - это как?

замените эту предпоследнюю строку return(t); этой


не помогло,

чтобы выбирало ближайший ордер к цене бай и селл, возможно одновременно это не совсем корректно, но данная функция выбирает или бай или селл в зависимости от того который ближе

 
forexnew:

Добрый день!

Возник вопрос: советник настроен на торговлю на нескольких десятках валютных пар (в окне одной пары). Если эти какая-нибудь из пар не отображена в окне "Обзор рынка", то возникает глюк. Как программно проверить, есть ли в наличии эти валютные пары для торговли или может быть они только не отображены в "Обзоре рынка"?


Ошибки разные будут

ERR_HISTORY_WILL_UPDATED4066Запрошенные исторические данные в состоянии обновления

ERR_UNKNOWN_SYMBOL4106Неизвестный символ
 
vilard:


не помогло,

чтобы выбирало ближайший ордер к цене бай и селл, возможно одновременно это не совсем корректно, но данная функция выбирает или бай или селл в зависимости от того который ближе

Что возвращает данная функция с этой в конце строкой

return(OrderType());
 
vilard:


не помогло,

чтобы выбирало ближайший ордер к цене бай и селл, возможно одновременно это не совсем корректно, но данная функция выбирает или бай или селл в зависимости от того который ближе


Попробуйте так

...
t=OrderType();
 }
 }
 }
 }
 }
 }
 return(t);
 }
 
vilard:

как выбрать позицию ближайшую к цене бай и сел одновременно? накопал такую функцию:

//+----------------------------------------------------------------------------+
//| Возвращает тикет ближайшей к рынку позиции по цене открытия или 0 |
//| Параметры: |
//| sym - наименование инструмента ("" - текущий символ) |
//| op - операция (-1 - любая позиция) |
//| mn - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+
int TicketNearPosOnOpen(string sym="", int op=-1, int mn=-1) {
double di=10000, pp;
int i, k=OrdersTotal(), t=0;

if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sym && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) pp=MarketInfo(sym, MODE_BID);
if (OrderType()==OP_SELL) pp=MarketInfo(sym, MODE_ASK);
if (di>MathAbs(OrderOpenPrice()-pp)) {
di=MathAbs(OrderOpenPrice()-pp);
t=OrderTicket();
}
}
}
}
}
}
return(t);
}

выбирает только тот ордер кторый последний сработал, но позицию сел(или бай) не выбирает, помогите дополнить фунцию
Что-то не ясно что именно вам нужно. Выбрать самую близко расположенную открытую позицию к текущей цене (либо Бай, либо Селл)?

Или выбрать две позиции (и Бай и Селл), находящиеся в непосредственной близости к текущей цене?

Когда точно скажите, что нужно - тогда и поможем-с :)

 
vilard:

как выбрать позицию ближайшую к цене бай и сел одновременно? накопал такую функцию:...

Может это Вам подойдет.

DistMarketAndPos - Возвращает расстояние в пунктах между рынком и ближайшей позицией