У вас не стоит Flash Player
Настройки
#25858 - Fri Apr 15 2011 12:22 PM В экземпляре объекта не задана ссылка...
Yuri Offline
stranger

Registered: Tue Mar 29 2011
Записи: 5
Уважаемые посетители форума,

Ужасно замучила ошибка (В экземпляре объекта не задана ссылка на объект). Что эта ошибка означает, отчего появляется, и как от нее избавиться? Кто сталкивался пожалуйста помогите, все дело встало.

Опытным путем выяснил, что ошибка возникает после вызова метода LongPos.Profit(); Компилятор ошибок не видит и ни на что не ругается. Ругается TSLab, когда реализует внешний скрипт.

Если нет возможности помочь с ошибкой, то скиньте кто-нибудь пример работы с методом Profit (по закрытой позиции).
К сообщению прилагаю скрипт, который вызывает ошибку. Это модифицироованный мной скрипт одного из примеров на форуме.

С уважением,


Attachments
NRTR.cs (59 downloads)


Наверх
#25860 - Fri Apr 15 2011 12:32 PM Re: В экземпляре объекта не задана ссылка... [Re: Yuri]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Компилятор не причем - это логическая ошибка.

if (LongPos == null && ShortPos == null)
{
longi = source.Positions.LastLongPositionClosed.Profit();
shorti = source.Positions.LastShortPositionClosed.Profit();
}


Очень странный код, проверяется, что переменные равны null и вызывается функция Profit() для source.Positions.LastLongPositionClosed. Хотя значение LastLongPositionClosed на null не проверяется. А оно им может быть, более того - будет обязательно, т.к. в начале работы позиций нет вообще.

Наверх
#25866 - Fri Apr 15 2011 12:37 PM Re: В экземпляре объекта не задана ссылка... [Re: Nektodron]
Yuri Offline
stranger

Registered: Tue Mar 29 2011
Записи: 5
Ну, наверное, если позиции нет и не было, то profit ноль должен возвращать. Или нет? Думаешь вся загвоздка в том, что позиции не было, а я запрашиваю результат по ней?

Наверх
#25868 - Fri Apr 15 2011 12:43 PM Re: В экземпляре объекта не задана ссылка... [Re: Nektodron]
Yuri Offline
stranger

Registered: Tue Mar 29 2011
Записи: 5
Что ошибка-то означает? И как правильно с Profit() работать?

Наверх
#25872 - Fri Apr 15 2011 12:49 PM Re: В экземпляре объекта не задана ссылка... [Re: Nektodron]
Yuri Offline
stranger

Registered: Tue Mar 29 2011
Записи: 5
Спасибо! Исправил!

Наверх
#25873 - Fri Apr 15 2011 12:49 PM Re: В экземпляре объекта не задана ссылка... [Re: Yuri]
pasha Offline

old hand

Registered: Tue Dec 23 2008
Записи: 1085
Дело не в Profit
нужно LastLongPositionClosed на нуль проверять, например так

if (LongPos == null && ShortPos == null && source.Positions.LastLongPositionClosed != null)
{
longi = source.Positions.LastLongPositionClosed.Profit();
shorti = source.Positions.LastShortPositionClosed.Profit();
}


Отредактировано pasha (Fri Apr 15 2011 12:49 PM)

Наверх


Moderator:  ViL, sar