Библиотека Trade.mqh, открытие buy

 

Добрый день. 

Имею странную проблему.

Открываю в эксперте покупку:

CTrade          sTrader;
CSymbolInfo     sSymbol;
input double _maxSpred = 3; // Макс. спред, п (0 - с рынка, > 0 - фикс.)

spred =  (_maxSpred <=0)?sSymbol.Spread()*_Point:_maxSpred*_Point*multipl;

success  =  sTrader.Buy (_orderLot, _Symbol, sSymbol.Bid() + spred,  SLPrice, TPPrice, comment);

Т.е. во входных параметрах эксперта явно задаю фиксированный спред = 3, и передаю его в метод Buy как добавку к биду (при расчете цены входа в покупку).

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

Вопрос: как так? В чем может быть дело?

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для...
 
satorifx:

Добрый день. 

Имею странную проблему.

Открываю в эксперте покупку:

Т.е. во входных параметрах эксперта явно задаю фиксированный спред = 3, и передаю его в метод Buy как добавку к биду (при расчете цены входа в покупку).

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

Вопрос: как так? В чем может быть дело?

Позиция BUY должна открываться по цене 'Ask'.

А если нужен постоянный спред, то в тестере внесите изменения в свойства символа:

  

 
Vladimir Karputov #:

Позиция BUY должна открываться по цене 'Ask'.

А если нужен постоянный спред, то в тестере внесите изменения в свойства символа:

 

Спасибо за идею.

В то же время должен отметить: странно, но это не дает никакого эффекта.

Есть еще идеи?

 
satorifx #:

Спасибо за идею.

В то же время должен отметить: странно, но это не дает никакого эффекта.

Есть еще идеи?

Открыть демо там,  где есть счета с фиксированным спредом и тестить сову на их котировках.

 
Aleksandr Slavskii #:

Открыть демо там,  где есть счета с фиксированным спредом и тестить сову на их котировках.

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

Ну проблема то где-то есть... и дело же не в типе счета....

 
satorifx #:

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

Ну проблема то где-то есть... и дело же не в типе счета....

замените 

sSymbol.Bid() + spred

 на 

sSymbol.Ask()
 
Roman Shiredchenko #:

замените 

 на 

В том то и дело, что так не пойдет.

Задача в том, чтобы фиксированный спред, заданный мной в настройках, применялся к цене входа, а если я заменю на sSymbol.Ask(), он никак не будет учитываться

 
satorifx #:

В том то и дело, что так не пойдет.

Задача в том, чтобы фиксированный спред, заданный мной в настройках, применялся к цене входа, а если я заменю на sSymbol.Ask(), он никак не будет учитываться

BUY открывается по цене ASK, SELL открывается по цене BID - это закон. Чтобы Вы туда не записывали, терминал откроет так, как прописано в законе.