PORTFOLIO_EX Volatile;
DESCRIPTION Параметры волатильности рынка;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST Volatile;
PROGRAM
NEW_GLOBAL("Stop_Time",174458)
NEW_GLOBAL("Time_Trade",0)
NEW_GLOBAL("NameStock","")
NEW_GLOBAL("Class",CREATE_COLLECTION())
NEW_GLOBAL("Code",CREATE_COLLECTION())
NEW_GLOBAL("Start_Flag",1)
IF (Start_Flag == 0)
IF (IS_CONNECTED() == 1)
MESSAGE ("Подключение установлено...", 1)
Start_Flag = 1
END IF
ELSE
IF (Start_Flag == 2)
FOR i FROM 0 TO GET_COLLECTION_COUNT(Class)-1
Time_Trade = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "time")
StockInfo = GET_SECURITY_INFO(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i))
NameStock = GET_VALUE (StockInfo, "NAME")
Open = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "open")+0
Max = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "high")+0
Min = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "low")+0
Close = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "closeprice")+0
Price = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "last")+0
LastClose = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "prevprice")+0
Price_Open = (Price/Open*100)-100
Max_Price = (Max/Price*100)-100
Price_Min = (Price/Min*100)-100
Max_Open = (Max/Open*100)-100
Max_Close = (Max/Close*100)-100
Max_Min = (Max/Min*100)-100
Open_LastClose = (Open/LastClose*100)-100
string = ""
string = set_value(string, "NameStock", NameStock)
string = set_value(string, "Open", Open)
string = set_value(string, "Max", Max)
string = set_value(string, "Min", Min)
string = set_value(string, "Close", Close)
string = set_value(string, "Max_Open", Max_Open)
string = set_value(string, "Max_Close", Max_Close)
string = set_value(string, "Max_Min", Max_Min)
string = set_value(string, "Price_Open", Price_Open)
string = set_value(string, "Max_Price", Max_Price)
string = set_value(string, "Price_Min", Price_Min)
string = set_value(string, "LastClose", LastClose)
string = set_value(string, "Open_LastClose", Open_LastClose)
IF Time_Trade > 0
string = set_value(string, "Time_Trade", SUBSTR(Time_Trade,0,2)&":"&SUBSTR(Time_Trade,2,2)&":"&SUBSTR(Time_Trade,4,2))
ELSE
string = set_value(string, "Time_Trade", 0)
END IF
MODIFY_Item(i+1,string)
END FOR
IF (IS_CONNECTED() == 0)
MESSAGE ("Quik не подключен к серверу...", 1)
Start_Flag = 0
END IF
ELSE
IF (Start_Flag == 1)
delete_all_items()
Class = CREATE_COLLECTION()
Code = CREATE_COLLECTION()
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNL")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNE")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQBR")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQBR")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNL")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNE")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNE")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNL")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQBR")
Class = INSERT_COLLECTION_ITEM(Class,0,"EQNE")
Code = INSERT_COLLECTION_ITEM(Code,0,"TRNFP")
Code = INSERT_COLLECTION_ITEM(Code,0,"NOTK")
Code = INSERT_COLLECTION_ITEM(Code,0,"RU14TATN3014")
Code = INSERT_COLLECTION_ITEM(Code,0,"RU14TATN3006")
Code = INSERT_COLLECTION_ITEM(Code,0,"SIBN")
Code = INSERT_COLLECTION_ITEM(Code,0,"SNGSP")
Code = INSERT_COLLECTION_ITEM(Code,0,"SNGS")
Code = INSERT_COLLECTION_ITEM(Code,0,"ROSN")
Code = INSERT_COLLECTION_ITEM(Code,0,"LKOH")
Code = INSERT_COLLECTION_ITEM(Code,0,"GAZP")
FOR i FROM 0 TO GET_COLLECTION_COUNT(Class)-1
Time_Trade = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "time")
StockInfo = GET_SECURITY_INFO(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i))
NameStock = GET_VALUE (StockInfo, "NAME")
Open = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "open")+0
Max = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "high")+0
Min = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "low")+0
Close = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "closeprice")+0
Price = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "last")+0
LastClose = GET_PARAM(GET_COLLECTION_ITEM(Class,i), GET_COLLECTION_ITEM(Code,i), "prevprice")+0
Price_Open = (Price/Open*100)-100
Max_Price = (Max/Price*100)-100
Price_Min = (Price/Min*100)-100
Max_Open = (Max/Open*100)-100
Max_Close = (Max/Close*100)-100
Max_Min = (Max/Min*100)-100
Open_LastClose = (Open/LastClose*100)-100
string = ""
string = set_value(string, "NameStock", NameStock)
string = set_value(string, "Open", Open)
string = set_value(string, "Max", Max)
string = set_value(string, "Min", Min)
string = set_value(string, "Close", Close)
string = set_value(string, "Max_Open", Max_Open)
string = set_value(string, "Max_Close", Max_Close)
string = set_value(string, "Max_Min", Max_Min)
string = set_value(string, "Price_Open", Price_Open)
string = set_value(string, "Max_Price", Max_Price)
string = set_value(string, "Price_Min", Price_Min)
string = set_value(string, "LastClose", LastClose)
string = set_value(string, "Open_LastClose", Open_LastClose)
IF Time_Trade > 0
string = set_value(string, "Time_Trade", SUBSTR(Time_Trade,0,2)&":"&SUBSTR(Time_Trade,2,2)&":"&SUBSTR(Time_Trade,4,2))
ELSE
string = set_value(string, "Time_Trade", 0)
END IF
Add_item(i+1,string)
END FOR
IF (IS_CONNECTED() == 0)
MESSAGE ("Quik не подключен к серверу...", 1)
Start_Flag = 0
ELSE
Start_Flag = 2
END IF
ELSE
IF (IS_CONNECTED() == 0)
MESSAGE ("Quik не подключен к серверу...", 1)
Start_Flag = 0
END IF
END IF
END IF
END IF
FUNC FTime()
TIME = GET_INFO_PARAM("SERVERTIME")
IF TIME+0 > 0
Result = (SUBSTR(TIME,0,2)&SUBSTR(TIME,3,2)&SUBSTR(TIME,6,2))+0
ELSE
Result = 0
END IF
END FUNC
END_PROGRAM
PARAMETER NameStock;
PARAMETER_TITLE Инструмент;
PARAMETER_DESCRIPTION Инструмент;
PARAMETER_TYPE STRING(40);
END
PARAMETER Open;
PARAMETER_TITLE Open;
PARAMETER_DESCRIPTION Цена открытия рынка;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Max;
PARAMETER_TITLE Max;
PARAMETER_DESCRIPTION Максимальная цена внутри торгов;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Min;
PARAMETER_TITLE Min;
PARAMETER_DESCRIPTION Минимальная цена внутри торгов;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Close;
PARAMETER_TITLE Close;
PARAMETER_DESCRIPTION Цена закрытия рынка;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Price_Open;
PARAMETER_TITLE Price/Open %;
PARAMETER_DESCRIPTION Отношение цены к цене открытия;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Max_Price;
PARAMETER_TITLE Max/Price %;
PARAMETER_DESCRIPTION Отношение максимальной цены к цене;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Price_Min;
PARAMETER_TITLE Price/Min %;
PARAMETER_DESCRIPTION Отношение цены к минимальной цене;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Max_Open;
PARAMETER_TITLE Max/Open %;
PARAMETER_DESCRIPTION Отношение максимальной цены к цене открытия;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Max_Close;
PARAMETER_TITLE Max/Close %;
PARAMETER_DESCRIPTION Отношение максимальной цены к цене закрытия;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Max_Min;
PARAMETER_TITLE Max/Min %;
PARAMETER_DESCRIPTION Отношение максимальной цены к минимальной цене;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER LastClose;
PARAMETER_TITLE LastClose;
PARAMETER_DESCRIPTION Цена прошлого закрытия;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Open_LastClose;
PARAMETER_TITLE Open/LastClose %;
PARAMETER_DESCRIPTION Отношение цены открытия к цене прошлого закрытия;
PARAMETER_TYPE NUMERIC(15,2);
END
PARAMETER Time_Trade;
PARAMETER_TITLE Время послед.;
PARAMETER_DESCRIPTION Время последнего изменения;
PARAMETER_TYPE STRING(10);
END
END_PORTFOLIO_EX