TerminalClose
Посылает терминалу команду на завершение работы.
bool TerminalClose(
int ret_code
); |
Параметры
ret_code
[in] Код возврата, возвращаемый процессом клиентского терминала при завершении работы.
Возвращаемое значение
Примечание
Пример:
//--- input parameters
input int tiks_before=500; // количество тиков до завершения
input int pips_to_go=15; // расстояние в пипсах
input int seconds_st=50; // сколько секунд даем эксперту
//--- globals
datetime launch_time;
int tick_counter=0;
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
Print(__FUNCTION__," reason code = ",reason);
Comment("");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
static double first_bid=0.0;
MqlTick tick;
double distance;
//---
SymbolInfoTick(_Symbol,tick);
tick_counter++;
if(first_bid==0.0)
{
launch_time=tick.time;
first_bid=tick.bid;
Print("first_bid =",first_bid);
return;
}
//--- ход цены в пунктах
distance=(tick.bid-first_bid)/_Point;
//--- выведем сообщение, чтобы отслеживать работу советника
string comm="С момента запуска:\r\n\x25CF прошло секунд: "+
IntegerToString(tick.time-launch_time)+" ;"+
"\r\n\x25CF поступило тиков: "+(string)tick_counter+" ;"+
"\r\n\x25CF цена прошла в пунктах: "+StringFormat("%G",distance);
Comment(comm);
//--- секция проверки условий для закрытия терминала
if(tick_counter>=tiks_before)
TerminalClose(0); // выход по счетчику тиков
if(distance>pips_to_go)
TerminalClose(1); // прошли вверх на pips_to_go пипсов
if(distance<-pips_to_go)
TerminalClose(-1); // прошли вниз на pips_to_go пипсов
if(tick.time-launch_time>seconds_st)
TerminalClose(100); // завершение работы по таймауту
//---
} |
Смотри также
Выполнение программ, Ошибки выполнения, Причины деинициализации
|