background

Tradematic Support Center

Guides, articles, videos and links for Tradematic users and developers.

Отправка SMS о состоянии рынка и портфеля в нужное время или через интервал времени в часах

55695КОДА 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", "Мало свободных средств!");
}
}
This website uses cookies. By continuing to use this website, you consent to our Privacy Policy. OK