Страница 1 из 1

Функция: GetLastSignalInfo()

Добавлено: 12 окт 2020, 00:12
Pluton
Добрый день!
Подскажите пожалуйста, как записать в переменную значение • ActionType, используя функцию – GetLastSignalInfo()?
Я хочу по названию последнего сигнала (например "StopLoss") и его проверки на истину или ложь останавливать работу робота.

Re: Функция: GetLastSignalInfo()

Добавлено: 12 окт 2020, 12:33
Maks
Pluton писал(а):Добрый день!
Подскажите пожалуйста, как записать в переменную значение • ActionType, используя функцию – GetLastSignalInfo()?
Я хочу по названию последнего сигнала (например "StopLoss") и его проверки на истину или ложь останавливать работу робота.


Вот такой кусок есть в коде робота по линиям:

Код: Выделить всё

   if(CurrentPosition() != 0)
    {
        if(GetActiveOrders(true).Exists(ao => ao.IsStop))
        {
            StopLeaveStops();
            return;
        }
    }

Re: Функция: GetLastSignalInfo()

Добавлено: 12 окт 2020, 12:36
evge

Код: Выделить всё

var LS = GetLastSignalInfo();   
if (LS != null && LS.ActionType == TA.Script.AvailableActions.StopLoss)
{
//... последним сигналом был StopLoss
}

Re: Функция: GetLastSignalInfo()

Добавлено: 12 окт 2020, 14:28
evge
Если надо проверять (а думаю надо) что заявка по сигналу была полностью исполнена, то в условие добавляем LS.IsStatusFilled

Код: Выделить всё

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()

Добавлено: 12 окт 2020, 18:00
Pluton
Спасибо за скорый ответ - Maks и развернутый ответ - evge. Протестирую работу кода на живых деньгах :))
К сожалению приходиться выделять бюджет на тестирование алгоритма в реальных боевых условиях.