1 GAZR-6.21 GZM1
2 GAZR-9.21 GZU1
3 SBRF-6.21 SRM1
4 SBRF-9.21 SRU1
5 Si-6.21 SiM1
6 Si-9.21 SiU1
С фьючем РТС работать и отрабатывать технологии сложнее, если и нужен будет, то оч нескоро.
У меня заготовлено несколько новых индикаторов для этой ТС. Конечно я на что-то рассчитывал при их проектировании, но все это умозрительно, и о реальных свойствах индикаторов я, ровным счетом, ничего не знаю. Для начала хотелось бы выяснить их возможности.
Для этого на множестве 1м истории (~66000 свечей) генерируем ~6600 равномерно распределенных по интервалу истории случайных сделок продолжительностью 5 минут ( потом будет и 10 и 15 минут), пока только Лонг (потом и Шорт будет, рассматривается отдельно) и находим прибыль в каждой из этих сделок.
Выглядеть это будет вот так:
Далее, эти сделки будут накладываться на индикатор, и будем смотреть как меняется распределение удачных и неудачных сделок относительно значений индикатора — это все называется: метод Монте-Карло. Но об этом в следующий раз.
Ну, и просили код. Вот он, полностью рабочий:
import matplotlib.pyplot as plt
import sqlite3 as sql
import MyPack.Filters as flt
import MyPack.StDevm as stdm
import numpy.random as rnd
sdata =[]
sql1= "select ticker, date, open, high, low, close, vol \
from Hist_1m where ticker_id=1 order by Date;"
con=sql.connect('C:/Users/ubase/Documents/StockDB/StockDB21.sqlite')
cur=con.cursor()
cur.execute(sql1)
sdata=cur.fetchall()
con.commit()
con.close()
L = len(sdata)
N = 6628
Ld = 5
# Генерация случайных чисел
rng = rnd.default_rng()
rm=rng.integers(0, L, N )
class Candle:
tr =0
dt = 1
o = 2
h = 3
l = 4
c = 5
v = 6
cl = Candle
# формируем сделки.
def DealsGenL(rm,ld):
#Lm = len(rm)
Pr =[]
for i in range(0,N):
if rm[i] + ld >= L:
continue
pr = sdata[rm[i]+ld][cl.c] - sdata[rm[i]][cl.c]
Pr.append(pr)
return Pr
Pr = DealsGenL(rm,Ld)
plt.plot(Pr)Комментов к коду не будет. Заодно и в Python разберетесь.
ЗЫ Ну, вот и распределение наших случайных сделок по прибыли нарисовалось.

Все как и ожидалось, вполне симметричное распределение. Но, об этом уже в другой раз.
Однако во вселенной лимитных ордеров рандомным образом работающий в плюс индикатор подобрать нельзя. И угадать сложно.
С уважением