Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 591

 
Artyom Trishkin:

Копируется. А сколько скопировано проверяется?

Если вы используете индикатор со сглаживанием, то для его расчёта требуется несколько больше баров, чем вы предполагаете. Поэтому то, что вы скопировали, ещё не говорит о том, что данные скопированы и доступны в полном объёме.

Вам проще сделать проверку на размер массива и, если он не имеет требуемый объём, то выходить из OnTick()

А как это сделать, если в режиме оптимизации не дается вывод, а в обычном все работает?
вывод в файл сработает?

 
Sergey Likho:
Подскажите универсальную формулу расчета цены безубытка если в сделке есть комиссия и свопы.

Есть простая формула которая работает для котировок с 5 знаками и депозита в usd

Лот x прибыль в пунктах = прибыль в $.

Если это бай и в сделке есть свопы и комиссии то цена безубытка будет немного выше цены открытия
(Если свопов и комиссий не, то безубыток это цена открытия)

Но если инструмен экзотический, или котировка 4 или 2 знака, или валюта депозита фунты. То формула выше не поможет.
Есть ли универсальная формула?

Кому интересно, вот здесь отличный код, который все учитывает  - https://www.mql5.com/ru/forum/58229#comment_1603761

Как получить усредненную цену позиции по двум (или более) лотам с разными ценами?
Как получить усредненную цену позиции по двум (или более) лотам с разными ценами?
  • 2015.05.01
  • www.mql5.com
Другими словами среднюю цену открытия позиции, при наличии нескольких лотов по разной цене.
 
Подскажи те пожалуйста почему не закрывается самая дальная сделка по открытым ордерам? Вроде все как надо сделал а выбирает просто тупо из списка
int TimeSec;
//+------------------------------------------------------------------+
void start(){
if(NewSecRun()==false){return;} 
fOrderClose();}
//+------------------------------------------------------------------+
bool NewSecRun(){
if(TimeSec!=TimeSeconds(TimeCurrent())){
    TimeSec=TimeSeconds(TimeCurrent());
return (true);}   return (false);}  
//+------------------------------------------------------------------+
int fMarketOrders(int type){
   int c=0,aBuyCount=0,aSellCount=0;
     for(int i=0;i<OrdersTotal();i++){
       if(OrderSelect(i,SELECT_BY_POS)){
            switch(OrderType()){
               case OP_BUY:aBuyCount++;break;
               case OP_SELL:aBuyCount++;break;
              }}else{return(-1);}}
   if(type==OP_BUY)c=aBuyCount;if(type==OP_SELL)c=aSellCount;
   return(c);}
//+------------------------------------------------------------------+
void fOrderClose(){     Comment("       ",fMarketOrders(OP_BUY)+fMarketOrders(OP_SELL) );
      if((fMarketOrders(OP_BUY)+fMarketOrders(OP_SELL))>=500){
          for(int i=0;i<OrdersTotal();i++){
          if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
          if(OrderType()==OP_SELL || OrderType()==OP_BUY){
    if( OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE) || OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE)){return;} }}} }  }
    
 
          
void fOrderClose()...
for
(int i=0;i<OrdersTotal();i++){           if(OrderSelect(i

Здесь, наверно.

 
Galim_V:
          

Здесь, наверно.

вроде эта функция выбирает самую первую сделку. Так и надо мне. Что то не так?

 
Rustam Bikbulatov:

вроде эта функция выбирает самую первую сделку. Так и надо мне. Что то не так?

  Я не мастер, но другого закрытия  здесь не вижу. Выбор из Total.
 
            switch(OrderType()){
               case OP_BUY:aBuyCount++;break;
               case OP_SELL:aBuyCount++;break;

В этом месте aBuyCount наращивается "усиленно", а aSellCount вообще не наращивается.

 
Vladimir:

В этом месте aBuyCount наращивается "усиленно", а aSellCount вообще не наращивается.

вот спасибо! я даже и не заметил! вряд ли но может даже из-за этого!

 

Добрый день!

Я купил индикатор на сайте mql5, для терминала MT4, установил его, все заработало.. но некоторе время назад он перестал работать.. Общался с разработчиком, с техподдержкой Forex Club (у меня их терминал), помочь мне не смогли. Техподдержка отправила меня на форум mql.5. Подскажите, к кому обратиться, чтобы решить мою проблему?

 
paka76:

Добрый день!

Я купил индикатор на сайте mql5, для терминала MT4, установил его, все заработало.. но некоторе время назад он перестал работать.. Общался с разработчиком, с техподдержкой Forex Club (у меня их терминал), помочь мне не смогли. Техподдержка отправила меня на форум mql.5. Подскажите, к кому обратиться, чтобы решить мою проблему?

 К продавцу этого индикатора.

Причина обращения: