[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 596

 
Reshetov:
Никак. У каждой кухни свои котиры.


И боле-мене реальные графики взять негде?

Грустно... 

 
Abzasc:

точность показания индикаторов...
копец, для выбранного дц, все соответствующие показания индикаторов будут абсолютно справедливы.
 
Techno:
копец, для выбранного дц, все соответствующие показания индикаторов будут абсолютно справедливы.

если бы...
 
Abzasc:

если бы...
что если бы? Индикаторы строются с абсолютной точностью на основе текущих показаний. Торговля идет по этим же самым показаниям, что тут еще не понятно ?
 
Techno:
что если бы? Индикаторы строются с абсолютной точностью на основе текущих показаний. Торговля идет по этим же самым показаниям, что тут еще не понятно ?

"с абсолютной точностью на основе текущих показаний"

Уточним - недостоверных показаний. И если работаем не по усредненным ценам, разброс получается очень немаленький.

Просто сравните два свечных графика на, скажем, М15. Например, с этими

iMoningStar https://www.mql5.com/ru/code/9520

i3Indians https://www.mql5.com/ru/code/9695

iDragon https://www.mql5.com/ru/code/9617

А потом скажите - как на них будет работать советник? 

 
абсолютно достоверных не существует. Это как погода, в одном и том же городе может в разных частях отличаться немного. Профитный советник будет отлично на любом варианте работать. Что я должен был увидеть на этих графиках? Графики как графики.
 
Gun:

Как найти цену открытия последнего ордера?

Сделал вот так, но при закрытии по close cерии ордеров, то цена выходит первого ордера из этой серии, но не последнего...

Есть ли еще способ определения последнего ордера?


//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает цену открытия последней открытой позиций.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double PriceOpenLastPos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=0;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 28.11.2006                                                     |
//|  Описание : Возвращает цену установки последнего ордера или 0.             |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetOrderOpenPrice(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=0;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()>1 && OrderType()<6) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
Так можно...
 
Techno:
 Что я должен был увидеть на этих графиках?
Разницу в ценах. Как следствие - разные, до противоположного, результаты индикаторов...
 

Здравствуйте всем. Возможно ли настроить терминал чтобы данные на графике выводились только в американскую торговую сессию (с 17:30 до 24:00 по Москве)?

Спасибо

 

Добрый день, продолжаю разбираться с кодингом, взял пример советника из статьи раздела учебник, заменил код из примера:

   // Торговые критерии
   MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_1
   MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_2

   if (MA_1_t > MA_2_t + Rastvor*Point)         // Если разница между
     {                                          // ..МА 1 и 2 большая
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (MA_1_t < MA_2_t - Rastvor*Point)         // Если разница между
     {                                          // ..МА 1 и 2 большая
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }

На произвольный для обучения:

   // Торговые критерии

   double MA_1[];

   MA_1[0]=iMA(NULL,0,Period_MA,0,MODE_EMA,PRICE_CLOSE,0);
   
   if (MA_1[1] < MA_1[0])
     {                                          // ..МА последнего бара выше предыдущего
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (MA_1[1] > MA_1[0])
     {                                          // ..МА последнего бара ниже предыдущего
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }
Сделки не выставляются, подскажите пожалуйста в чём причина, как подправить код.
Причина обращения: