Ошибки, баги, вопросы - страница 390

 

Разработчикам!

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

Приходится все закрывать и запускать терминал по новой.

Win XP SP3, KIS 2011.

 
mql5:
Путь к папке с инклудами через /i:<path> задаёте?

 

Если в скрипте путь к инклуднику указан в кавычках, скрипт компилируется. Когда в треуголных скобках <> - никак. Перепробовал все варианты путей.

 

   string s;
   s=TerminalInfoString(TERMINAL_PATH)+"\\mql5.exe";
   s=s+" ";
   s=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Scripts\\sInstallerTestScript.mq5";
   s=s+" /i: ";
   string z;

   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Include\\InstallerTestInclude\\IncInstallerTest.mqh";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Include\\InstallerTestInclude";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Include";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH);   
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Include\\InstallerTestInclude\\IncInstallerTest.mqh";
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Include\\InstallerTestInclude";
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Include";
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5";
   z=s+TerminalInfoString(TERMINAL_PATH);   
   z=s+"\\MQL5\\Include\\InstallerTestInclude\\IncInstallerTest.mqh";
   z=s+"\\MQL5\\Include\\InstallerTestInclude";
   z=s+"\\MQL5\\Include";
   z=s+"\\MQL5";
   z=s+"\\";
   z=s+"MQL5\\Include\\InstallerTestInclude\\IncInstallerTest.mqh";
   z=s+"MQL5\\Include\\InstallerTestInclude";
   z=s+"MQL5\\Include";
   z=s+"MQL5";
   z=s+"";   
   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Include\\InstallerTestInclude";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Include";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5";
   z=s+TerminalInfoString(TERMINAL_DATA_PATH);
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Include\\InstallerTestInclude";
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Include";
   z=s+TerminalInfoString(TERMINAL_PATH)+"\\MQL5";
   z=s+TerminalInfoString(TERMINAL_PATH);
 
Interesting:

Есчли направление меняется то происходит закрытие существующей позиции Out и переоткрытие новой In.

Если я все правильно помню.


Неправильно помните. Посмотрите, хотя бы это;

POSITION_IDENTIFIER

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Переворот позиции не изменяет идентификатора позиции.

long

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
Valmars:

Неправильно помните. Посмотрите, хотя бы это;

POSITION_IDENTIFIER

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Переворот позиции не изменяет идентификатора позиции.

long

Дык, здесь речь идёт о неизменности идентификатора, а не самой позиции. Совет высказал выше.
 
Yedelkin:
Дык, здесь речь идёт о неизменности идентификатора, а не самой позиции. Совет высказал выше.
Ну, так неизменность идентификатора и означает, что позиция одна и та же. И все сделки и ордера, с помощью которых она формировалась, имеют тот же самый PositionIdentifer. Позиция существует с момента её открытия до полного её закрытия. Всё, что существует между этими моментами - это всё одна и та же позиция.
 
Valmars:

Неправильно помните. Посмотрите, хотя бы это;

POSITION_IDENTIFIER

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Переворот позиции не изменяет идентификатора позиции.

long

Понятно. Но при перевороте в любом случае комментарий должен измениться.
Yedelkin:Дык, здесь речь идёт о неизменности идентификатора, а не самой позиции. Совет высказал выше.
Valmars: Ну, так неизменность идентификатора и означает, что позиция одна и та же. И все сделки и ордера, с помощью которых она формировалась, имеют тот же самый PositionIdentifer. Позиция существует с момента её открытия до полного её закрытия. Всё, что существует между этими моментами - это всё одна и та же позиция.

Теоретически переворот можно рассматривать как закрытие существующей позиции + открытие новой (на разницу объемов).

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

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

 
Interesting:
Понятно. Но при перевороте в любом случае комментарий должен измениться.
Да, он изменяется, на пустую строку, т.е. удаляется прежний, а хотелось бы, чтобы он заменялся новым, из ордера.
 
Valmars:
Да, он изменяется, на пустую строку, т.е. удаляется прежний, а хотелось бы, чтобы он заменялся новым, из ордера.
Заявкой в срвисдеск (желательно не как пожелание, а как ошибка в терминале).
 
Valmars:
Ну, так неизменность идентификатора и означает, что позиция одна и та же.

Понятно. Не только новички предпочитают работе со справочными материалами теорию :)

Позиция
Позиция — это рыночное обязательство, количество купленных или проданных контрактов по финансовому
инструменту. 
Длинная позиция (Long) — купленный в расчете на повышение цены финансовый инструмент, 
короткая (Short) — обязательство на его поставку в расчете на снижение цены в будущем. 
На одном счете по каждому финансовому инструменту может существовать только одна позиция. 

Можно конечно, предположить, что длинная позиция, превратившись в короткую, осталась "одной и той же" длинной :) Или что-то в этом роде. Только такая терминология будет понятна далеко не всем :)

Неизменность идентификатора означает, что у трейдера после сделки остались рыночное обязательство, а вот что представляет из себя это обязательство (позицию Long или позицию Short) - вопрос второй.

 
Yedelkin:

Понятно. Не только новички предпочитают работе со справочными материалами теорию :)

Можно конечно, предположить, что длинная позиция, превратившись в короткую, осталась "одной и той же" длинной :) Или что-то в этом роде. Только такая терминология будет понятна далеко не всем :)

Неизменность идентификатора означает, что у трейдера после сделки остались рыночное обязательство, а вот что представляет из себя это обязательство (позицию Long или позицию Short) - вопрос второй.

В любом случае это заявка в сервисдеск. Поскольку недопустимо чтобы при перевороте комментарий не наследовался (тем более если он пустой).

Я бы лично как-то обозначил смену типа позиции buy/sell даже при отсутствии комментария в сделке осуществившей переворот (пишется же sl/tp в комментарии на сервере автоматом).