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

 
Trader3000 #:

В общем есть один стрелочный индикатор, исходника нет. Индикатор рисует и перерисовывает стрелки. А еще выдает алерты и записи о них в журнал. 

Trader3000 #:
Некоторые стрелки удаляет, а те что с алертами - уже не удаляет. Буферы при этом одни и те-же.

Жёлтым противоречие?

Trader3000 #:
Нужны именно те сигналы которые идут по алертам (дублирует в журнал), а не по стрелкам. 
Зелёным источник сигнала и ответ на вопрос
 

Добрый день!

Подскажите пожалуйста как выбирать позицию по имени инструмента и магическому номеру для дальнейшей работы. При помощи "SelectByMagic".   ??

    #include<Trade\Trade.mqh>
CTrade  trade;

#include <Trade\PositionInfo.mqh> 

void OnTick()
{
............
......

if (CPositionInfo.SelectByMagic(NULL,magic))
{
Print ("Позиция с магик выбрана ",magic);
{

.....
....
}
 
// ==================== SummLotBuy() ====================================================
// Возвращает суммарный лот Бай-группы или 0 в случае неудачи
// ----------------------------------------------------------
double SummLotBuy(){
        double SummLot=0;
         for(int i=OrdersTotal()-1;i>=0;i--){
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
      Print(__FUNCTION__,"(): ",Text("Ошибка выбора ордера № ","Failed to select order No. "),i,Text(" Код ошибки = "," Error code = "),GetLastError());
    }
    else{
      if(OrderSymbol()!=Symbol()){continue;}
                        if(OrderMagicNumber()!=MAGIC){continue;}
      if(OrderType()==OP_BUY){
        SummLot+=OrderLots();
      }
                }
  }
        return (SummLot);
}
Посмотрите, как происходит выбор ордера
 
Vitaly Murlenko #:
Посмотрите, как происходит выбор ордера
Я хочу именно через билиотеку
 
Alexey Belyakov #:

Добрый день!

Подскажите пожалуйста как выбирать позицию по имени инструмента и магическому номеру для дальнейшей работы. При помощи "SelectByMagic".   ??

#include<Trade\Trade.mqh>
CTrade  trade;

#include <Trade\PositionInfo.mqh> 
CPositionInfo  pos;

void OnTick()
{
............
......

if (pos.SelectByMagic(_Symbol,magic))
{
Print ("Позиция с магик выбрана ",magic);
{

.....
....
}
Объявить экземпляр класса CPositionInfo, символ нужно указать в аргументах функции, NULL не подойдёт.
 
Alexey Belyakov #:
Подскажите пожалуйста как выбирать позицию по имени инструмента и магическому номеру для дальнейшей работы. При помощи "SelectByMagic".   ??

Встречный вопрос - а Вы в функции OnInit() устанавливали идентификатор эксперта? Если не устанавливали, то никогда не сможете его выбрать!

SetExpertMagicNumber

Устанавливает идентификатор эксперта

void  SetExpertMagicNumber(
   ulong  magic      // идентификатор
   )
Параметры

magic

[in]  Новый идентификатор эксперта.

Возвращаемое значение

Нет.

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

 
MrBrooklin #:

Встречный вопрос - а Вы в функции OnInit() устанавливали идентификатор эксперта? Если не устанавливали, то никогда не сможете его выбрать!

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

Привет Владимир. Как было сказано в………

«Боря, ты не прав…»

bool CPositionInfo::SelectByMagic(const string symbol,const ulong magic)

Сюда можно вставить любой магик. Не обязательно он должен быть записан в переменную функцией SelectByMagic(). И даже больше могу сказать: в классе Trade\PositionInfo.mqh переменная 

   ulong             m_magic;                // expert magic number

напрямую недоступна.

 
Alexey Viktorov #:
Сюда можно вставить любой магик.

Привет, Алексей! Ты правильно подметил, что можно вставить. Открытым остался только один вопрос - автор вопроса вставил его или нет? )

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

 
Alexey Belyakov #:
Я хочу именно через библиотеку
Нужно понимать суть процесса. Если программер не понимает сути того, ЧТО он делает, то он гарантированно столкнётся с непредсказуемыми результатами. Если вникните в суть, то Вам же будет в разы проще далее. Я дал Вам код исходя именно из этих соображений.
 

Приветствую. Заметил что появились API ключи. 

А есть ли какая-то документация по их использованию? Пока вот это 
https://www.mql5.com/ru/book/common
единственное что нашел, но тут никакой конкретики.