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

 
Alexey Viktorov:

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

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

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


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

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

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

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

 
Artyom Kuraev:

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

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

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

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

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

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

 
Alexey Viktorov:

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

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

Да, суммируются. Но это же не значит, что невозможно получить информацию о нужном ордере и реализовать верный учет и закрытие нужного ордера в заданный момент?
 
Artyom Kuraev:

... - ответ: "идите нафиг, раз не знаете, что вам нужно". 


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

Даю 99% что Вам лень читать (В MetaTrader 5 добавлена хеджинговая система учета позиций), поэтому просто попробуйте переписать своё задание с учётом того, что:

ДействиеРезультат  НеттингРезультат Хедж
1.Buy EURUSD 0.01Одна позиция Buy EURUSD 0.01 лотОдна позиция Buy EURUSD 0.01 лот
2.Buy EURUSD 0.01Одна позиция Buy EURUSD 0.02 лотДве позиции:
позиция Buy EURUSD 0.01 лот

позиция Buy EURUSD 0.01 лот

3. Sell EURUSD 0.01Одна позиция Buy EURUSD 0.01 лотТри позиции:

позиция Buy EURUSD 0.01 лот

позиция Buy EURUSD 0.01 лот

позиция Sell EURUSD 0.01 лот

 
Vladimir Karputov:


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

Даю 99% что Вам лень читать (В MetaTrader 5 добавлена хеджинговая система учета позиций), поэтому просто попробуйте переписать своё задание с учётом того, что:

ДействиеРезультат  НеттингРезультат Хедж
1.Buy EURUSD 0.01Одна позиция Buy EURUSD 0.01 лотОдна позиция Buy EURUSD 0.01 лот
2.Buy EURUSD 0.01Одна позиция Buy EURUSD 0.02 лотДве позиции:
позиция Buy EURUSD 0.01 лот

позиция Buy EURUSD 0.01 лот

3. Sell EURUSD 0.01Одна позиция Buy EURUSD 0.01 лотТри позиции:

позиция Buy EURUSD 0.01 лот

позиция Buy EURUSD 0.01 лот

позиция Sell EURUSD 0.01 лот

логически я это понимаю, но неужели вся информация при неттинге об открытых/закрытых сделках удаляется отовсюду, что ее невозможно ни откуда получить и закрыть только ту часть суммарной позиции, которая принадлежит данному советнику? Кроме того, я понимаю, что он схлопывает несколько позиций в одну, но тогда что происходит с ценой открытия в момент добавления позиции?
 
Artyom Kuraev:
логически я это понимаю, но неужели вся информация при неттинге об открытых/закрытых сделках удаляется отовсюду, что ее невозможно ни откуда получить и закрыть только ту часть суммарной позиции, которая принадлежит данному советнику? ...


Из торговой истории можно конечно получить сделки и анализировать их. Здесь вопрос - а нужно ли?

Artyom Kuraev:
... Кроме того, я понимаю, что он схлопывает несколько позиций в одну, но тогда что происходит с ценой открытия в момент добавления позиции?

В неттинге получается итоговая средняя цена, которая зависит от того какая цена и какой объём был у позиции и каким объёмом Вы добавляете. Лучше всего в таком случае Вам вручную поторговать на неттинге. Или лучше так: если Вы привыкли работать с ордерной системой в старом терминале, тогда в заданиях для MetaTrader 5 чётко указывайте, что нужен робот ДЛЯ хеджинговой системы.

 

Помогите с подгрузкой истории, пожалуйста.

Есть массив символов открытых графиков, их может быть до 30шт. Проблема в том, что при синхронном переключении таймфреймов нет истории, и пока она грузиться, "падает" индикатор

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

  ArraySetAsSeries(_open,true);
  for(int i=0; i<ArraySize(mass_id); i++) {
   MassSY=ChartSymbol(mass_id[i]);
    for(int e=0; e<5; e++) {
      if(CopyOpen(MassSY,Period(),0,(int)ChartGetInteger(0,CHART_WIDTH_IN_BARS,0)+1,_open)>=ChartGetInteger(0,CHART_WIDTH_IN_BARS,0)) continue;
    }
  }

Для большей ясности, прилагаю видео


Спасибо!

 
Vitaly Muzichenko:

Помогите с подгрузкой истории, пожалуйста.

Есть массив символов открытых графиков, их может быть до 30шт. Проблема в том, что при синхронном переключении таймфреймов нет истории, и пока она грузиться, "падает" индикатор

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

Для большей ясности, прилагаю видео


Спасибо!


Виталий посмотри тут https://www.mql5.com/ru/docs/series/timeseries_access#synchronized, там есть пример скрипта для подгрузки истории, может поможет 
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Sergey Gritsay:

Виталий посмотри тут https://www.mql5.com/ru/docs/series/timeseries_access#synchronized, там есть пример скрипта для подгрузки истории, может поможет 
Я мучился с этим скриптом... Нихрена не помогает. Хотя может я что-то не так сделал, или были тараканы в билде, после моих мучений было много претензий (не моих) к этому билду.
 
Vitaly Muzichenko:

Помогите с подгрузкой истории, пожалуйста.

Есть массив символов открытых графиков, их может быть до 30шт. Проблема в том, что при синхронном переключении таймфреймов нет истории, и пока она грузиться, "падает" индикатор

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

Для большей ясности, прилагаю видео


Спасибо!

Попробуйте через минутный таймер циклом поддерживать синхронизацию всех нужных символов/таймфреймов (Bars( symbol, timeframe );)
Причина обращения: