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

 
Vladimir Karputov:
 m_trade.SetExpertMagicNumber(InpMagic);

Да, так и делал, оказывается я допустил логическую ошибку изза чего метод не вызывался. Спасибо за ответ.


Ещё один вопрос: как внутри метода класса (в файле .mqh)  вызвать другой метод этого же класса? 

Конструкция не работает:

void CTradeMT45::CloseAll(int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder(ulong ticket){

}
 
Ildar Yusupov:

Да, так и делал, оказывается я допустил логическую ошибку изза чего метод не вызывался. Спасибо за ответ.


Ещё один вопрос: как внутри метода класса (в файле .mqh)  вызвать другой метод этого же класса? 

Конструкция не работает:

Совет такой: забудьте напрочь слово "ордер" (разрешается применять только "отложенный ордер") и у Вас сразу вся логика станет на место.

 
Vladimir Karputov:

Совет такой: забудьте напрочь слово "ордер" (разрешается применять только "отложенный ордер") и у Вас сразу вся логика станет на место.

Вместо Ордера правильней в мт5 использовать слово Приказ. Хотя это близкие по сути слова.

 
Valeriy Yastremskiy:

Вместо Ордера правильней в мт5 использовать слово Приказ. Хотя это близкие по сути слова.

А ещё в MetaTrader 5 есть маркет-ордер. Нельзя вот просто так взять, и отказаться по "религиозным" причинам от того, что является неотъемлемой частью ордерной системы торговой платформы.

Есть в МТ5 ордера. И они отображаются в истории. И даже несут информацию, которой знающий человек будет пользоваться во благо себе.

Просто нужно лучше знать как всё устроено, а не принимать в штыки название того, что именно так и называется - ордер. Это торговый приказ. Он является родоначальником остальной цепочки метаморфоз, приводящих к позиции. А отложенный ордер - это уже иная сущность. Его тоже можно причислить к ордерам - "ордер по условию" так сказать...

При исполнении ордера появляется маркет-ордер, и уже он трансформируется в сделку, порождающую позицию, либо её изменение. Если мне не изменяет память - давно не просматривал всю историю с цепочками событий от приказа до закрытия позиции. Но когда разбирался с этим досконально, то, если мне сейчас не изменяет память, то всё именно так и происходит: ордер -- маркет-ордер -- сделка -- открытие/изменение/закрытие позиции.

И, да - это не близкие по сути слова, а перевод с английского на русский. Ордер == Приказ

 
Artyom Trishkin:

А ещё в MetaTrader 5 есть маркет-ордер. Нельзя вот просто так взять, и отказаться по "религиозным" причинам от того, что является неотъемлемой частью ордерной системы торговой платформы.

Есть в МТ5 ордера. И они отображаются в истории. И даже несут информацию, которой знающий человек будет пользоваться во благо себе.

Просто нужно лучше знать как всё устроено, а не принимать в штыки название того, что именно так и называется - ордер. Это торговый приказ. Он является родоначальником остальной цепочки метаморфоз, приводящих к позиции. А отложенный ордер - это уже иная сущность. Его тоже можно причислить к ордерам - "ордер по условию" так сказать...

При исполнении ордера появляется маркет-ордер, и уже он трансформируется в сделку, порождающую позицию, либо её изменение. Если мне не изменяет память - давно не просматривал всю историю с цепочками событий от приказа до закрытия позиции. Но когда разбирался с этим досконально, то, если мне сейчас не изменяет память, то всё именно так и происходит: ордер -- маркет-ордер -- сделка -- открытие/изменение/закрытие позиции.

И, да - это не близкие по сути слова, а перевод с английского на русский. Ордер == Приказ

Видимо косноязычен. Не призываю ни в коем разе к замене понятий. Всего лишь для правильного понимания заменять слова. И при объяснении использовать замену. А пользоваться существующими понятиями.

В качестве перевода в трейдинге используется. А в русском ордер это приказ к исполнению в производстве. Ордер на отпуск продукции обычно.

 
Valeriy Yastremskiy:

Видимо косноязычен. Не призываю ни в коем разе к замене понятий. Всего лишь для правильного понимания заменять слова. И при объяснении использовать замену. А пользоваться существующими понятиями.

В качестве перевода в трейдинге используется. А в русском ордер это приказ к исполнению в производстве. Ордер на отпуск продукции обычно.

Приказ на исполнение в производстве, называется наряд. В некоторых местах называли наряд-заказ, наряд-задание…

На отпуск продукции всегда была только накладная. А ордер обычно выписывали на арест… или обыск… Вам какой выписать)))))))))

Правда не всё так страшно… Ещё выписывали ордер на получение жилплощади. У меня было два таких…

 

Не могу понять, что за ерунду выдает индикатор. Я хочу проверить, на каких ближайших 10 свечах есть пики зиг зага, на этих же свечах хочу выделить только хай, а также только лоу. Знаю, что в 0 буфере все локальные пики, в 1 - хаи, во 2 - лои. 

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

input int ExtDepth = 40;
input int ExtDeviation = 5;
input int ExtBackstep = 3;

double zz = 0;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ArraySetAsSeries(zi_0,  true);
   ArraySetAsSeries(zi_1,  true);
   ArraySetAsSeries(zi_2,  true);
   zz = iCustom(_Symbol,PERIOD_CURRENT,"Examples\\ZigZag",ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer(zz,0,0,10,zi_0);
   CopyBuffer(zz,1,0,10,zi_1);
   CopyBuffer(zz,2,0,10,zi_2);
   
  
  for(int i = 0; i < 10; i++)
     {
       Print(i,"  ",zi_0[i]);
     }
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

   
  }
//+------------------------------------------------------------------+


 
Nikita Chernyshov:

Не могу понять, что за ерунду выдает индикатор. Я хочу проверить, на каких ближайших 10 свечах есть пики зиг зага, на этих же свечах хочу выделить только хай, а также только лоу. Знаю, что в 0 буфере все локальные пики, в 1 - хаи, во 2 - лои. 

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


В "0"-м баффере пики =значения пиков, либо "0".  "0"  - это те бары которые не пики.

 

Добрый день.

Вопрос такого плана. При работе в тестере советник выгружает нужную мне информацию по позициям в файл. Файл сохраняется в папку 
"<Папка_терминала>\Tester\<имя_агента_тестирования>\MQL5\Files\........".

Позже тот же файл с данными хочу использовать просто на графике (НЕ в тестере). Терминал позволяет работать с файлами из папки 

"<Папка_терминала>\MQL5\Files\....."

Есть ли возможность кодом MQL5 перебрасывать файлы, выгруженные советником по пути " <Папка_терминала>\Tester\<имя_агента_тестирования>\MQL5\Files\ ", в папку "<Папка_терминала>\MQL5\Files\"?   Или эти области строго разделены между тестером и обычной работой?

Сколько не бьюсь, не могу ни из тестера сразу записать в  "<Папка_терминала>\MQL5\Files\", ни перекинуть туда методом FileMove.

 
satorifx:

Добрый день.

Вопрос такого плана. При работе в тестере советник выгружает нужную мне информацию по позициям в файл. Файл сохраняется в папку 
"<Папка_терминала>\Tester\<имя_агента_тестирования>\MQL5\Files\........".

Позже тот же файл с данными хочу использовать просто на графике (НЕ в тестере). Терминал позволяет работать с файлами из папки 

"<Папка_терминала>\MQL5\Files\....."

Есть ли возможность кодом MQL5 перебрасывать файлы, выгруженные советником по пути " <Папка_терминала>\Tester\<имя_агента_тестирования>\MQL5\Files\ ", в папку "<Папка_терминала>\MQL5\Files\"?   Или эти области строго разделены между тестером и обычной работой?

Сколько не бьюсь, не могу ни из тестера сразу записать в  "<Папка_терминала>\MQL5\Files\", ни перекинуть туда методом FileMove.

Пишите в Общую папку для всех терминалов (флаг FILE_COMMON)
Причина обращения: