Господа, нужна методическая помощь. Я честно пытался читать хелп по языку, однако поскольку не программист, возможно какие-то нюансы ускользнули. Ниже приведён код программы, однако есть несколько моментов: 1. Значение C_SMA не выводится (хочется получить значение скользящей средней) 2. Значение Last_Price считается очень долго. 3. В таблице вычисленных значений нет ничего. Запускал в режиме отладки. Тоже мало понятно. Если не сложно - объясните пожалуйста, в чем проблемы. Я конечно, подозреваю, что основные - в коде генетическом а не программном, но... ))) Поскольку сам трейдер, но не программист, хотелось бы не только "слизать" готовый код, но и понять, почему именно так. Возможно, неправильно понял работу с коллекциями, однако следовал, вроде как, букве инструкции... Код программы приведён ниже. Заранее спасибо за помощь. PORTFOLIO_EX 2_Mov_Avg; DESCRIPTION Скользящие средние; CLIENTS_LIST ALL_CLIENTS; FIRMS_LIST all_firms; PROGRAM DELETE_ALL_ITEMS() CODE_1="EQBR" CODE_2="LKOH" ' ПОЛУЧАЕМ ЗНАЧЕНИЕ ПО ЧИСТЫМ ПОЗИЦИЯМ TP FOR I FROM 0 TO GET_NUMBER_OF("FIRM_HOLDING") IF GET_VALUE (GET_ITEM ("FIRM_HOLDING", I), "SECCODE")=CODE_2 Total_Position=GET_VALUE(GET_ITEM("FIRM_HOLDING",I), "TOTAL_NET")+0 END IF END FOR ' ПЫТАЮСЬ ПОЛУЧИТЬ ДАТУ В ЦИФРОВОМ ФОРМАТЕ YYYYMMDD CURRENT_YEAR=GET_VALUE(GET_DATETIME(), "YEAR")*10000 CURRENT_MONTH=GET_VALUE(GET_DATETIME(), "MONTH")*100 CURRENT_DAY=GET_VALUE(GET_DATETIME(), "DAY")+0 CURRENT_DATE=CURRENT_YEAR+CURRENT_MONTH+CURRENT_DAY ' ПЫТАЮСЬ ПОЛУЧИТЬ ВРЕМЯ В ЦИФРОВОМ ФОРМАТЕ HHMMSS CURRENT_HOUR=GET_VALUE(GET_DATETIME(), "HOUR")*10000 CURRENT_MIN=GET_VALUE(GET_DATETIME(), "MIN")*100 CURRENT_SEC=GET_VALUE(GET_DATETIME(), "SEC")+0 CURRENT_TIME=CURRENT_HOUR+CURRENT_MIN+CURRENT_SEC ' ПРОБУЕМ ДОСТАТЬ ЗНАЧЕНИЕ СКОЛЬЗЯЩЕЙ СРЕДНЕЙ A_SMA = Get_Candle_Ex ("ShortSMA", CURRENT_DATE, CURRENT_TIME) 'Получаю ассоциативный массив с данными для графика со строковым идентификатором ShortSMA B_SMA=GET_VALUE(A_SMA, "LINES") ' Из ассоциативного массива A_SMA вытаскиваю только коллекцию LINES C_SMA=GET_COLLECTION_ITEM(B_SMA, 3) ' Из коллекции B_SMA вытаскиваю только цену закрытия 'ПОЛУЧАЮ ТЕКУЩЕЕ ЗНАЧЕНИЕ ЦЕНЫ АКЦИИ Last_Price=GET_PARAM (CODE_1, CODE_2, "LAST") END_PROGRAM PARAMETER Total_Position; PARAMETER_TITLE Позиция; PARAMETER_DESCRIPTION Общая позиция по интструменту; PARAMETER_TYPE NUMERIC(10,0); END PARAMETER CURRENT_DATE; PARAMETER_TITLE Дата; PARAMETER_DESCRIPTION Текущая дата; PARAMETER_TYPE NUMERIC(10,0); END PARAMETER CURRENT_TIME; PARAMETER_TITLE Время; PARAMETER_DESCRIPTION Текущее время; PARAMETER_TYPE NUMERIC(10,0); END PARAMETER C_SMA; PARAMETER_TITLE Значение скользящей; PARAMETER_DESCRIPTION Значение скользящей; PARAMETER_TYPE NUMERIC(10,2); END PARAMETER Last_Price; PARAMETER_TITLE Last_Price; PARAMETER_DESCRIPTION Last_Price; PARAMETER_TYPE NUMERIC(10,2); END END_PORTFOLIO_EX