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

 
Karputov Vladimir:

1. Да, правильно. Исполнение ордера порождает сделку. Сделка может:

  • создать позицию
  • изменить объём позиции
  • закрыть позицию
2. Что может быть лучше практики? :) Откройте позицию (вручную) на любом графике. Запустите скрипт

 

- обратите внимание на строку (смотреть во вкладку "Эксперты" терминала):

Нарастите объём, снова запустите скрипт - сравните снова строку

Как видите свойство позиции (POSITION_IDENTIFIER) не меняется, если позицию не переворачивать. 

Спасибо! за ответы Вам и всем кто отвечал.
 
Karputov Vladimir:

В МТ5 есть понятие ПОЗИЦИЯ. Вы можете закрыть позицию. Если нужно полностью закрыть позицию, то используйте стандартную библиотеку. Для неттингового счёта пример закрытия позиции:

Спасибо!
 
Профи помогите пожалуйста!

Есть строка вида (загружено с новосного сайта)

string txt = "Индекс ожиданий в сфере услуг  (авг)</a>\n";
исходная кодировка UTF-8. отображается как:  windows 1252

нужно средствами mql4 преобразовать в вид - Индекс ожиданий в сфере услуг (авг)</a>

Заранее спасибо!
 

Здравствуйте!

есть кусок кода

 после его выполнения  PositionsTotal() 

выдает равным 22 по количеству открытых ордеров (рыночных) . Действительно открыто 22 ордера , но они все по одному инструменту. Я так понимаю что позиция должна быть одна. Что не так? Подскажите плиз!

position_ID=0;
  for(int i=0;i<PositionsTotal();i++)  {
      string pos_symbol=PositionGetSymbol((uint)i);
      if(pos_symbol==Symbol())  {
      position_ID=PositionGetInteger(POSITION_IDENTIFIER);  
      break;    
      }
  }    
   double mProfit =PositionGetDouble(POSITION_PROFIT);
PrintFormat("вход в 0018 PositionsTotal()=%d  mProfit=%d  ticket=%d",PositionsTotal(),mProfit,ticket); 
 
Alexander Kharlamov:

Здравствуйте!

есть кусок кода

 после его выполнения  PositionsTotal() 

выдает равным 22 по количеству открытых ордеров (рыночных) . Действительно открыто 22 ордера , но они все по одному инструменту. Я так понимаю что позиция должна быть одна. Что не так? Подскажите плиз!

Позиция и ордер, это совершенно разные вещи! Позиция - это то: "Результатом совершения торговых операций являются открытие позиции"

Так что если у вас открыты Buy или Sell,  то это уже не ордера, ордерами(прказами) они были до открытия позиции.

Так-же не может быть понятия "ордер рыночный", ордер не может быть рыночным, ордер может быть отложенным - лимитки и стоповые, так-же стоплосс и тейкпрофит тоже ордера(приказ ДЦ на закрытие). Buy и Sell - позиции, а не ордера, это ваши места в рынке! 

 
Vitaly Muzichenko:

Позиция и ордер, это совершенно разные вещи! Позиция - это то: "Результатом совершения торговых операций являются открытие позиции"

Так что если у вас открыты Buy или Sell,  то это уже не ордера, ордерами(прказами) они были до открытия позиции.

Так-же не может быть понятия "ордер рыночный", ордер не может быть рыночным, ордер может быть отложенным - лимитки и стоповые, так-же стоплосс и тейкпрофит тоже ордера(приказ ДЦ на закрытие). Buy и Sell - позиции, а не ордера, это ваши места в рынке! 

Спасибо что откликнулись, но то, что вы написали мне все понятно и так. Рыночные ордера написал в том смысле, что они уже в рынке а не отложки. Вопрос был в том почему позиций 22 а не одна. Вы код кажется не посмотрели а сразу стали отвечать. извините..
 
Alexander Kharlamov:
Спасибо что откликнулись, но то, что вы написали мне все понятно и так. Рыночные ордера написал в том смысле, что они уже в рынке а не отложки. Вопрос был в том почему позиций 22 а не одна. Вы код кажется не посмотрели а сразу стали отвечать. извините..
Видимо у вас хеджевый счет. Там может быть много позиций по одному инструменту.
 
mila.com:

Здравствуйте.

Подскажите, пожалуйста, как получить в переменную текст, расположенный на первом баре.

Хочу получить int TXT = 191;


ObjectGetString()

OBJPROP_TEXT

Описание объекта (текст, содержащийся в объекте)

string

 
Artyom Trishkin:

ObjectGetString()

OBJPROP_TEXT

Описание объекта (текст, содержащийся в объекте)

string

При помощи 
StringToInteger( 
   string  value      // строка 
   );
 
mila.com:

Спасибо, не совсем понятно как это реализовать в данном случае.

Что не так?

Скорее всего не учли пробел между именем и временем  "L_V "+Time[1]