[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 109

 
Установил МТ4 удалил все вкладки, открыл новые. Закрыл МТ4. Открываю, снова загружаются старые вкладки по умолчанию. Перерыл весь МТ4 не могу найти как эту хрень убрать. Может кто сталкивался?
 
eddy:
советник то выкладывай, посмотрим. а доллар себе оставь :D
Вот! Брать помоги, пожалуйста. Спасибо!
Файлы:
 
Sayod:
Подскажите плиз что сделать чтобы советник совершал все действие с точностью до наоборот? Буду бесконечно благодарен за ваш совет и 1$ на ваш кошелек, заране спасибо.

а вдруг лучше торговля будет таким мокаром)) 

 
VOLDEMAR:
Привет !!! Парни не могу ни как решить проблему ...
суть в следующем
вот мой кусок кода
.........

но всёравно ордера мешаются
цель что бы советник работал только с теми ордерами на графики которых он прикреплён...
Помогите голову уже вторую неделю ломаю ..........

Давайте посмотрим выбор нужного ордера в функции, возвращающей профит последнего открытого ордера в пунктах:

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int GetProfitLastPosInPoint(string sy, int op, int mn) 
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
{
   datetime t;
   int      i, pr=0, k=OrdersTotal();
   double   pt=MarketInfo(sy, MODE_POINT);

   if (sy=="0") sy=Symbol();
   for (i=0; i<k; i++) 
      {
         if (!OrderSelect(i, SELECT_BY_POS)) continue;
         if (OrderSymbol()!=sy)              continue;
         if (OrderType()!=op)                continue;
         if (OrderMagicNumber()!=mn)         continue;
         
         if (t<OrderOpenTime())              t=OrderOpenTime();
         if (op==OP_BUY)         pr=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/pt;
         else if (op==OP_SELL)   pr=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/pt;
      }
   return(pr);
}

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

При вызове ф-ции в неё передаётся нужный символ (sy), нужный тип ордера (op) и магик (mn). Если передан ноль в кач-ве параметра sy, то выбирается текущий символ графика:

if (sy=="0") sy=Symbol();

далее проверяем выбран ли какой-либо ордер и, если да, то проверяем переданный символ, если он не равен переданному в функцию, то переходим к следующей итерации цикла перебора ордеров терминала. Если это нужный нам символ, то проверяем соответствие его типа переданному в функцию и, если соответствует, проверяем переданный в ф-цию магик. Далее уже идут действия с найденным нужным нам ордером: проверка на то, что он самый последний из открытых и подсчёт его прибыли.

Вам, для понимания принципа выбора ордеров, нужно понять вот этот блок кода функции:

if (!OrderSelect(i, SELECT_BY_POS)) continue;
if (OrderSymbol()!=sy)              continue;
if (OrderType()!=op)                continue;
if (OrderMagicNumber()!=mn)         continue;

Всё просто...

 

Доброе утро !

Сделка в режиме он-лайн по паре GBP/USD на демо не открылась - ошибка 131. Подскажите, пожалуйста, что значит ошибка 131 - "Неправильный объем", "ошибка в грануляции объема. Необходимо прекратить все попытки торговых операций и изменить логику программы." ? Поиск похожего уже на сайте не нашёл. Что это за ошибка ? Объёмы тиков в минутной свече, что ли ? И как эту ошибку исправить ?

 
volshebnik:

Доброе утро !

Сделка в режиме он-лайн на демо не открылась - ошибка 131. Подскажите, пожалуйста, что значит ошибка 131 - "Неправильный объем", "ошибка в грануляции объема. Необходимо прекратить все попытки торговых операций и изменить логику программы." ? Поиск похожего уже на сайте не работает. Что это за ошибка ? Объёмы тиков в минутной свече, что ли ? И как эту ошибку исправить ?


речь идёт об объёме лота. например, минимальный лот 0,1, а сделка открывается лотом 0,01
 
abolk:

речь идёт об объёме лота. например, минимальный лот 0,1, а сделка открывается лотом 0,01
Большое спасибо !
 
volshebnik:
Подскажите, пожалуйста, что значит ошибка 131 - "Неправильный объем"...
...Поиск похожего уже на сайте не нашёл...
Не может быть! Сайт набит информацией по этой проблеме. Проводим поиск в гугле по запросу "ошибка 131" site:mql4.com
http://www.google.ru/search?as_sitesearch=mql4.com&as_q=%22%EE%F8%E8%E1%EA%E0+131%22
Более тридцати содержательных ответов.
 

Sayod, вроде так.

в тестере умеешь проверять? можно проверить

Файлы:
 
artmedia70:

Давайте посмотрим выбор нужного ордера в функции, возвращающей профит последнего открытого ордера в пунктах:

При вызове ф-ции в неё передаётся нужный символ (sy), нужный тип ордера (op) и магик (mn). Если передан ноль в кач-ве параметра sy, то выбирается текущий символ графика:

далее проверяем выбран ли какой-либо ордер и, если да, то проверяем переданный символ, если он не равен переданному в функцию, то переходим к следующей итерации цикла перебора ордеров терминала. Если это нужный нам символ, то проверяем соответствие его типа переданному в функцию и, если соответствует, проверяем переданный в ф-цию магик. Далее уже идут действия с найденным нужным нам ордером: проверка на то, что он самый последний из открытых и подсчёт его прибыли.

Вам, для понимания принципа выбора ордеров, нужно понять вот этот блок кода функции:

Всё просто...



if (!OrderSelect(i, SELECT_BY_POS)) continue;  не могу понять что значит  !  перед ордер селект и сонтинуе для каких целей в справочнике толком ничего не написано 
Причина обращения: