• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Не работает ExitLongLimit и AvgFillPrice... где ошибка?

SKS_trade

New Member
NinjaTrader
Коллеги, добрый день!

Прошу подсказать где ошибка.
Есть кусок кода, в котором открывается позиция лонг, а далее ставится лимитный ордер на выход. При выполнении функции ExitLongLimit соответствующий объект iOrder остается в значении null. Также при вызове свойства AvgFillPrice присвоенного ранее объекта iOrder всегда получается 0.


public class SKS001v1 : Strategy
{
#region Variables
// Wizard generated variables
private double sL = 100; // Default setting for SL
private int contracts = 2; // Default setting for Contracts
private IOrder entryOrder = null; //рыночный ордер
private IOrder entryOrdersL = null; //ордер стоп-лос

// User defined variables (add any user defined variables below)
double oppos_price = 0; // цена открытия позиции
double stlos_price = 0; // цена стоп-лоса
#endregion

/// <summary>
/// This method is used to configure the strategy and is called once before any strategy method is called.
/// </summary>
protected override void Initialize()
{
Add(SMA(N));
SetProfitTarget("", CalculationMode.Ticks, TP);
SetStopLoss("", CalculationMode.Ticks, SL, false);

CalculateOnBarClose = false;
}

/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
entryOrder = EnterLong(contracts); //значение entryOrder присваивается
oppos_price = entryOrder.AvgFillPrice; // но AvgFillPrice дает почему-то всегда 0 ???
stlos_price = oppos_price - sL;
entryOrdersL = ExitLongLimit(contracts,stlos_price); // значение entryOrdersL остается null ???
}
}
 
Назад
Верх Низ