Добрый день!
Подскажите пожалуйста, как записать в переменную значение • ActionType, используя функцию – GetLastSignalInfo()?
Я хочу по названию последнего сигнала (например "StopLoss") и его проверки на истину или ложь останавливать работу робота.
			
									
						Общие вопросы по разработке > Функция: GetLastSignalInfo()
Re: Функция: GetLastSignalInfo()
Pluton писал(а):Добрый день!
Подскажите пожалуйста, как записать в переменную значение • ActionType, используя функцию – GetLastSignalInfo()?
Я хочу по названию последнего сигнала (например "StopLoss") и его проверки на истину или ложь останавливать работу робота.
Вот такой кусок есть в коде робота по линиям:
Код: Выделить всё
   if(CurrentPosition() != 0)
    {
        if(GetActiveOrders(true).Exists(ao => ao.IsStop))
        {
            StopLeaveStops();
            return;
        }
    }- evge
 - Администратор
 - Сообщения: 1817
 - Зарегистрирован: 04 фев 2016, 09:46
 - Откуда: Млечный путь, планета Земля
 - Благодарил (а): 83 раза
 - Поблагодарили: 375 раз
 - Контактная информация:
 
Re: Функция: GetLastSignalInfo()
Код: Выделить всё
var LS = GetLastSignalInfo();   
if (LS != null && LS.ActionType == TA.Script.AvailableActions.StopLoss) 
{
//... последним сигналом был StopLoss
}никогда такого не было и вот опять
						- evge
 - Администратор
 - Сообщения: 1817
 - Зарегистрирован: 04 фев 2016, 09:46
 - Откуда: Млечный путь, планета Земля
 - Благодарил (а): 83 раза
 - Поблагодарили: 375 раз
 - Контактная информация:
 
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.  Протестирую работу кода на живых деньгах 
)
К сожалению приходиться выделять бюджет на тестирование алгоритма в реальных боевых условиях.
			
									
						К сожалению приходиться выделять бюджет на тестирование алгоритма в реальных боевых условиях.
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 25 гостей