Tradematic Support Center
Guides, articles, videos and links for Tradematic users and developers.
Отправка SMS о состоянии рынка и портфеля в нужное время или через интервал времени в часах
55877КОДА 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", "Мало свободных средств!"); } }