Altcointurk  

Geri Git   Altcointurk > >

MOST Hareketli Ortalamalar Indikatoru
MOST Hareketli Ortalamalar Indikatoru
MOST Hareketli Ortalamalar Indikatoru
Cevapla
 
Seçenekler Stil
13.Aralık.2018, 01:12   #1
Hikmet Sezen
Genesis Block
 
Mesajlar: 1
Konular: 1
Üyelik: 12.Aralık.2018
Nereden: istanbul
Tecrübe Puanı: 0
Hikmet Sezen is on a distinguished road
Standart MOST Hareketli Ortalamalar Indikatoru

Merhaba arkadaslar, tradingview de gunde bir kac tane Most kodunu paylasmak icin istek aliyordum, bende buradan paylasmaya karar verdim. Kodu elimden geldigince turkcelestirmeye calistim.

Paylastigim Most indikatoru Kivanc(@fr3762) bahsettigi Most'un daha gelistirilmis halidir. Paylasmamin bir diger nedenide oldukca egitsel olmasini dusunmemdir.

Bu kodda,
i) Backtestte daha dogru net kar sonuclarin cikmasi icin giris miktarlari belirlendi (@hophopcoin bu konuda katkisi olmustur).
ii) Backtestte daha kolay ve dogru ayarlar bulunmasi icin baslangic ve bitis tarihlerini belirleyebilirsiniz.
iii) Most hesaplamsi HPotter'un Trailing Stop stratejisinden adapte edilmistir.
iv) Daha esnek bir Most trend hesabi icin birden cok hareketli ortalama eklendi. (coinsspor, JustUncleL) Benim onerdiklerim, T3, HulleMA, TEMA, ve DEMA. Mesela HulleMA piyasada pek bilinmiyor gibi. Son zamanlarda basilmis birkac bilimsel makalede bahsedildigini gordum.

Bu kodda anlamadiginiz yerler icin soru sorabilirsiniz veya daha da gelitirilmesi icin fikirler paylasabilirsiniz.

Indikatorun strateji modu icin kod soyle:

Kod:
//@version=3
//attoCryp, @HikmetSezen58, altcoinTurk icin paylasilmistir.
strategy("MOST Hareketli Ortalamalar", overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
sx = input(defval = "close" ,title="Fiyat sec", options=[ "close", "high", "low", "open", "hl2", "hlc3", "hlco4", "hlcc4", "hlccc5"])
smox = input(defval = "T3", title = "Hareketli Ortalama: ", options=[ "T3", "SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA", "SMMA", "HullMA", "HulleMA", "LSMA", "ALMA", "TMA", "SSMA"])
timeFramemost = input(title="++++++++++++++++++++++++++++++++++++", type=string, defval="MOST Ayarlari:")
yuzde=input(defval=4, minval=0, step=0.1, title="Yuzde Oran")/100
ortalamauzunluk = input(defval = 6, title = "Periyot Uzunlugu", minval = 1)
f = input(defval = 0.7, step=0.1, title = "T3 icin Factor", minval = 0.01)
timeFrameadd = input(title="++++++++++++++++++++++++++++++++++++", type=string, defval="Diger Orta.Ayar:")
offsig = input(defval = 4, title = "LSMA icin Offset veya ALMA icin Sigma", minval = 0)
offalma = input(defval = 0.6, title = "ALMA icin Offset", minval = 0, step = 0.01)
timeFramess = input(title="++++++++++++++++++++++++++++++++++++", type=string, defval="Baslangic-Bitis:")
gun_baslangic = input(defval = 1, title = "Baslangic Gunu", minval = 1, maxval = 31)
ay_baslangic= input(defval = 1, title = "Baslangic Ayi", minval = 1, maxval = 12)
yil_baslangic = input(defval = 2017, title = "Baslangic Yili", minval = 2010)
gun_bitis = input(defval = 1, title = "Bitis Gunu", minval = 1, maxval = 31)
ay_bitis = input(defval = 1, title = "Bitis Ayi", minval = 1, maxval = 12)
yil_bitis = input(defval = 2019, title = "Bitis Yili", minval = 2010)


// backtest icin baslangic ve bitis zamanlarini belirleme
baslangic = timestamp(yil_baslangic, ay_baslangic, gun_baslangic, 00, 00)
bitis = timestamp(yil_bitis, ay_bitis, gun_bitis, 23, 59) 
zamanaraligi() => time >= baslangic and time <= bitis ? true : false 


//guncel fiyatti belirleme
guncelfiyat = sx=="high"?high : sx=="close"?close : sx=="low"?low : sx=="open"?open : sx=="hl2"?(high+low)/2 : sx=="hlc3"?(high+low+close)/3 : sx=="hlco4"?(high+low+close+open)/4 : sx=="hlcc4"?(high+low+close+close)/4 : sx=="hlccc5"?(high+low+close+close+close)/5 : close 


/////Ortalama Hesaplamalari/////
// Tillson T3
sm0(guncelfiyat,ortalamauzunluk,f) =>
  t3e1 = ema(guncelfiyat, ortalamauzunluk)
  t3e2 = ema(t3e1, ortalamauzunluk)
  t3e3 = ema(t3e2, ortalamauzunluk)
  t3e4 = ema(t3e3, ortalamauzunluk)
  t3e5 = ema(t3e4, ortalamauzunluk)
  t3e6 = ema(t3e5, ortalamauzunluk)
  c1 = -f*f*f
  c2 = 3*f*f+3*f*f*f
  c3 = -6*f*f-3*f-3*f*f*f
  c4 = 1+3*f+f*f*f+3*f*f
  s0 = c1 * t3e6 + c2 * t3e5 + c3 * t3e4 + c4 * t3e3

// Basit ortalama
sm1(guncelfiyat,ortalamauzunluk) =>
  s1 = sma(guncelfiyat, ortalamauzunluk)

// Ustel ortalama
sm2(guncelfiyat,ortalamauzunluk) =>
  s2 = ema(guncelfiyat, ortalamauzunluk)

// Cift Ustel ortalama
sm3(guncelfiyat,ortalamauzunluk) =>
  s3 = 2*ema(guncelfiyat, ortalamauzunluk) - ema(ema(guncelfiyat, ortalamauzunluk), ortalamauzunluk)

// Uclu Ustel ortalama
sm4(guncelfiyat,ortalamauzunluk) =>
  s4 = 3*(ema(guncelfiyat, ortalamauzunluk) - ema(ema(guncelfiyat, ortalamauzunluk), ortalamauzunluk)) + ema(ema(ema(guncelfiyat, ortalamauzunluk), ortalamauzunluk), ortalamauzunluk)

// Agirlikli Ortalama 
sm5(guncelfiyat,ortalamauzunluk) =>
  s5 = wma(guncelfiyat, ortalamauzunluk)

// Hacim Agirlikli Ortalama
sm6(guncelfiyat,ortalamauzunluk) =>
  s6 = vwma(guncelfiyat, ortalamauzunluk)

// Smoothed
sm7(guncelfiyat,ortalamauzunluk) =>
  s7 = 0.0
  s7 := na(s7[1]) ? sma(guncelfiyat, ortalamauzunluk) : (s7[1] * (ortalamauzunluk - 1) + guncelfiyat) / ortalamauzunluk

// Hull Ortalama
sm8(guncelfiyat,ortalamauzunluk) =>
  s8 = wma(2 * wma(guncelfiyat, ortalamauzunluk / 2) - wma(guncelfiyat, ortalamauzunluk), round(sqrt(ortalamauzunluk)))
  
// Hull Ustel Ortalama
sm81(guncelfiyat,ortalamauzunluk) =>
  s8 = ema(2 * ema(guncelfiyat, ortalamauzunluk / 2) - ema(guncelfiyat, ortalamauzunluk), round(sqrt(ortalamauzunluk)))

// Least Square
sm9(guncelfiyat,ortalamauzunluk,offsig) =>
  s9 = linreg(guncelfiyat, ortalamauzunluk, offsig)

// Arnaud Legoux
sm10(guncelfiyat, ortalamauzunluk, offalma, offsig) =>
  s10 = alma(guncelfiyat, ortalamauzunluk, offalma, offsig)

// Triangular
sm11(guncelfiyat, ortalamauzunluk) =>
  s11 = sma(sma(guncelfiyat, ortalamauzunluk),ortalamauzunluk)

// SuperSmoother filter
sm12(guncelfiyat,ortalamauzunluk) =>
  a1 = exp(-1.414*3.14159 / ortalamauzunluk)
  b1 = 2*a1*cos(1.414*3.14159 / ortalamauzunluk)
  c2 = b1
  c3 = (-a1)*a1
  c1 = 1 - c2 - c3
  s12 = 0.0
  s12 := c1*(guncelfiyat + nz(guncelfiyat[1])) / 2 + c2*nz(s12[1]) + c3*nz(s12[2])

ortalamafiyat = smox=="T3"?sm0(guncelfiyat,ortalamauzunluk,f) : smox=="SMA"?sm2(guncelfiyat,ortalamauzunluk) : smox=="EMA"?sm2(guncelfiyat,ortalamauzunluk) : smox=="DEMA"?sm3(guncelfiyat,ortalamauzunluk) : smox=="TEMA"?sm4(guncelfiyat,ortalamauzunluk) : smox=="WMA"?sm5(guncelfiyat,ortalamauzunluk) : smox=="VWMA"?sm6(guncelfiyat,ortalamauzunluk) : smox=="SMMA"?sm7(guncelfiyat,ortalamauzunluk) : smox=="HullMA"?sm8(guncelfiyat,ortalamauzunluk) : smox=="HulleMA"?sm81(guncelfiyat,ortalamauzunluk) : smox=="LSMA"?sm9(guncelfiyat,ortalamauzunluk,offsig) : smox=="ALMA"?sm10(guncelfiyat, ortalamauzunluk, offalma, offsig) : smox=="TMA"?sm11(guncelfiyat,ortalamauzunluk) : smox=="SSMA"?sm12(guncelfiyat,ortalamauzunluk) : guncelfiyat


/////MOST'u hesaplama/////
stopfiyat = ortalamafiyat*yuzde
mostfiyat = 0.0
mostfiyat := iff(ortalamafiyat>nz(mostfiyat[1],0) and ortalamafiyat[1]>nz(mostfiyat[1],0),max(nz(mostfiyat[1],0),ortalamafiyat-stopfiyat),iff(ortalamafiyat<nz(mostfiyat[1],0) and ortalamafiyat[1]<nz(mostfiyat[1],0),min(nz(mostfiyat[1],0),ortalamafiyat+stopfiyat),iff(ortalamafiyat>nz(mostfiyat[1],0),ortalamafiyat-stopfiyat,ortalamafiyat+stopfiyat)))

mostcolor=ortalamafiyat>mostfiyat?lime:fuchsia
plot(mostfiyat, color=mostcolor, linewidth=4, title="Most-fiyat")

/////AL-SAT LONG-SHORT girislerini belirleme/////
long=ortalamafiyat>mostfiyat and ortalamafiyat[1]<mostfiyat[1]
short=ortalamafiyat<mostfiyat and ortalamafiyat[1]>mostfiyat[1]
if (long) 
  strategy.entry("AL-Long", strategy.long, when = zamanaraligi())
if (short) 
  strategy.entry("SAT-Short", strategy.short, when = zamanaraligi())
Hikmet Sezen isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
13.Aralık.2018, 02:38   #2
sharkcrypto
Forum Yöneticisi
 
Mesajlar: 41
Konular: 26
Üyelik: 04.Kasım.2018
Tecrübe Puanı: 10
sharkcrypto is on a distinguished road
Standart Ynt: MOST Hareketli Ortalamalar Indikatoru

Emeğinize sağlık Üstat, teşekkürler...
__________________
Hayatı perde arkasından izlemek güçsüzlük değil, sabrediştir..

Watching the life from behind the curtain is not weakness, it is patience...
sharkcrypto isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
15.Aralık.2018, 08:52   #3
kadrkn
Genesis Block
 
Mesajlar: 2
Konular: 0
Üyelik: 21.Kasım.2018
Tecrübe Puanı: 0
kadrkn is on a distinguished road
Standart Ynt: MOST Hareketli Ortalamalar Indikatoru

Hikmet Hocam elinize sağlık 👍🏻
kadrkn isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
15.Aralık.2018, 20:37   #4
Rookie
Onaylı Hesap
 
Mesajlar: 7
Konular: 11
Üyelik: 13.Kasım.2018
Nereden: İzmir
Tecrübe Puanı: 0
Rookie is on a distinguished road
Standart Ynt: MOST Hareketli Ortalamalar Indikatoru

Ellerinize sağlık, çok başarılı olmuş. Katkı sunan arkadaşlara da teşekkürler.
Rookie isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
23.Mayıs.2019, 04:15   #5
ihy
Genesis Block
 
Mesajlar: 1
Konular: 0
Üyelik: 23.Mayıs.2019
Tecrübe Puanı: 0
ihy is an unknown quantity at this point
Standart

Uzun zamandır MOST formülünü arıyordum. Teşekkürler
ihy isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB kodu Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı

Forum Jump


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:24.


Powered by vBulletin® Version 3.8.9
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.