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

[Удален]  
Vitaly Muzichenko:

Вопрос, на который не нашёл однозначного ответа:

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

Или можно как-то по одному разу каждый, а то таким способом и строк в файле не хватит.

Спасибо!

Представьте, Вам нужно открыть 8 дверей, у каждой - свой ключ. Сколько ключей Вам нужно, чтобы открыть все двери?
 
Alexey Kozitsyn:
Представьте, Вам нужно открыть 8 дверей, у каждой - свой ключ. Сколько ключей Вам нужно, чтобы открыть все двери?

Одна отмычка, и не более. 

Я могу здесь это использовать, может есть возможность и Я о ней не знаю? Остановилась работа из-за неопределённости(

[Удален]  
Vitaly Muzichenko:

Одна отмычка, и не более. 

Я могу здесь это использовать, может есть возможность и Я о ней не знаю? 

Нет, здесь только ключами.
 
Alexey Kozitsyn:
Нет, здесь только ключами.
Спасибо, теперь буду делать уверенно, и не думать о том, что можно сделать правильно.
 
     Здравствуйте! 2017.05.05_02:58 GMT+3. Кто подскажет как получить в программном коде советника значения четырёх последних точек ZigZag'а и их индексы или время начала баров в MQL5 ? Я долго бился над этим, но пока ничего не получилось. Если применять оператор цикла while или for, разницы нет, то тестер стратегий в одном из журналов выдаёт ошибку: выход за пределы массива во включаемом файле. Вот включаемый файл. Массив значений ZigZag я получаю при помощи функции CopyBuffer() и хэндла ZigZag. Там, видимо, записаны только точки ZigZag и последовательно перебирать индексы в порядке возрастания не получается. Получается выход за пределы массива. Может господин Карпутов знает как получить последние несколько точек ZigZag и не получить выход за пределы массива?
     Я даже пытался менять код индикатора ZigZag, но что-то не получилось переписать его так, чтобы в индикаторные буферы записывались и нулевые значения. Так, чтобы при обработке циклом не получалось выхода за пределы массива. Полностью понять что написано в коде ZigZag и как он работает пока не получилось. Мне это надоело, поэтому пишу на форум.
     Считаю ручную торговлю прошлым веком. Хотя бы потому, что времени для торговли мало, да и толком не высыпаться и открывать сделки во время еды тоже желание пропало. Считаю, что написать советник мне вполне по силам. И сдаваться и отступать назад пока не собираюсь. Пока всё. Жду ответа. 03:28 GMT+3. Вставил в 03:56 GMT+3.   
Файлы:
TDiff.mqh  2 kb
 
Николай Никитюк:
     Здравствуйте! 2017.05.05_02:58 GMT+3. Кто подскажет как получить в программном коде советника значения четырёх последних точек ZigZag'а и их индексы или время начала баров в MQL5 ? Я долго бился над этим, но пока ничего не получилось. Если применять оператор цикла while или for, разницы нет, то тестер стратегий в одном из журналов выдаёт ошибку: выход за пределы массива во включаемом файле. Вот включаемый файл. Массив значений ZigZag я получаю при помощи функции CopyBuffer() и хэндла ZigZag. Там, видимо, записаны только точки ZigZag и последовательно перебирать индексы в порядке возрастания не получается. Получается выход за пределы массива.

Нет. Там записаны все точки включая пустые.

Николай Никитюк:
     Я даже пытался менять код индикатора ZigZag, но что-то не получилось переписать его так, чтобы в индикаторные буферы записывались и нулевые значения. Так, чтобы при обработке циклом не получалось выхода за пределы массива. Полностью понять что написано в коде ZigZag и как он работает пока не получилось. Мне это надоело, поэтому пишу на форум.
     Считаю ручную торговлю прошлым веком. Хотя бы потому, что времени для торговли мало, да и толком не высыпаться и открывать сделки во время еды тоже желание пропало. Считаю, что написать советник мне вполне по силам. И сдаваться и отступать назад пока не собираюсь. Пока всё. Жду ответа. 03:28 GMT+3. Вставил в 03:56 GMT+3.  

Чтобы избавиться от выхода за границы массива, надо разобраться с направлениями массивов.

Чтобы получить индексы или время баров надо вместе с копированием буфера индикатора копировать время баров CopyTime() или CopuRates() где кроме времени есть и OHLC баров.

Поскольку цикла не избежать, я-бы применил вторую форму функции

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

Дальше условие: если скопировалось значение больше нуля, то это и есть точка ZigZag и сравнив это значение с High и Low этого бара будем понимать верхний или нижний экстремум.

 

Люди, помогите разобраться, что за хрень происходит в MQL5 с учетом ордеров.

Общаюсь с программистами и создается впечатление, что четкий учет ордеров по тому принципу, что был в MQL4, невозможен - нельзя задать ордеру магический номер, невозможно потом простым перебором OrdersTotal() выбрать нужные позиции на основе магика и определить, какой ордер открыт советником, а какой вручную и т.д., нельзя закрыть конкретный ордер по тикету, нельзя создать лесенку из ордеров в одном направлении, а потом закрывать самый ранний из них и т.д.

Неужели метаквоты такую хрень могли сделать? Как без этого можно работать?

 
Artyom Kuraev:

Люди, помогите разобраться, что за хрень происходит в MQL5 с учетом ордеров.

Общаюсь с программистами и создается впечатление, что четкий учет ордеров по тому принципу, что был в MQL4, невозможен - нельзя задать ордеру магический номер, невозможно потом простым перебором OrdersTotal() выбрать нужные позиции на основе магика и определить, какой ордер открыт советником, а какой вручную и т.д., нельзя закрыть конкретный ордер по тикету, нельзя создать лесенку из ордеров в одном направлении, а потом закрывать самый ранний из них и т.д.

Неужели метаквоты такую хрень могли сделать? Как без этого можно работать?

Откуда вы находите таких программистов???

ВСЁ перечисленное абсолютная чушь. Куда послать такого программиста, надеюсь сами понимаете.

Ну, на всякий случай, чтобы не промахнулся, вот указатель


 
Alexey Viktorov:

Откуда вы находите таких программистов???

ВСЁ перечисленное абсолютная чушь. Куда послать такого программиста, надеюсь сами понимаете.

Ну, на всякий случай, чтобы не промахнулся, вот указатель


Несколько человек - и все начинают узнавать - хэджевый или неттинговый у меня счет. Говорю, нужен универсальный советник - мне в ответ:

"В задании идет выставления нескольких ордеров на одном символе. На одних счетах они будут суммироваться, на других нет. все сольется в одну позицию и дальше неизвестен исход (если советники не рассчитаны на это разумеется).  Если закрывать или открывать кусками, то профит будет совсем не тот что по отдельности были бы"

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

Сунулся к другим прогерам - опять те же вопросы: хедж, неттинг. Говорю "Универсальный" - ответ: "идите нафиг, раз не знаете, что вам нужно".

 
Artyom Kuraev:

Несколько человек - и все начинают узнавать - хэджевый или неттинговый у меня счет. Говорю, нужен универсальный советник - мне в ответ:

"В задании идет выставления нескольких ордеров на одном символе. На одних счетах они будут суммироваться, на других нет. все сольется в одну позицию и дальше неизвестен исход (если советники не рассчитаны на это разумеется).  Если закрывать или открывать кусками, то профит будет совсем не тот что по отдельности были бы"

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

Сунулся к другим прогерам - опять те же вопросы: хедж, неттинг. Говорю "Универсальный" - ответ: "идите нафиг, раз не знаете, что вам нужно".

Наверное не совсем правильно было сказано. Действительно на неттинговых счетах открытые позиции суммируются. Но если интересует только такой учёт позиций как в МТ4 то обязательным условием является hadge счёт.

Всё остальное, магик, перебор позиций и ордеров, определение советником открыт или руками\другим советником, всё решается на раз.