В продолжение поста.
Обсуждение в комментариях надоумило сделать такой скрипт (для R)
Исходные данные хранятся в csv-файле, где по-порядку идут значение профита или лосса по каждому трейду (размерность не важна - в пунктах или деньгах, у меня в пунктах):
Код скрипта следующий:
Удачи!
Обсуждение в комментариях надоумило сделать такой скрипт (для R)
Исходные данные хранятся в csv-файле, где по-порядку идут значение профита или лосса по каждому трейду (размерность не важна - в пунктах или деньгах, у меня в пунктах):
-0.0009 0.0374 -0.0071 -0.004 0.0206 0.0128 0.0011 0.0003 0.0025 0.0786
Код скрипта следующий:
pl<-scan("pl.csv")
n<-length(pl)
x<-c(0,length=n) # вектор отношения среднего профита к среднему лосю
y<-c(0,length=n) # вектор доли профитных сделок
qp<-0 # кол-во профитных трейдов
ql<-0 # кол-во лоссов
sp<-0 # напопленный профит
sl<-0 # накопленные лоссы
for(i in 1:n){
if (pl[i]>0){
qp<-qp+1
sp<-sp+pl[i]}
else{
ql<-ql+1
sl<-sl+pl[i]}
y[i]=qp/i
if(sl!=0 && qp!=0) x[i]=(sp*ql)/(abs(sl)*qp)
}
i<-seq(5,n)
m<-ceiling(max(x[i]))
xs<-seq(0,m,.1)
ys<-1/(1+xs)
plot(xs,ys, type="l", col="red", lwd=2,
xlab="отношение среднего профита к среднему лосю",
ylab="частота профитов",
main="Динамика системы и кривая безубыточности")
grid()
lines(x[i],y[i],type="l", col="blue")
points(x[n],y[n],lwd=4, pch=3, bg="black")
text(x[n]+2,min(y[i])-.1,"+ - крайний по времени трейд") Удачи!

Комментариев нет:
Отправить комментарий