
Вопрос программистам Wealth-lab
#1
Отправлено 20 февраля 2010 - 15:11
#2
Отправлено 15 февраля 2010 - 09:53
Во-первых почитай повнимательнее особенности реализации функций LastPosition... там имеются нюансы по исполнению. Во-вторых: функции типа BuyAtClose слабо применимы на низколиквидных стоках. Если не хочешь неприятных сюрпризов, то используй приказы типа BuyAtMarket или по стоп-цене. А вообще без всего кода сложно сказать что-то по причине.мое условие выплняется раньше чем система совершает покупку.
Запускаю отладчик:
LastPositionActive false
вхожу в цыкл,
выполняется условие if not LastPositionActive then,
затем мое условие не выполняется, т.е. функция BuyAtClose(Bar, 'Buy') не выполняется
следующая строка - начало: for Bar := 18 to BarCount - 1 do
LastPositionActive меняется на true Почему?
и потом соответственно начинает выполнятся код на продажу (не совершив покупки)
если запускать без отладчика, то система производит покупки и продажи, но не в тех местах (например: покупка позже, причем на много)
Сообщение отредактировал reanimator: 15 февраля 2010 - 09:55
#3
Отправлено 12 февраля 2010 - 23:22
Запускаю отладчик:
LastPositionActive false
вхожу в цыкл,
выполняется условие if not LastPositionActive then,
затем мое условие не выполняется, т.е. функция BuyAtClose(Bar, 'Buy') не выполняется
следующая строка - начало: for Bar := 18 to BarCount - 1 do
LastPositionActive меняется на true Почему?
и потом соответственно начинает выполнятся код на продажу (не совершив покупки)
если запускать без отладчика, то система производит покупки и продажи, но не в тех местах (например: покупка позже, причем на много)
|