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

 
fxsaber:
#property strict

Помог.

в МТ5 без него работает нормально. Для чего разный подход?

Или это исторические хвосты?

 
Kirill Belousov:

это исторические хвосты?

Да.

 
fxsaber:

Да.

Понятно.

//---

Подскажите, 

AccountFreeMarginCheck(...)


Откуда берет значение - запрос брокеру или как-то рассчитывается локально (можно формулу).

Вопрос возник в связи с тем, что у брокера в условиях написано, что при открытии усреднения с лотом, превышающим на 50% и более предыдущую позицию того же направления (находящуюся в рынке), может быть применено плечо, отличное от плеча на счете и паре. Т.е. если я правильно понимаю, то фактически AccountLeverage() бесполезен для такого случая

 
Kirill Belousov:

Подскажите, 

AccountFreeMarginCheck(...)


Откуда берет значение - запрос брокеру или как-то рассчитывается локально (можно формулу).

Локально.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Советники: Quantum 103

fxsaber, 2017.09.26 09:55

double AccountFreeMarginCheck(const string Symb,const int Cmd,const double dVolume)
{
 double Margin;

 return(OrderCalcMargin((ENUM_ORDER_TYPE)Cmd, Symb, dVolume,
        SymbolInfoDouble(Symb, (Cmd == ORDER_TYPE_BUY) ? SYMBOL_ASK : SYMBOL_BID), Margin) ?
        AccountInfoDouble(ACCOUNT_MARGIN_FREE) - Margin : -1);
}

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2017.02.27 18:40

// Альтернатива OrderCalcMargin
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
{
  double MarginInit, MarginMain;

  const bool Res = SymbolInfoMarginRate(symbol, action, MarginInit, MarginMain);
  
  margin = Res ? MarginInit * price * volume * SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE) /
                 (SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE) * AccountInfoInteger(ACCOUNT_LEVERAGE)) : 0;
  
  return(Res);  
}
 
На тестере при попытке сделать sell по ASK сделка открывается и ошибок не выдает, на реале выдает как и надо.
 
Anton Ohmat:
На тестере при попытке сделать sell по ASK сделка открывается и ошибок не выдает, на реале выдает как и надо.
Может в тестере Spread в пределах Slippage? Или цена Ask в ценовом потоке появилась в пределах TimeOut на сделку?
 
fxsaber:
Локально.

Спасибо.

 

вот сегодняшний диалог с отделом дилинга:

Добрый день! Вопрос к программистам. Подскажите, в какой момент принимается решение о применении плеча 1:33 для будущей ситуации усреднения с лотом, превышающим на 50% и более предыдущую позицию? т.е. в какой момент решение является принятым и какой параметр изменит значение при таком решении (какой параметр может быть запрошен ) из торгового советника МТ4, чтобы знать, что к очередной сделки брокер собирается применить это правило? Спасибо

Здравствуйте. "Для предотвращения чрезмерных рисков Компании вследствие резкой просадки суммарной нетто позиции Клиента у провайдера ликвидности, Компания оставляет за собой право в ограничении торгового плеча на уровне в 1:33 для новых позиций Клиента, открываемых методом усреднения. Имеются в виду вновь открываемые позиции на том же торговом инструменте, в том же самом направлении, но увеличенным на 50% и более лотом, относительно предыдущей позиции. При этом, все позиции находятся в рынке одновременно" Данное решение принимается строго в индвидуальном порядке и начиная с пятой сделки, открытой в подобном ключе. В случае, если пятая сделка будет меньшего объема, чем предыдущие, тогда в данном случае данное правило не будет применяться. https://www.fortfs.com/ru/conditions/trading_conditions/account_types Fort Financial Services Ltd.

Чтобы узнать, что для очередной открытой позиции БЫЛО УМЕНЬШЕНО плечо ПОСЛЕ открытия - я могу проанализировать маржу. Как узнать, что для очередной сделки Компания СОБИРАЕТСЯ ВОСПОЛЬЗОВАТЬСЯ правом (тем, которое "Компания оставляет за собой ...") ДО ОТКРЫТИЯ ПОЗИЦИИ?

Здравствуйте. Плечо может быть уменьшено в случае, если 5 сделок подряд будут открыты с увеличенным лотом и в одну сторону на 1 контракте. Если это общее правило не будет соблюдено, то плечо не будет уменьшено. Но это общее правило, в частных случаях оно может быть изменено (например волатильность на рынке, или массовые движения по причине каких-либо заявлений ЦБ или глав стран) Заранее на 100% определить что плечо будет уменьшено невозможно, так как алгоритм расчета срабатывает уже после открытия критической позиции. Fort Financial Services Ltd.

"Заранее на 100% определить что плечо будет уменьшено невозможно, так как алгоритм расчета срабатывает уже после открытия критической позиции. Fort Financial Services Ltd."

Я не имею ввиду ЗАРАНЕЕ. Я говорю непосредственно перед сделкой (условно - за 1 миллисекунду) как мне определить, какой будет залог за открытие позиции? "алгоритм расчета срабатывает уже после открытия критической позиции" Критическая позиция это какая? - 5-я или 6-я, которую я собираюсь открыть?

За 1 мс перед сделкой - это и есть заранее и определить на 100% невозможно, к сожалению. Вы можете ориентироваться на общее правило, что для 5 сделки и всех последующих с повышающимся лотом уже будет действовать сниженное плечо Fort Financial Services Ltd


Есть ли у нас в арсенале механизм определения залоговых средств для конкретного ордера/позиции хотя бы после ее открытия?

МТ4 и МТ5

 

На сайте сигналов во вкладке Риски 

Вкладка риски на сайте в разделе сигналы

 

Просьба к разработчикам:

Сделайте, пожалуйста, возможность отображать ярлыки чартов в терминалах и открытых файлов в MetaEditor не только в одну, а и в несколько строк.

ОЧЕНЬ неудобно при работе с большим количеством графиков - туда сюда проматывать, а пересортировать - целая эпопея.