«Открытие Брокер» запускает MetaTrader 5 на фондовом рынке - страница 5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sergey Gritsay
7529
Sergey Gritsay  
stite:

Попробовал этот метод. Теперь код выглядит так:

Правильно?

В любом случае, ошибка осталась:



Не знаю конечно почему в тестере не выдает ошибку но отложенные ордера нельзя ставить по текущей цене как минимум отступ от нее должен быть хотябы в один пункт. А некоторые брокеры не разрешают ставить даже лимитники внутрь спреда. Попробуйте открывать селллимит по цене Аска. Еще не понятно как у вас вычисляются переменные sl и tp. Также еще некоторые брокеры не позволяют отправлять запросы на открытие  со стоплосом и тейкпрофитом одновременно, нужно сначала выставить без стопов, потом модифицировать стопы 
Vladimir Karputov
Модератор
180699
Vladimir Karputov  
Sergey Gritsay:

Не знаю конечно почему в тестере не выдает ошибку но отложенные ордера нельзя ставить по текущей цене как минимум отступ от нее должен быть хотябы в один пункт. А некоторые брокеры не разрешают ставить даже лимитники внутрь спреда. Попробуйте открывать селллимит по цене Аска. Еще не понятно как у вас вычисляются переменные sl и tp. Также еще некоторые брокеры не позволяют отправлять запросы на открытие  со стоплосом и тейкпрофитом одновременно, нужно сначала выставить без стопов, потом модифицировать стопы 


Вы находитесь в разделе "Биржа". Здесь всё написанное Вами (Ваш форексный опыт) не действует :). 


Добавлено: возможно Вы сильно удивитесь, но на БИРЖЕ, я могу поставить отложенный ордер Buy Limit по цене ВЫШЕ текущей. Пример:

2017.04.13 21:31:23.160 Scripts script Test_ru (Si-6.17,M1) loaded successfully
2017.04.13 21:31:31.998 Trades  '3218537': buy limit 1.00 Si-6.17 at 57128
2017.04.13 21:31:32.062 Trades  '3218537': accepted buy limit 1.00 Si-6.17 at 57128
2017.04.13 21:31:32.062 Trades  '3218537': order #144282305 buy limit 1.00 / 1.00 Si-6.17 at market done in 64.320 ms
2017.04.13 21:31:32.062 Scripts script Test_ru (Si-6.17,M1) removed
2017.04.13 21:31:33.791 Trades  '3218537': deal #127849472 buy 1.00 Si-6.17 at 57040 done (based on order #144282305)

Я выставил Buy Limit по цене 57128 (при этом текущая цена была гораздо НИЖЕ, в районе 57030-57050). После выставления Buy Limit по цене 57128, этот отложенный ордер превратился сразу в рыночный по текущей цене 57040.

Sergey Gritsay
7529
Sergey Gritsay  
Vladimir Karputov:


Вы находитесь в разделе "Биржа". Здесь всё написанное Вами (Ваш форексный опыт) не действует :). 


Добавлено: возможно Вы сильно удивитесь, но на БИРЖЕ, я могу поставить отложенный ордер Buy Limit по цене ВЫШЕ текущей. Пример:

Я выставил Buy Limit по цене 57128 (при этом текущая цена была гораздо НИЖЕ, в районе 57030-57050). После выставления Buy Limit по цене 57128, этот отложенный ордер превратился сразу в рыночный по текущей цене 57040.


Значит остаеться тоько одно stite: не правильно рассчитывает цены для стопов
stite
12
stite  

Спасибо всем за сообщения.

sl и tp рассчитываются так:

double sl=bid+bid*3/100;
double tp=bid-bid*2/100;

В логах можно увидеть, что sl и tp получаются правильными.

Я добавил им нормализацию:

sl=sym.NormalizePrice(sl);
tp=sym.NormalizePrice(tp);

И действительно картина изменилась. Ошибка 10016(invalid stops) исчезла.Так что за Пушкина спасибо.

Но теперь вместо неё появляется другая ошибка. А именно 10017 (trade disabled) при каждой попытке открыть ордер по SellLimit.

Вчера я подумал, что рынок уже закрылся и это как-то с этим связано, но сегодня показывает ровно также. Попробую с этим разобраться. Буду рад вашим мыслям по этому поводу.

Vladimir Karputov
Модератор
180699
Vladimir Karputov  
stite:

Спасибо всем за сообщения.

sl и tp рассчитываются так:

В логах можно увидеть, что sl и tp получаются правильными.

Я добавил им нормализацию:

И действительно картина изменилась. Ошибка 10016(invalid stops) исчезла.Так что за Пушкина спасибо.

Но теперь вместо неё появляется другая ошибка. А именно 10017 (trade disabled) при каждой попытке открыть ордер по SellLimit.

Вчера я подумал, что рынок уже закрылся и это как-то с этим связано, но сегодня показывает ровно также. Попробую с этим разобраться. Буду рад вашим мыслям по этому поводу.


Кнопочка "Автоторговля" случайно не выключена?

Автоторговля

или в разрешении эксперта не стоит галка "Разрешить автоматическую торговлю":

Разрешить автоматическую торговлю

stite
12
stite  
Vladimir Karputov:


Кнопочка "Автоторговля" случайно не выключена?

или в разрешении эксперта не стоит галка "Разрешить автоматическую торговлю":


Я понял в чем дело. Ошибка 10017 происходит потому, что у символа YNDX можно торговать только длинными позициями. У символов где пишется "Полный доступ" всё работает нормально.
Vladimir Karputov
Модератор
180699
Vladimir Karputov  
stite:
Я понял в чем дело. Ошибка 10017 происходит потому, что у символа YNDX можно торговать только длинными позициями. У символов где пишется "Полный доступ" всё работает нормально.

YNDX - это акции ведь? Не фьючерсы? У всех акций такое ограничение - можно только покупать (при открытии позиции)?
stite
12
stite  
Vladimir Karputov:

YNDX - это акции ведь? Не фьючерсы? У всех акций такое ограничение - можно только покупать (при открытии позиции)?
Я не знаю, если честно). Только начинаю разбираться. По всей видимости да, причина именно в этом. Буду теперь смотреть какой доступ для торговли у символа. Может даже скрипт напишу, который это проверяет.
Vladimir Karputov
Модератор
180699
Vladimir Karputov  
stite:
Я не знаю, если честно). Только начинаю разбираться. По всей видимости да, причина именно в этом. Буду теперь смотреть какой доступ для торговли у символа. Может даже скрипт напишу, который это проверяет.


Странно (насчёт ограничения странно). Запустите этот скрипт:

//+------------------------------------------------------------------+
//|                                       ENUM_SYMBOL_TRADE_MODE.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.000"
//---
#include <Trade\SymbolInfo.mqh>  
CSymbolInfo    m_symbol;                     // symbol info object
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   m_symbol.Name(Symbol());
   if(!m_symbol.Refresh())
      return;
   Print(m_symbol.TradeModeDescription());

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

И вот спецификация инструмента "YNDX":

YNDX

Как видите - режим торговли "Полный доступ".

Файлы:
kaus_bonus
105
kaus_bonus  
Vladimir Karputov:


Странно (насчёт ограничения странно). Запустите этот скрипт:

И вот спецификация инструмента "YNDX":

Как видите - режим торговли "Полный доступ".


вы смотрели на демо МК, там без ограничений.

но вы забываете,что акцию в отличии от фьючерса нельзя просто sell, она должна быть в начале куплена. потому если у брокера нет собственного депозитария, откуда он может вам одолжить акцию для short sell,то у него будут только в лонг акции.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий