Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 258

 
OlgaKom #:

Всем привет!

Кто-нибудь может подсказать, как корректно получить значение для tick price и tick size

При таком варианте получения для символа

полученные значения иногда отличаются от фактических

Может кто-то знает с чем это связано?? 

на 4-ке может получаться неверно если валюта депозита не в USD и нет требуемых конверсий в обзоре рынка. Цену пункта в валюте депо и объёмы залогов просто нечем посчитать, нет данных.

Чтобы было хорошо и правильно - если депозит например в RUB, то ВСЕ доступные рублёвые пары должны быть включены. И депо лучше держать в мажорной валюте, USD/EUR/JPY. Миноры это от безысходности только

PS/ Если депо не в USD:  У инструмента есть свойства SYMBOL_CURRENCY_PROFIT,BASE,MARGIN - перед тем как его торговать/анализировать добавьте соотв. пары с ACCOUNT_CURRENCY, через SymbolSelect(). Заранее ! 

PPS/ с такой ситуацией сталкивался только в 4-ке.. просто в 5-ке не было пока экзотичных счетов :-) про неё не скажу

 

Всем привет! столкнулся с проблемой, не пойму почему не отображаются торговые уровни, на некоторых инструментах и нет возможности выставить торговлю в один клик. галочки везде стоят все подтверждено, а функции не добавляются. на золоте есть торговля в один клик а на евродолларе нет и уровни также там есть здесь нет??? 

 
Здравствуйте.Вопрос по терминалу МТ4. Нажимаю правой кнопкой мыши на график-вылетает окно но без верхних трех строчек,например нет "sell stop",строчки "торговля" и "торговля в один клик".Хотя во вкладке "сервис" стоит галочка в "торговля в один клик".Уже несколько лет работаю с МТ4 но с такой фигней еще не сталкивался. Причем на моем компе все это есть,а на терминалах которые стоят на удаленном сервере этих строк нет.Может кто нить помочь с этим?
 

Доброе время суток!!!!

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

//+----------------------------------------------------------------------------+
//| Калькуляция убыточных ордеров                                              |
//+----------------------------------------------------------------------------+
double Loss()
  {
   double oLoss = 0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(OrderType() == OP_BUY || OrderType() == OP_SELL)
              {
               if(OrderProfit()<0)
                 {
                  oLoss += OrderProfit();
                 }
              }
           }
        }
     }
   return(oLoss);
  }

Изменить нужно в функции - чтобы калькулировалась только минимальной части лота от каждого ордера сетки ордеров. Min Lot=0.01

Спасибо!!!!

 

Доброго времени суток! Недавно начал изучать MQL4, пробую написать советника по данным индикатора renko bricks v2. Проблема в том что советник с простыми, казалось бы, вычислениями очень медленно прогоняется в тестере. Он работает, но очень медлленно прогоняется. Я подозреваю, что по неопытности мог написать чипухи, поэтому очень прошу помощи у старших товарищей.) 

 

Суть кратко. Советник скальпер, торгует на м1, ждет смены цвета кирпича и открывает сделку в сторону нового движения. Прилагаю ниже исходники самого советника, и индюка. Заранее благодарю!

Файлы:
 
Dmitri73 #:
Здравствуйте.Вопрос по терминалу МТ4. Нажимаю правой кнопкой мыши на график-вылетает окно но без верхних трех строчек,например нет "sell stop",строчки "торговля" и "торговля в один клик".Хотя во вкладке "сервис" стоит галочка в "торговля в один клик".Уже несколько лет работаю с МТ4 но с такой фигней еще не сталкивался. Причем на моем компе все это есть,а на терминалах которые стоят на удаленном сервере этих строк нет.Может кто нить помочь с этим?Ин

Странно, а какой билд?

 

Здравствуйте. Вопрос к специалистам по кодированию, так как не могу ни где найти ответ на свой вопрос. Я с помощью функции for перебираю свечи, нахожу нужную свечу и получаю от не данные, но в энном количестве свеч таких присутствуют несколько, как мне получит самую ближайшую из них? Ни как не допенькаю.

int SvechaVniz()
  {
   for( a=2; a<55; a++)
     {
      if(iClose(Symbol(),TF_1,a)<iOpen(Symbol(),TF_1,a))
        {
         dn=a;
         dn_o=iOpen(Symbol(),TF_1,dn);
         dn_h=iHigh(Symbol(),TF_1,dn);
         dn_l=iLow(Symbol(),TF_1,dn);
         dn_c=iClose(Symbol(),TF_1,dn);
         Print(dn);
         в переменную dn приходит несколько индексов свечей, как их перебрать и выбрать ближайший?
        }
     }
   return(0);
  }
 
Александр Вараксин #:

Здравствуйте. Вопрос к специалистам по кодированию, так как не могу ни где найти ответ на свой вопрос. Я с помощью функции for перебираю свечи, нахожу нужную свечу и получаю от не данные, но в энном количестве свеч таких присутствуют несколько, как мне получит самую ближайшую из них? Ни как не допенькаю.

Если цикл начнёте с последней свечи, то последняя "нужная свеча" будет с ближайшем индексом.

for( a=55; a>2; a--)
 
Александр Вараксин #:

Здравствуйте. Вопрос к специалистам по кодированию, так как не могу ни где найти ответ на свой вопрос. Я с помощью функции for перебираю свечи, нахожу нужную свечу и получаю от не данные, но в энном количестве свеч таких присутствуют несколько, как мне получит самую ближайшую из них? Ни как не допенькаю.

Можно так:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   
Alert("индекс свечи = ",SvechaVniz(0)); 
   
  }
//+------------------------------------------------------------------+

int SvechaVniz( int n=0)
  {  
  int  k=0;
  
   for(int a=0; a<55; a++)
     {
      if(iClose(Symbol(),0,a)<iOpen(Symbol(),0,a))
        {
         k++;
         if (k>n) return(a);
        }
     }
   return(0);
  }

Функция возвращает индекс нужной вам свечи,

в передаваемых параметрах  0 ближайшая, 1 следующая. 

 
Alekseu Fedotov #:

Можно так:

Функция возвращает индекс нужной вам свечи,

в передаваемых параметрах  0 ближайшая, 1 следующая. 

Спасибо, попробую.
Причина обращения: