Freddie Mac
Гость
|
Данный скрипт не совсем для Ами и даже вовсе не для Ами, а для Quika. Но так как многие работают в Ами с квиком, скрипт может пригодиться. Выводит в таблицу Квика больщие покупки и продажи свыше или равные 10 млн. (можно настроить на какую угодно сумму и бумагу) по полям - наименование, время, поза, кол-во, объем.
Для работы данной таблицы, необходимо ее создать в квике под каким угодно именем и одновременно запустить там же таблицу всех сделок и выбрать в ней самую неактивную бумагу (для снижения трафика). Потом можно ее свернуть (таблицу всех сделок).
Total_val = 0
Total_lotsize = 0
Total_price = 0
Outputline = 1
Total_vol = 0
cur_date = GET_DATETIME()
cur_year = get_value(cur_date, "YEAR")
cur_month = get_value(cur_date, "MONTH")
cur_day = get_value(cur_date, "DAY")
SecCode1 = "GAZP"
ClassCode1 = "EQNE"
SecCode2 = "LKOH"
ClassCode2 = "EQBR"
SecCode3 = "ROSN"
ClassCode3 = "EQNL"
SecCode4 = "SBER03"
ClassCode4 = "EQBR"
SecCode5 = "VTBR"
ClassCode5 = "EQNL"
SecCode6 = "GMKN"
ClassCode6 = "EQNL"
SecCode7 = "SNGS"
ClassCode7 = "EQNE"
Num1 = "10" 'Ãàçïðîì
Num2 = "10" 'Ëóêîéë
Num3 = "10" 'Ðîñíåôòü
Num4 = "10" 'Ñáåðáàíê
Num5 = "10" 'ÂÒÁ
Num6 = "10" 'ÃÌÊÍîðíèê
Num7 = "10" 'Ñóðãóòíåôòåãàç
FUNC Format_QUIK_Time(t)
if len(t) == 5
result = "0" & substr("" & t, 0, 1) & ":" & substr("" & t, 1, 2) & ":" & substr("" & t, 3, 2)
else
result = substr("" & t, 0, 2) & ":" & substr("" & t, 2, 2) & ":" & substr("" & t, 4, 2)
end if
END FUNC
' if Outputline = 1
' 'Total_vol = Total_vol + Value
' output = CREATE_MAP()
' output = SET_VALUE(output, "Security", "ÈÒÎÃÎ")
' output = SET_VALUE(output, "Time", "" & cur_day & "." & cur_month & "." & cur_year)
' 'output = SET_VALUE(output, "Value", Value)
' ADD_ITEM(Outputline, output)
' Outputline = Outputline - 1
' else
' Outputline = 0
' end if
mTrade = create_map()
NEW_GLOBAL("last_trade", 0)
NEW_GLOBAL("last_mTrade", 0)
n = GET_NUMBER_OF("ALL_TRADES")
for i from last_Trade to n
mTrade = GET_ITEM("ALL_TRADES", i)
mTrade = SET_VALUE(mTrade, "time", Format_QUIK_Time(get_value(mTrade, "time")))
numString = SUBSTR(TRIM(GET_VALUE(mTrade, "VALUE")), 1, 10)
TrimNumString = TRIM(LEN(numString))
if (GET_VALUE(mTrade, "SecCode") = SecCode1 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode1 _
AND TrimNumString = Num1) _
OR (GET_VALUE(mTrade, "SecCode") = SecCode2 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode2 _
AND TrimNumString = Num2) _
OR (GET_VALUE(mTrade, "SecCode") = SecCode3 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode3 _
AND TrimNumString = Num3) _
OR (GET_VALUE(mTrade, "SecCode") = SecCode4 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode4 _
AND TrimNumString = Num4) _
OR (GET_VALUE(mTrade, "SecCode") = SecCode5 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode5 _
AND TrimNumString = Num5) _
OR (GET_VALUE(mTrade, "SecCode") = SecCode6 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode6 _
AND TrimNumString = Num6) _
OR (GET_VALUE(mTrade, "SecCode") = SecCode7 _
AND GET_VALUE(mTrade, "ClassCode") = ClassCode7 _
AND TrimNumString = Num7)
ADD_ITEM(i, mTrade)
last_mTrade = last_mTrade + 1
if GET_VALUE(mTrade, "OPERATION") = "BUY"
SET_ROW_COLOR_EX (last_mTrade, "RGB(175,255,200)", "RGB(0,128,0)","DEFAULT_COLOR", "RGB(255,255,255)" )
else
SET_ROW_COLOR_EX (last_mTrade, "RGB(255,175,200)", "RGB(128,0,0)","DEFAULT_COLOR", "RGB(255,255,255)" )
end if
end if
end for
last_Trade = n + 1 |
|
|