
Tradematic Support Center
Guides, articles, videos and links for Tradematic users and developers.
Отправка SMS о состоянии рынка и портфеля в нужное время или через интервал времени в часах
61530КОДА SMS ОПОВЕЩЕНИЕ ПОРТФЕЛЬ РЫНОК BROKERADAPTER ACCOUNTS ENTRYPRICE ACCOUNTVALUE VARIATIONMARGIN AVAILABLECASH DATETIME СМС СЧЕТ БАЛАНС СВОБОДНЫЕ СРЕДСТВА ВАРИАЦИОННАЯ МАРЖАПример такого кода реализован ниже:
// SMS оповещения о состоянии рынка и портфеля в 10:10, в 23:40 и через интервалы времени
// интервал в часах: если 1 - через час, если 2 - через 2 часа, если 3 - через 3 часа итд
using System;
using TradeMatic;
public void SMSAlert(int bar, int interval_sms)
{
string str = "";
int remainder; Math.DivRem(Date[bar].Hour,interval_sms,out remainder);
if (Date[bar].Hour==10 && DateTime.Now.Minute==0
OR Date[bar].Hour==23 && DateTime.Now.Minute==30
OR remainder==0 && DateTime.Now.Minute==0)
{
Account Acc = BrokerAdapter.Accounts[2]; // счет на ФОРТС
if (MarketPosition == 1)
str = string.Format("Цена {0}, Лонг {1}, Баланс {2}, Маржа {3}, Свободно {4}, ",
Close[bar], LastPosition.EntryPrice, Acc.AccountValue, Acc.VariationMargin, Acc.AvailableCash);
else if (MarketPosition == -1)
str = string.Format("Цена {0}, Шорт {1}, Баланс {2}, Маржа {3}, Свободно {4}, ",
Close[bar], LastPosition.EntryPrice, Acc.AccountValue, Acc.VariationMargin, Acc.AvailableCash);
else if (MarketPosition == 0)
str = string.Format("Цена {0}, Деньги, Баланс {1}, Маржа {2}, Свободно {3}, ",
Close[bar], Acc.AccountValue, Acc.VariationMargin, Acc.AvailableCash);
SendSMS("7916XXXXXXX", "api_id", str+DateTime.Now); // реальная отправка SMS
// Проверка свободных средств в портфеле
if (Acc.AvailableCash < 0) SendSMS("7916XXXXXXX", "api_id", "Мало свободных средств!");
}
}

