Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1428

 
Alexey Viktorov #:

Как-же мне уже надоело читать всю эту ахинею… Ведь кода всего ЧЕТЫРЕ СТРОКИ, а обсуждений 3 страницы.

20000 миллисекунд — это 20 секунд.

Дальше ставьте условие на размер переменной delta больше\меньше, влево\вправо или север\йух…

Жестокий код) На каждом тике копировать)))

 
Valeriy Yastremskiy #:

в 4ке такой код, с копированием тиков не пройдет.

Прочтите название темы.

 
Alexey Viktorov #:

Прочтите название темы.

))) не поспоришь)

 

Всем привет, пишу код проверки открытых позиций в советнике


#include <Trade\PositionInfo.mqh>

#include <Trade\Trade.mqh>

#include <Trade\SymbolInfo.mqh>

#include <Trade\AccountInfo.mqh>

#include <Trade\DealInfo.mqh>

#include <Trade\OrderInfo.mqh>

CPositionInfo  m_position;                   // trade position object

CTrade         m_trade;                      // trading object

CSymbolInfo    m_symbol;                     // symbol info object

CAccountInfo   m_account;                    // account info wrapper

CDealInfo      m_deal;                       // deals object

COrderInfo     m_order;                      // pending orders object



//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

bool ExistBuy(long magic_number)

{

   for (int i = PositionsTotal() - 1; i >= 0; i--)

   {

      if (m_position.SelectByIndex(i))

      {

         if (m_position.PositionType() == POSITION_TYPE_BUY && m_position.Magic() == magic_number && m_position.Symbol() == Symbol())

         {

            return (true);

         }

      }

   }

   return (false);

}



такой же есть и для sell позиций. Всё работает. Но есть один брокер (возможно есть чуть больше) он на реальном счету может открыть дубликаты позиций несмотря на проверку. Притом он делает это не всегда. Т.е. ошибка (открытие дубликата позиции) не ловится в тестере - там всё ок, на реале ловится, но не всегда. 


Что происходит? Почему так?

 
jcinvestorYury #:

Всем привет, пишу код проверки открытых позиций в советнике


такой же есть и для sell позиций. Всё работает. Но есть один брокер (возможно есть чуть больше) он на реальном счету может открыть дубликаты позиций несмотря на проверку. Притом он делает это не всегда. Т.е. ошибка (открытие дубликата позиции) не ловится в тестере - там всё ок, на реале ловится, но не всегда. 


Что происходит? Почему так?

Здравствуйте! А какие у Вас условия для открытия длинной и/или короткой позиции? Там Вы проверяете, что уже есть одна открытая позиция BUY и/или SELL?

С уважением, Владимир.

 
MrBrooklin #:

Здравствуйте! А какие у Вас условия для открытия длинной и/или короткой позиции? Там Вы проверяете, что уже есть одна открытая позиция BUY и/или SELL?

С уважением, Владимир.

Это показательный код, «Как писать нельзя» …

 
Я не чайник и даже динозавр на рынке, но никак не догоню причину с установкой советников, которые в начале установки обозначаются в окне, а потом вылетают из окна... вылетают сразу. При прогоне по всем парам в обзоре, в тестере, при тесте, также не показывают результаты, после выбора отдельной пары и ее прогона, кроме рубля или вообще, в окне пусто... При этом некоторые советники работают пока штатно и в тестере тоже, как понять, откомпилированные советники, хулиганят. Просветите плиз с такой непоняткой ? 
Как купить торгового робота в MetaTrader Market и установить его?
Как купить торгового робота в MetaTrader Market и установить его?
  • www.mql5.com
Каждый продукт в Маркете MetaTrader можно купить и через торговые платформы MetaTrader 4 и MetaTrader 5, и прямо на сайте MQL5.com. Выберите продукт, который лучше всего подходит под ваш стиль работы, оплатите его удобным для вас способом и не забудьте активировать.
 
Здравствуйте. 
Подскажите, как уровнять пункты разных пар ? (Трёх значные и пятизначные котировки). 
 К примеру:  EURUSD  EURJPY GOLD
Как это делается, к примеру, в сервисе Сигналов
Там прибыль показывается в долларах и пунктах. 
 

Ребятушки, подскажите, пожалуйста.

Я и в МТ4 был не очень програмер ) , теперь перехожу на МТ5.

Столкнулся с таким нюансом:

Хочу чтобы открытых ордеров было не больше одного в момент времени, на мт4 было достаточно просто это решить... В МТ5 в справочнике написано "НЕ ПУТАЙТЕ ОРДЕРА И СДЕЛКИ" и понаписано что нужно через функцию 

HistoryDealGetInteger

HistoryDealGetInteger запрашивать что-то там.... ничего не понял честно. По человечески объясните, пожалуйста, люди добрые.

 
Sergey Dymov #:

Ребятушки, подскажите, пожалуйста.

Я и в МТ4 был не очень програмер ) , теперь перехожу на МТ5.

Столкнулся с таким нюансом:

Хочу чтобы открытых ордеров было не больше одного в момент времени, на мт4 было достаточно просто это решить... В МТ5 в справочнике написано "НЕ ПУТАЙТЕ ОРДЕРА И СДЕЛКИ" и понаписано что нужно через функцию 

HistoryDealGetInteger

HistoryDealGetInteger запрашивать что-то там.... ничего не понял честно. По человечески объясните, пожалуйста, люди добрые.

Ордер это приказ или запрос на совершение действия, имеет свой тикет, сделка это действие по полученному приказу, имеет свой тикет сделки и номер приказа (тикет) Просто приказ может исполнятся несколькими сделками, И есть еще позиция, которая порождена сделкой по приказу. Позиция имеет свой тикет, и хранит у себя номер сделки и номер приказа. Это в 5ке

в 4ке ордер сделка и позиция это рыночный ордер. 

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