простые сигналы, низкочастотная торговля, только IB
Нужно встроить использование бесплатного или дешевого источника end-of-day market data
пишите в личку
PORTFOLIO_EX LUK; DESCRIPTION Объёмы купли/продажи за интервал; CLIENTS_LIST ALL_CLIENTS; FIRMS_LIST FIRMID; PROGRAM 'Автор: Михаил Булычев 'Что делает: ' подсчитывается объёмы купли\продажи по определённому инструменту за ' заданный интервал 'Как использовать: ' В следующих строках следует указать код бумаги и код класса для ' отслеживаемого инструмента '=============================НАСТРОЙКИ=============================== SecCode="LKOH" ' Код инструмента ClassCode="TQBR" 'Код класса interv=3600 'является интервалом в секундах razn = 0 'смещение часового пояса относительно времени торговой системы. '=============================НАСТРОЙКИ=============================== FUNC is_in_interval(interval, trade_time, sys_time, hour_shift) csys_time_value=0 c_time_value=0 csys_time_value =0 + (0 + get_value(sys_time, "Hour") + hour_shift)*3600 + _ get_value(sys_time, "Min")*60 + _ get_value(sys_time, "Sec") c_time_value=0 + ((0 + substr("" & trade_time, 0, 2)) * 3600) + ((0 + substr("" & trade_time, 2, 2)) * 60) + ((0 + substr("" & trade_time, 4, 2))) csys_time_value = csys_time_value + 0 c_time_value = c_time_value + 0 k=csys_time_value - c_time_value if k <= interval result=1 else result=0 end if END FUNC buy_value=0 sell_value=0 total_value=0 sys_time = GET_DATETIME() delete_all_items() mString=create_map() j=0 n=get_number_of("ALL_TRADES") for i from 0 to n mTrade=get_item("ALL_TRADES", n-i) trade_time=get_value(mTrade, "TIME") if (get_value(mTrade, "SECCODE")= SecCode) AND (get_value(mTrade, "CLASSCODE")= ClassCode) if is_in_interval(interv, trade_time, sys_time, 0-razn) = 1 value=0+get_value(mTrade, "VALUE") j=j+1 if (get_value(mTrade, "OPERATION") = "BUY") buy_value=buy_value+value else sell_value=sell_value+value end if total_value=total_value+value else break end if end if end for mString=set_value(mString, "vol", total_value) mString=set_value(mString, "volbuy", buy_value) mString=set_value(mString, "volsell", sell_value) add_item(1, mString) END_PROGRAM PARAMETER vol; PARAMETER_TITLE vol; PARAMETER_DESCRIPTION Купили; PARAMETER_TYPE NUMERIC(10,0); END PARAMETER volbuy; PARAMETER_TITLE volbuy; PARAMETER_DESCRIPTION Купили; PARAMETER_TYPE NUMERIC(10,0); END PARAMETER volsell; PARAMETER_TITLE volsell; PARAMETER_DESCRIPTION Продали; PARAMETER_TYPE NUMERIC(10,0); END END_PORTFOLIO_EX