Избранное трейдера darkcorp

по

Индикатор бомба, распределения для тейкпрофита

Автор блога предпочел скрыть этот пост. Чтобы читать такие посты, надо стать его другом. Отправьте заявку в друзья.

Необходимо авторизоваться.

Исследование часовика Сбера (Flat/Trend)

    • 12 января 2022, 00:37
    • |
    • GOLD
      Популярный автор
  • Еще
В свободное от работы время провожу НИОКР по поиску ключевых характеристик динамики цены за определенный период. Недавно образмерил часовик сбера (фьюч SBRF) по следующей методике:

В расчет берем средние цены свечей. График средних цен выглядит так:
Исследование часовика Сбера (Flat/Trend)

Вычисляем среднюю амплитуду (в рублях) между каждыми двумя точками на приведенном выше графике. Движения меньше средней амплитуды считаем флетом. Движения больше средней амплитуды считаем трендом. Вычисляем количество идущих подряд движений во флете и в тренде за период (1 год) и попутно измеряем амплитуды. Результаты сводим в таблицы по годам. 

Вот эти таблицы за последние 5 лет:

Исследование часовика Сбера (Flat/Trend)

( Читать дальше )

Стратегия "Хай-Лоу предыдущего дня".

         В 2019 году в TSLab сделал тесты стратегии «Hi_Lo», которая установлена в базовой версии этой программы. Смысл стратегии заключается в том. что вход в лонг осуществляется при пробитии хая предыдущей свечи, вход/переворот в шорт осуществляется при пробитии лоя предыдущей свечи. В TSLab мною был создан скрипт для тестирования одновременной торговли несколькими инструментами с целью диверсификации:

 Стратегия "Хай-Лоу предыдущего дня".
        В результате тестирования и опыта торговли остановился на следующем варианте: торгуются фьючерсы RTS, Si, BR в соотношении 1:6:4, дневной таймфрейм. Результаты тестов за период с 01.01.2003 г. по настоящее время без капитализации, без учета комиссии и проскальзывания представлены ниже:

 Стратегия "Хай-Лоу предыдущего дня".



( Читать дальше )
  • обсудить на форуме:
  • TSLab

Нефть. Хроника наших побед.

Доброго пятничного дня!
Я понимаю, для многих это звучит как злорадство, но ни кого не хочу ни обидеть, ни задеть. Думал даже в раздел юмора поместить, но на картинках ниже юмор выглядит очень черным.
Короче — с утра, если верить данным биржи, многих наших вынесло по стопам. Но ребята проснулись, собрали волю в кулак и с утроенной силой начали выкупать. Мужественные и сильные люди сдерживали падение нашего народного состояния. Хронику борьбы и драматизм битвы вы можете оценить сами. Уверен, что с такими бойцами нам ни чего не страшно. Надеюсь сегодня вечером уже увидим отчеты самых стойких, как они взяли все движение во все стороны и даже немного больше.Нефть. Хроника наших побед.




Нефть. Хроника наших побед.

( Читать дальше )

Тестируем робота перед покупкой

    • 17 ноября 2021, 19:18
    • |
    • GOLD
      Популярный автор
  • Еще
Мой дорогой друг, если ты недавно решил разбогатеть на бирже, значит ты тот самый новичок, за деньгами которого охотятся опасные насекомые, типа продавцов роботов. Вот тебе совет, как протестировать робота перед покупкой. Следуй этому совету и сохранишь свои деньги.

Метод тестирования называется Walk-Forward Test (WFT). Выглядит метод так:

Тестируем робота перед покупкой

Короткое описание:

Всякий робот состоит из двух основных блоков — блок логики и блок транзакций. Блок логики обрабатывает данные и выдает сигналы блоку транзакций. Блок транзакций интереса не представляет. Пусть программисты в нем копаются. А мы поговорим про блок логики. Как он работает и откуда знает — когда покупать и когда продавать?

Человек (обычно это прыщавый программист) читает теханальную литературу, скачивает

( Читать дальше )

Остаться в живых (или когда последние становятся первыми)

    • 26 октября 2021, 17:19
    • |
    • Tenant
  • Еще
October 26, 2021

Какой шаг самый трудный на шатком мосту? Первый или последний? Тот, что я сделаю прямо сейчас,  ведь только его я могу выбрать. А первый шаг может стать для меня и последним (неизвестный даос)
«Твой номер шестнадцатый, помалкивай в трубочку! Ясно?!» из к/ф «Место встречи изменить нельзя»


В седьмой серии культового сериала “Игра в Кальмара” герои приняли участие в испытании “Хрустальный мост через реку” Каждая из ступеней (панелей) этого моста представляла собой две стеклянных пластины, одна из закалённого стекла, а другая  — из обычного. Всего таких ступеней было 18, а участников игры, оставшихся в живых к этому моменту  — 16.

Остаться в живых (или когда последние становятся первыми)


Перед началом игроки выбрали свои порядковые номера, еще не догадываясь о том, что их ждёт впереди. Ужас и растерянность, охватившие мужчину, которому выпало стать первопроходцем, совершенно понятны — число возможных траекторий составляет для него 2 в 18-ой степени, и только в одном случае ему удастся пройти весь путь невредимым. Это один шанс из 262144.



( Читать дальше )

Исламские инвестиции завезли

МосБиржа стала производит расчет индекса исламских инвестиций www.moex.com/ru/index/MXSHAR/constituents/

В индекс исламских инвестиций попадают те компании, деятельность которых одобряется шариатом. На сегодняшний день в индекс включены: Алроса, Северсталь, Детский мир, Норникель, Лукойл, Мэйл, НЛМК, Новатэк, Озон, Фосагро, Татнефть, Таттелеком, Юнипро, Яндекс.

Вопрос знатокам: почему именно эти фирмы? Почему Роснефть, например, не одобряется исламом, а Лукойл одобряется?

Будет забавно, если индекс исламских инвестиций сделает альфу.

Хотите попрогнозировать рыночные котировки? Нет проблем - вот код.

    • 14 сентября 2021, 22:46
    • |
    • 3Qu
  • Еще
Итак, код обучения и прогнозирования нейросетью рыночных котировок на 5 минут.
import sqlite3 as sql
from scipy.stats import logistic
import math
import numpy as np
import numpy.random as rnd
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPRegressor

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()

Ldata = len(sdata)
N = 8000 # Количество сделок
ld = 5 #Продолжительность сделки
NNinterval = 20 # Количество входов NN

# Генерация случайных чисел
rng = rnd.default_rng()
rm=rng.integers(0, Ldata, N )

class Candle:
    tr = 0
    dt = 1
    o = 2
    h = 3
    l = 4
    c = 5
    v = 6
    
cl = Candle
DataC =[sdata[i][cl.c] for i in range(0,Ldata)]

# sigmoid линейность до 0.5
def sigmoidnorm(x, alfa = 0.9, xmin = -1.3, xmax = 1.3):
    return (xmax - xmin)*((1 / (1 + math.exp(-x*2.0*alfa))) - 1.0) + xmax

x = [0.002 * i - 3 for i in range(0,3000)]
y = [sigmoidnorm(x[i]) for i in range(len(x))]


plt.plot(x,y)
plt.grid()
plt.show()

# формируем сделки.
def DealsGenL(rm,ld):
   #Lm = len(rm)
   ix = []
   x = []
   pr = []
   
   for i in range(0,N):
        if rm[i] + ld < Ldata and rm[i] - NNinterval - 1 > 0:
            delta = (sdata[rm[i]+ld][cl.c] - sdata[rm[i]][cl.c])/sdata[rm[i]+ld][cl.c]*100
            x0 = [sigmoidnorm((sdata[rm[i] - j][cl.c] - sdata[rm[i]][cl.c])/sdata[rm[i]][cl.c]*100) \
                 for j in range(0, NNinterval)]
            ix.append(rm[i])
            x.append(x0)
            pr.append(delta)
   return ix, x, pr


Ix, X, Pr = DealsGenL(rm,ld)



Ib = 0
Ie = 100

plt.plot(X)
plt.legend()
plt.grid()
plt.show()


plt.plot(Pr, label = 'Prof')
plt.legend()
plt.grid()
plt.show()


regr = MLPRegressor(hidden_layer_sizes = [30,20,15,10,5], \
                    max_iter=500, activation = 'tanh')

regr.fit(X, Pr)
Out = regr.predict(X)

plt.plot(Pr, Out, '.')
plt.grid()
plt.show()
И вот результат прогнозирования:

( Читать дальше )

«Игнорирование риска» – S&P удваивается до самого быстрого бычьего рынка в истории

«Игнорирование риска» – S&P удваивается до самого быстрого бычьего рынка в истории

Posted on26.08.2021AuthoradminLeave a commentEdit

 

Статья перевод с zerohedge.com . Рассматриваются некоторые интересные моменты происходившие раньше на фондовом рынке и сопоставляются с текущими событиями.


На самом быстром бычьем рынке в истории, индекс S&P 500 удвоился по сравнению со своими пандемическими минимумами. Несомненно, это достойная внимания веха, однако что по мнению истории произойдет дальше?



( Читать дальше )

Индикатор горизонтальной ширины канала за период

Ширина канала показана синим отрезком, канал строится за отрезок показанный зеленым цветом
по перегибам можно понять что тренд заканчивается
Индикатор горизонтальной ширины канала за период
Settings={
Name="Buy_osc_v01",
period=50,
delta=0,
lim=100.0,
line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0, 0, 255)
                    },
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0, 0, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }

                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет
delta - смещение назад 

назначение:
горизонтальная ширина канала 

использовался:
метод наименьших квадратов (аппроксимация линией)

--]]

function Init()
  
  return 2
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  d = Settings.delta
  lim = Settings.lim
        	
   y = nil    
   if index-n-d > 0 then
    a1 = 0
	a2 = 0
	a3 = 0
	a4 = 0
    for i=index-n+1-d, index-d do  

	  a1 = a1+i*C(i)
	  a2 = a2+i
	  a3 = a3+C(i)
	  a4 = a4+i*i
	
    end  
	
	if((n*a4 - a2*a2) ~= 0) then
	 a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	 b = (a3 - a*a2)/n
    
	 c1 = 0
	 c2 = 0
	 n1 = 0
	 n2 = 0
     for j=index-n+1-d, index-d do  
      y = a*j + b
	  if C(j) < y then
	    c1 = c1 + (y -C(j))
		n1 = n1 + 1
	  end
	  if C(j) > y then
	    c2 = c2 + (C(j) - y)
		n2 = n2 + 1
	  end	  
     end	
	 
	 if n1 ~= 0 then
	   c1 = c1/n1
	 end
	 if n2 ~= 0 then
	   c2 = c2/n2
	 end		 
	 
	 if a==0 then
	   y = 0
	 else
	   y = (c1+c2)/a	
	   if y > lim then 
	     y = lim 
	   else 
         if y < -lim then 
		   y = -lim
         end   		 
	   end 	 
	 end 

	 
    end 
   end 	
   
   return y,0 
  
end



....все тэги
UPDONW
Новый дизайн