Добрый день!
Подскажите пожалуйста, как записать в переменную значение • ActionType, используя функцию – GetLastSignalInfo()?
Я хочу по названию последнего сигнала (например "StopLoss") и его проверки на истину или ложь останавливать работу робота.
Общие вопросы по разработке > Функция: GetLastSignalInfo()
Re: Функция: GetLastSignalInfo()
Pluton писал(а):Добрый день!
Подскажите пожалуйста, как записать в переменную значение • ActionType, используя функцию – GetLastSignalInfo()?
Я хочу по названию последнего сигнала (например "StopLoss") и его проверки на истину или ложь останавливать работу робота.
Вот такой кусок есть в коде робота по линиям:
Код: Выделить всё
if(CurrentPosition() != 0)
{
if(GetActiveOrders(true).Exists(ao => ao.IsStop))
{
StopLeaveStops();
return;
}
}
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 365 раз
- Контактная информация:
Re: Функция: GetLastSignalInfo()
Код: Выделить всё
var LS = GetLastSignalInfo();
if (LS != null && LS.ActionType == TA.Script.AvailableActions.StopLoss)
{
//... последним сигналом был StopLoss
}
никогда такого не было и вот опять
- evge
- Администратор
- Сообщения: 1807
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 365 раз
- Контактная информация:
Re: Функция: GetLastSignalInfo()
Если надо проверять (а думаю надо) что заявка по сигналу была полностью исполнена, то в условие добавляем LS.IsStatusFilled
• SignalID – номер сигнала
• OrderType – тип заявки (купить/продать). (enumOrderType.Buy, enumOrderType.Sell)
• ActionType – название действия (команды)
• ActionSuperType – название сигнала
• OperationSize - объём
• OperationExecuted – исполненный объём
• OperationRest – объём оставшийся для исполнения
• PriceOfSignal – цена сигнала
• PriceOfOrder – цена заявки
• PriceOfTrade – цена исполнения
• PriceAdditional – второй ценовой уровень (если предусмотрен. Напр. В заявке типа BRS)
• DateTime – время сигнала
• CurrentPosition – позиция по роботу после обработки сигнала
• IsStatusFilled – исполнена ли заявка по сигналу
• IsStatusTerminal – в конечном ли статусе заяка по сигналу (исполнена, отменена, отклонена)
Код: Выделить всё
var LS = GetLastSignalInfo();
if (LS != null && LS.ActionType == TA.Script.AvailableActions.StopLoss && LS.IsStatusFilled)
{
//... последним сигналом был исполненный StopLoss
}
• SignalID – номер сигнала
• OrderType – тип заявки (купить/продать). (enumOrderType.Buy, enumOrderType.Sell)
• ActionType – название действия (команды)
• ActionSuperType – название сигнала
• OperationSize - объём
• OperationExecuted – исполненный объём
• OperationRest – объём оставшийся для исполнения
• PriceOfSignal – цена сигнала
• PriceOfOrder – цена заявки
• PriceOfTrade – цена исполнения
• PriceAdditional – второй ценовой уровень (если предусмотрен. Напр. В заявке типа BRS)
• DateTime – время сигнала
• CurrentPosition – позиция по роботу после обработки сигнала
• IsStatusFilled – исполнена ли заявка по сигналу
• IsStatusTerminal – в конечном ли статусе заяка по сигналу (исполнена, отменена, отклонена)
никогда такого не было и вот опять
Re: Функция: GetLastSignalInfo()
Спасибо за скорый ответ - Maks и развернутый ответ - evge. Протестирую работу кода на живых деньгах
)
К сожалению приходиться выделять бюджет на тестирование алгоритма в реальных боевых условиях.
![Улыбается :)](./images/smilies/icon_e_smile.gif)
К сожалению приходиться выделять бюджет на тестирование алгоритма в реальных боевых условиях.
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 33 гостя