Teknik Analiz Dünyasına Hoşgeldiniz. Paylaşmak Güzeldir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz... 

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.
  • “Bir sistem ne kadar karmaşık olursa, yanlış yapmanın olasılığı o kadar da yüksek olur.”(soros)

Matriks Metastock ve Matriks formül yazımı ve yapılan genel hatalar Çalışmayan Formüller

Matriks

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,797
Metastock ve Matriks formül yazımı ve yapılan genel hatalar Çalışmayan Formüller

formülleri örneklendirerek açıklamaya çalışalım


pds:= Input("LR Periods",10,100,55);
a:= Input("Stdev Periods",10,100,30);
s1:=Input("Smoothing Periods",2,50,10);
r:=LinearReg(C,pds);
x:=Mov(r,s1,S);

x1 :=x+1*Stdev(C,a);
x2 :=x+2*Stdev(C,a);
x3 :=x+3*Stdev(C,a);

y1:= x-1*Stdev(C,a);
y2:= x-2*Stdev(C,a);
y3:= x-3*Stdev(C,a);
x;
x1;
x2;
x3;
y1;
y2;
y3;

yukarıdaki bir metastock formülüdür formülün en sonundaki ifade şöyle bitiyorsa ; bu bir metastock formülüdür.

en sonundaki ; ifadesini silersek matriks de çalışır
matriks için

pds:= Input("LR Periods",10,100,55);
a:= Input("Stdev Periods",10,100,30);
s1:=Input("Smoothing Periods",2,50,10);
r:=LinearReg(C,pds);
x:=Mov(r,s1,S);

x1 :=x+1*Stdev(C,a);
x2 :=x+2*Stdev(C,a);
x3 :=x+3*Stdev(C,a);

y1:= x-1*Stdev(C,a);
y2:= x-2*Stdev(C,a);
y3:= x-3*Stdev(C,a);
x;
x1;
x2;
x3;
y1;
y2;
y3

bu şekilde yaptınız metastock formülü matrikste çalışmıyorsa ifade ve formül diline bakmanız lazım
pratiklik açısından genelde çalışmayan matriks formülü metastockta denenirse hata olan yere imleci konumlandırır ve hatayı söyler.

formül şöyle olursa
pds:= Input("LR Periods",10,100,55);// pds değeri 10 ile 100 arasındadır varsayılan 55 dir demektir

peki bu indikatör formülü ile tarama yapılabilir mi ? hayır inputlar dan çıkarılması gerekir tarama yapmak demek kesin bir matematik ifadenin grafikte karşılığını aramak demektir. Nasıl input dışına çıkarılacak ?
pds:=55; // şeklinde ancak taramalarda kullanılabilir. Kesin bir ifade olmalıdır.

En çok yapılan strateji hatası ise indikatör veya osilatör var olan bir çizgidir. Bir matematik ifadenin grafikte karşılık bulmasıdır.


yukarıdaki formülden açıklamaya çalışalım
pds:= Input("LR Periods",10,100,55);
a:= Input("Stdev Periods",10,100,30);
s1:=Input("Smoothing Periods",2,50,10);
r:=LinearReg(C,pds);
x:=Mov(r,s1,S);

x1 :=x+1*Stdev(C,a);
x2 :=x+2*Stdev(C,a);
x3 :=x+3*Stdev(C,a);

y1:= x-1*Stdev(C,a);
y2:= x-2*Stdev(C,a);
y3:= x-3*Stdev(C,a);
x;
x1;
x2;
x3;
y1;
y2;
y3

pds a ve s1 sabit sayı r ise x in dayanak noktası x ise x1 x2 x3 y1 y2 y3 hesaplamalarının dayanak noktası
r nin indikatör olarak çizdirilmediğini görmüş olduk

formüllerinizde her satırın çizdirilip gözlemlenmesi gerekir if li yapılarda ise kurgulamanız yanlış ise if 0 döndürür ve/veya matematiksel karşılığı yoksa hiç bir teknik analiz yazılımı bir sonuç üretemez ve bunu farketmenize imkan yoktur.
bu şekilde içinden çıkılmaz anlam ve ifadelere mahal vermeden formüllerde bulunan her satır gözlemlenmelidir.

bir metastock ifadesine bakalım
res:=If(vr>=PU AND zz0>zz1,1,If(vr<=PD AND zz0<zz1,-1,0));
res:=If(res<>0,res,ValueWhen(1,res<>0,res));
res


res iki kez tanımlanmıştır metastock çalışma prensibi 1.res hesaplanır 2.res hesaplanırken 1. res işleme dahil edilir
siz res çizdir derseniz son res i çizdirir

matriks ifadesi ise şöyledir
res:=If(vr>=PU AND zz0>zz1,1,If(vr<=PD AND zz0<zz1,-1,0));
res1:=If(res<>0,res,ValueWhen(1,res<>0,res));
res1

aynı blokda iki adet res olamaz
 
Çözüm
Genel Matriks yazım dili ifadeleri şöyledir.

ad()"Accumulation/Distribution Ascillator (Acc./Dist.Asc.)"
ADX(14)"Average Directional Movement Index ( Period )"
ADXR(14,14)"Average Directional Movement Index Rating ( ADX Period, ADXR Period)"
ARSI(Data,Period) "Assymetrical RSI "
Aroon(Period) "Aroon (Period)"
Aaaron alt formülü: AroonDown(14)
Aaaron üst formülü: AroonUp(14)
AROOSC(14)"Aroon Oscilattor (Periyod)"
ASWING(Limit Move)"Accumulation Swing Indeks ( Acc/Swing Index )"
ATR(14)"Average True Range ( Period)"
BBand(Data,Period,Yöntem S E W TRI VAR ZL WW TSF HAR E2,Std.Sapma)
Alt Bant: BBandBot(C,20,S,2)
Orta Bant: BBand(C,20,S,2)
Üst Band: BBandTop(C,20,S,2)
Beta("XU100",100)"Beta ( Endeks, Period) "
CCI(14)"Commodity...

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,797
Genel Matriks yazım dili ifadeleri şöyledir.

ad()"Accumulation/Distribution Ascillator (Acc./Dist.Asc.)"
ADX(14)"Average Directional Movement Index ( Period )"
ADXR(14,14)"Average Directional Movement Index Rating ( ADX Period, ADXR Period)"
ARSI(Data,Period) "Assymetrical RSI "
Aroon(Period) "Aroon (Period)"
Aaaron alt formülü: AroonDown(14)
Aaaron üst formülü: AroonUp(14)
AROOSC(14)"Aroon Oscilattor (Periyod)"
ASWING(Limit Move)"Accumulation Swing Indeks ( Acc/Swing Index )"
ATR(14)"Average True Range ( Period)"
BBand(Data,Period,Yöntem S E W TRI VAR ZL WW TSF HAR E2,Std.Sapma)
Alt Bant: BBandBot(C,20,S,2)
Orta Bant: BBand(C,20,S,2)
Üst Band: BBandTop(C,20,S,2)
Beta("XU100",100)"Beta ( Endeks, Period) "
CCI(14)"Commodity Channel Index ( Period)"
CMO(C,9)"Chande’s Momentum Oscillator ( Data, Period )"
CHO(3,10)"Chaikin Oscillator ( Kısa period, Uzun Period )"
CO(3,10)"Chaikin Accumulation/Distribution Oscillator ( Kısa Period, Uzun Period )"
CMF(21)"Chaikin Money Flow (Period)"
DEMA(C,5)"Double Exponential Moving Average ( Data, Period )"
DI()"Demand Index ( Period )"
DIS(14)"Directional Indicator Spread ( Period )"
DI + için: PDI(14)
DI – için: MDI(14)
DPO(20)"Detrend Price Oscillator ( Period)"
DX(14)"Directional Index ( Period )"
Envelope (Data,Period,Yöntem S E W TRI VAR ,Kaydırma Or.)
Alt Bant: EnvBot(C,14,S,5)
Üst Bant: EnvTop(C,14,S,5)
EMV(14,S) "Ease Of Movement (Period,Yöntem S E W TRI VAR )"
EWO(5,34) "Elliott Wave Oscillator ( Kısa Period, Uzun Period)"
Fisher Transform Çizgisi (Kırmızı): FISHT((H+L)/2,10)"FISHT(Data,Period)"
Fisher Transform Sinyal Çizgisi (Mavi): FISHTSGN((H+L)/2,10)"FISHTSGN(Data,Period)"
Frac: Yazım: frac(Data)
HLBBot(50) "High - Low (Üst – Alt) Band (Period)"
HLBTop(50)
Tenkansen(9,26,26,52,26)
Kijunsen(9,26,26,52,26)
ChikouSpan(9,26,26,52,26)
SenkouSpanA(9,26,26,52,26)
SenkouSpanB(9,26,26,52,26)
IMI(14) " Intraday Momentum Index"
İnteger fonksiyonu Yazım şekli: int(data)
KAI(C,14) "Kairi ( Data, Period )"
LINEARREG(C,14) "Linear Regression ( Data, Period )"
LINREGSLOPE(C,14) " LRS Linear Regression Slope ( Data, Period )"
MOV(C,20,E) "MOV(Data,Period,Yöntem S E W TRI VAR ZL WW TSF HAR E2)"

S: Simple (Basit)
E: Exponential (Üssel)
W: Weighted (Ağırlıklı)
TRI: Triangular (Üçgensel)
VAR: Variable (Değişken)
ZL: Zero Lag (Yakınsayan Diyebiliriz)
WW: Welles Wilder (Hesaplayan kişinin adı ile anılmaktadır)
TSF: Time Series Forecast (Aynı İsimde Bir İndikatör var. Talep üzerine buraya da eklendi)
HAR: Harmonic (Harmonik)
E2: Exponential Versiyon 2.

MACD(26,12,9) " MOVİNG AVERAGE Conv.Div. (Uzun Period, Kısa Period, Trigger P.)"
MACDTrigger(26,12,9)
MACDAS((26,12,9)
MACDASTrigger(26,12,9)
MASS(9,25) " Mass Index ( Period1, Period2 )"
MFI(14) " Money Flow Index ( Period )"
MJR(14) " Majority Rule ( Period )"
MO(C,9) " Momentum ( Data, Period )"
MOST(C,4,1,Yöntem) " Moving Stop Loss ( Data, Period, Yüzde )"
MSL(C,5) " Moving Stoploss ( Data, Yüzde )"
OTT(Data,Period,Opt)
OTTSup(Data,Period,Opt)
NVI() "Negative Volume Index"
OBV(C) "On Balance Volume ( Data )"
OBVx(C,14)"On Balance Volume Ex ( Data )"
PAR(0.02,0.2)"Parabolic ( Adım, Maksimum Adım )"
PSAR(0.02,0.2)"Parabolic SAR ( Adım, Maksimum Adım )"
PER()"Performance ( )"
OSCP(5,22,S,$)"Price Oscillator (Kısa P.,Uzun P.,Yöntem S E W TRI VAR,% $)"
PMO(35,20,10);"PMO(Period,Smoothing Period,Signal Line Period)"
PVTRES1()"Standart Pivot İndikatörü"
PVTRES2()
PVTRES3()
PVTSUP1()
PVTSUP2()
PVTSUP3()
CAMRES1()"Camarillo Pivot İndikatörü"
CAMRES2()
CAMRES3()
CAMRES4()
CAMSUP1()
CAMSUP2()
CAMSUP3()
CAMSUP4()
DEMPVT()"Demark Pivot İndikatörü"
DEMRES1()
DEMSUP1()
FIBPVT()"Fibonnaci Pivot İndikatörü"
FIBRES1()
FIBRES2()
FIBRES3()
FIBSUP1()
FIBSUP2()
FIBSUP3()
PROC(14)"Price Rate Of Change ( Period )"
PVI() "Positive Volume Index "
QQEF(C,14,5)"QQE Quantitative Qualitative Estimation ( Periyod, F )" fast
QQES(C,14,5)"QQE Quantitative Qualitative Estimation ( Periyod, F )" slow
RSquared(C,14)"R-Squared ( Data, Periyot)"
RMI(C,20,5)"Relative Momentum Index (Data,Period,Momentum)"
RSI(C,14)"Relative Strength Index ( Data, Period )"
% K Çizgisi: STOFK(5,3,E)"Stochastic Fast"
% D Çizgisi: STOFD(5,3,E)"Stochastic Fast"
% K Çizgisi: STOSK(5,5,3,E)"Stochastic Slow"
% D Çizgisi: STOSD(5,5,3,E)"Stochastic Slow"
% K Çizgisi: STOCHMOMENTUM(5,3,3)"Stochastic Momentum Index (%K,Yavaş %K,2.Yavaş %K)"
% D Çizgisi: MOV(STOCHMOMENTUM(5,3,3),3,e)"Stochastic Momentum Index (%K,Yavaş %K,2.Yavaş %K)"
STOCHRSI(C,14,7)"Stochastic RSI (Data,Period,%K)"
STDEV(C,14)"Standart Deviation Varyans ( Data, Period )"
SDEV(C,14)"Standart Deviation ( Data, Period)"
STDEV ve SDEV Farkı: STDEV indikatörü, N günlük ortalamada hesaplanıyor. Sonra bu N
günün her birinin bu değerden farkının karesi toplanıyor ve karekökü alınıyor.
SWING(3)"Swing Index ( Limit Move )"
TILL(C,3,0.7)"Tillson Moving Average"
Trix çizgisi: TRIX(C,12,9,S)"TRIX (Data,Period1,Period2,Yöntem S E W TRI VAR )"
Trix Ortalaması Çizgisi: TRIXMAV(C,12,9,S)
TS(10)"Trend Score ( Period )"
TSF(C,5)"Time Series Forecast ( Data, Period )"
TVI(50)"Trade Volume Index ( Period )"
ULT(7,14,28)"Ultimate Oscillator (Kısa P,Orta P,Uzun P)"
VLT(10)"Volatility ( Period )"
HVLT(C,21)"Historical Volatility ( Period )"
VHF(C,28)"Vertical Horizantal Filter ( Data, Period )"
VPT() (Parametre Gerektirmez)"Volume Price Trend ( )"
Lot Hacim için: VOL()"Volume ( )"
TL Hacim için: VOL()*W
OSCV(5,22,S,$)"Volume Oscillator (Kısa P.,Uzun P.,Yöntem S E W TRI VAR,% $)"
VROC(12)"Volume Rate Of Change ( Period )"
VI + Çizgisi İçin: PVTX(14)"Vortex ( Period )"
VI - Çizgisi İçin: NVTX(14)
VLTYZ(14)"Yhang-Zhang Volatility ( Period )"
WillA(14)"William’s A/D ( Period)"
WillAD()"William’s %R ( Period)"
WillR(14)
WC()"Weighted Close ( )"
ZIG(C,5,%)"ZIGZAG (Data,Degisim,$%)"

yukarıdaki matriks yazım dili ifadelerini kopyalayıp kendi bilgisayarınıza text olarak kaydederseniz daha hızlı kontrol yapabilirsiniz.
 
Son düzenleme:
Çözüm

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,797
Genel Metastock yazım dili ifadeleri şöyledir.

Açılış Fiyatı: Open: O
En yüksek Fiyat: High: H
En Düşük Fiyat: Low: L
Kapanış Fiyatı: Close: C
İşlem Miktarı(adet): Volume: V

E: burada hareketli ortalama alacağınız zaman üssel (exponential) hareketli ortalama almak için E yazmanız gerekiyor.
S: burada hareketli ortalama alacağınız zaman basit (simple) hareketli ortalama almak için S yazmanız gerekiyor.
W: hareketli ortalama alacağınız zaman ağırlıklı (weighted) hareketli ortalama almak için W yazmanız gerekiyor.
VAR: hareketli ortalama alacağınız zaman değişken (variable) hareketli ortalama almak için VAR yazmanız gerekiyor.
TRI: hareketli ortalama alacağınız zaman üçgensel (triangular) hareketli ortalama almak için TRI yazmanız gerekiyor.
VOL: hareketli ortalama alacağınız zaman işlem hacmini dikkate alan (volume) hareketli ortalama almak için VOL yazmanız gerekiyor.

Absolute Value: Formül biçimi ise abs(DATA ARRAY)
Mutlak Değer Fonksiyonudur. Bir işlemin sonucu eksi çıksa dahi, bunu artı olarak hesaplar.
Accumulation Distribution: Formül biçimi; AD( ) şeklindedir.
Toplama dağıtım endeksi göstergesini hesaplar. Bir hissenin belirli bir günde toplama-dağıtım göstergesi değerinin ne olduğunu merak ediyorsanız bu formülü yazabilirsiniz.Yani sadece bu formülü yazmanız yeterlidir. Çünkü gün sayısı belirtmenize gerek yoktur.
Aroon up ve Aroon down : Formülü Aroon up için AroonUP(Periods), Aroon Down'un hesaplanması için Aroondown(periods)
Bu Aroon'un geliştirdiği yukarı ve aşağı hareket ivmelerini veren göstergenin hesaplanmasını sağlar.
Burada periods kısmına yazdığınız rakam kaç dönemlik (günlük, haftalık vs.) Aroon up veya Aroon down'u hesapaplayacağınızı belirtir.
Average Directional Movement : ADX(periods) şeklinde formüle edilir.
Ortalama yönsel hareket göstergesidir. Kaç dönemlik ADX göstergesi hesaplamak istiyorsanız, parantez içine ilgili rakamı yazınız.
Average True Range: ATR(periods) şeklinde formüle edilir.
Ortalama doğruluk bölgesi göstergesi formülüdür.
BarsSince : Bu durumda formül yapısı BarsSince(expression) şeklindedir.
Bu formülü geriye doğru dönem saydırmak için kullanabilirsiniz. Örnek vermek gerekirse, varsayalım ki belirli bir süre önce MACD göstergesi sıfırın altına düştü ve siz kaç gündür MACD göstergesinin sıfırın altında olduğunu formül olarak buldurmak istiyorsunuz. Burada parantez içindeki "expression" kelimesi sizin aradığınız şartı ifade etmektedir. Az önceki örnekte MACD sıfırın altına düştüğü günden bu yana kaç gün geçtiğini görmek istiyorsak
BarsSince(Macd ( ) < 0) yazmamız gerekiyor. Bu formülde Macd()<0 kısmı bir şart bildirmektedir. Örneğin 14 günlük momentum göstergesinin kaç günden beri 100'ün üzerinde olduğunu merak ediyorsak veya 100'ün üzerine çıktığından bu yana kaç gün geçtiğini merak ediyorsak formülü şu şekilde yazmalıyız.BarsSince(MO(14)>100)
BETA :Formül formatı şöyledir. Fml("Beta").
Bir hisse senedinin endeks ile ne derece yakın ve aynı yönde mi, yoksa ters yönde mi hareket ettiğini veren bir katsayıdır. Bir hissenin endeks ile arasındaki beta katsayısını bulmak için kullanırsınız. Beta'nın hesaplanmasını sağlayan 21 günlük BETA formülü ise aşağıdaki şekildedir. Eğer siz 30 günlük beta'yı hesaplatmak istiyorsanız aşağıdaki formülde "21" yazan yerlere "30" yazmanız gerekiyor.
((21*Sum(ROC(CLOSE,1,%)*ROC(INDICATOR,1,%),21))-(Sum(ROC(CLOSE,1,%),21)*Sum(ROC(INDICATOR,1,%),21)))/((21*S
um(Pwr(ROC(INDICATOR,1,%),2),21))-Pwr(Sum(ROC(INDICATOR,1,%),21),2))

Bollinger Band Bottom: BBandBot(Data Array, Periods, E S T TRI VAR W, Deviations),
Alt Bollinger bandı değerini hesaplar.Bu formül yapısı içinde deviations kısmı ise Bollinger bandı hesaplanırken, ortalama değerden itibaren kaç standart sapma aşağı değer alınacağını belirtir. Genellikle bu tür bir hesaplama yaparken Deviations değerini "2" olarak alınız.
Bollinger Band Top: BBandTop(Data Array, Periods, E S T TRI VAR W, Deviations),
Alt Bollinger bandı değerini hesaplar. Burada formül yapısı şöyledir. Bu formül yapısı içinde deviations kısmı ise Bollinger bandı hesaplanırken, ortalama değerden itibaren kaç standart sapma yukarı değer alınacağını belirtir. Genellikle bu tür bir hesaplama yaparken Deviations değerini "2" olarak alınız.
Chaikin A/D Oscillator: Formül biçimi; CO( ) şeklindedir.
Chaikin'in toplama dağıtım göstergesidir. Dolayısıyla CO( ) yazdığınızda otomatik olarak hesaplanan değer formülde yerine konulacaktır.
Chaikin's Money Flow : Formül yapısı şu şekildedir; CMF(Periods)
Chaikin'e ait para akım endeksini hesaplamak için kullanılır. Senede para girişi ve çıkışını bulmaya çalışır.
Chande Momentum Oscillator:Formülü; CMO(Data Array, Periods) şeklindedir.
Chande tarafından geliştirilmiş bulunan momentum osilatörü değerini hesaplar. Örneğin kapanış fiyatlarının 21 günlük Chande momentum Osilatörü; CMO(C,21) formülüyle hesaplanır.
Commodity Channel Index: formülü; CCI(PERIODS) şeklindedir,
Mal Kanal Endeksi Göstergesi'ni hesaplar örneğin, CCI(20) formülü, 20 günlük Mal kanal Endeksi değerini bulur.
Correlations Analysis : formül yapısı şöyledir; Correl (DataArray, DataArray, Periods, Shift).
İki ayrı değişken arasındaki korelasyon katsayısını hesaplar Bu formüldeki “shift” parametresi gecikmeli etkileri
Cross : Kesişme fonksiyonudur. Hesapladığınız bir değer bir başka hesaplanmış değerin üzerine çıkarsa yada altına inerse koşulunu bu formül ile verirsiniz. Formül yapısı şöyledir; cross(Data Array1, Data Array2). Örneğin; Cross(c,ref(c,-1)) yazdığımızda bugünkü kapanış değeri dünkü kapanış değerinin üzerine çıkarsa ifadesi yerine geçecektir. Cross(ref(c,-1), c) yazılımız ise bugünkü kapanış değeri dünkü kapanışın altına düşerse ifadesi yerine geçecektir.
Cumulate:Formül yapısı şöyledir; Cum(Data Array).
Belirli bir değişkenin geriye dönük olarak değerlerinin üst üste toplanmasını ifade eder. Örneğin Cum(C) yazdığınızda grafikteki verilerin ilk başladığı günden itibaren kapanış fiyatlarını birbirinin üzerine toplayarak en son değeri bulur.
Demand Index: Formül yapısı DI()şeklindedir.
Talep Endeksi Göstergesi değerini bulmanızı sağlar.
Detrended Price Oscillator: Formül yapısı DPO(periods) şeklindedir.
Trendden Arındırılmış Fiyat Osilatörü Göstergesinin değerinin hesaplanmasını sağlar.
Directional Movement Index :Formül yapısı DX(Periods) şeklindedir.
Yönsel hareket göstergesi değerinin hesaplanmasını sağlar. Bu göster iki dala ayrılır. Bunlar negatif yönsel hareket ile pozitif yönsel hareket göstergeleridir. Bunların adarlı ve formül yapıları ise şöyledir;
Minus Directional Movement: Negatif yöndeki yönsel hareket; Formül yapısı; MDI(Periods)
Plus Directional Movement: Pozitif yöndeki yönsel hareket; Formül yapısı; PDI(Periods)
Dynamic Momentum Index: Formül yapısı; DMI(Data Array) şeklindedir.
Dinamik momentum endeksinin değerinin hesaplanmasını sağlar.Eğer kapanış rakamının dinamik momentum endeksini hesaplatmak istiyorsanız DMI(C) yazmanız gerekiyor.
Ease of Movement :Formül yapısı; EMV(Periods, E S T TRI VAR W) şeklindedir.
Kolay fiyat hareketi göstergesi değerini hesaplar.
Forecast Oscillator : Formül yapısı ForecastOsc(Data Array, Periods) şeklindedir.
Tahmin osilatörü değerini hesaplar.Örneğin Forecastosc(C,15) formülü son 15 günlük kapanış değerlerini dikkate alarak bugünkü kapanış değerinin tahmin değerini bulur. Sonra da bugünkü kapanış değeri ile tahmin değeri arasındaki yüzde farkı hesaplar. Eğer bugünkü tahmin değeri, bugün gerçekleşen kapanışın altındaysa eksi değer alırken, üzerindeyse artı değer alır.
Fraction frac() frac( DATA ARRAY )
Formula Call :Formül yapısı şöyledir; FML(“Formula_Name”) .
Formül çağırma fonksiyonudur. Daha önce bir formül yazmışsak ve bu formülü tekrar yazmadan kullanmak istiyorsak daha önce yazdığımız formüle bir isim verdiğimize göre, bu fonksiyonu kullanarak bu formülü yeniden çağırabiliriz. Örneğin Talep Konsantrasyon Eğrisi formülünü yazmadan çağırmak için FML("TKE") yazmamız yeterlidir.
Gap Down ve Gap Up :GapDown( ) ,GapUp( )
Fiyatların düşüşe başladığında eğer boşluk bırakmışsa, boşluk oluşan güne 1 değer verilir. Dolayısıyla GapDown( ) şeklinde formülü yazdığınızda, boşluk yaparak düşüş yaptığı günler 1 değeri ile gösterilirken, diğer günler "0" değeri ile gösterilecektir. GapUp( ) formülü ise boşluk bırakarak yükseliş yaptığı günlere "1" değerini verirken, diğer günlere "0" değerini verecektir.
Highest : Formül yapısı Highest( Data Array ) şeklindedir.
En yüksek değeri bulmamıza yarayan fonksiyondur. Formül yapısı Highest( Data Array ) şeklindedir. Belirli bir dönem için en yüksek değeri bulmak istiyorsak bu formülü kullanırız. Örneğin Highest(mo(14)) formülü grafiği açılmış olan senedin bilgisayar yüklenmiş ilk tarihinden bu yana gördüğü en yüksek 14 günlük momentum değerini bulacaktır. Aynı şekilde highest(C) yazarsak, ilgili senedin geçmişinde ulaştığı en yüksek değerini bulacaktır. Tabi ki burada önemle vurgulanması gereken nokta ise elinizde 1990 yılından 2004 yılına kadar veri olabilir, fakat siz eğer 2000 yılı ile 2004 yılı arası değerleri bilgisayara yükselmişseniz yükseldiğiniz değerler içinde en yüksek kapanış değerini verecektir.
Highest High Value: Formül yapısı hhv( Data array, Periods) şeklindedir.
Bu formül de en yüksek değeri bulmamıza yardımcı olur. Fakat bir önceki formülden farkı ise şöyledir. Yukarıdaki formül bilgisayara yükselen ilk veriden itibaren tüm verileri tarayarak en yüksek değeri ararken, bu formül ile örneğin geçmiş 30 gündeki en yüksek kapanış değerini bulabiliriz. Örneğin HHV(C, 30) formülü geçmiş 30 gündeki en yüksek kapanış değerini verirken, HHV(H,45) formülü son 45 günde görülen gün içi en yüksek fiyatların en yükseğini verecektir.
Highest Bars Ago : Formül yapısı HighestBars(Data Array) şeklindedir.
Bilgisayara yüklenmiş bulunan ilk veriden itibaren görülen en yüksek değerin görüldüğü andan bu yana kaç dönem
geçtiğini bulur. Örneğin HighestBars(C) yazarsak ve günlük veri kullanıyorsak, en yüksek kapanış değerinin görülmesinden bu yana kaç gün geçtiğini verecektir. Bildiğiniz gibi bir günde gün içi en yüksek, en düşük ve kapanış değerleri vardır. Gün içinde görülen en düşük değerlerin tarihsel en yükseğini bulmak için Highestbars(L) formülünü yazabiliriz. Bu formül bilgisayar yüklenmiş ilk veriden itibaren tarama yapar.
Highest High Value Bars Ago : Formül yapısı şöyledir; HHVBars(Data Array, Periods).
Yukarıda verilen formül, ilk veriden itibaren tarama yaparken bu formül son 50 gün içinde görülen en yüksek kapanış fiyatından bugüne kadar kaç gün geçtiğini verir. Örneğin HHVBars(DI( ), 60) yazdığımızda son 60 gün içinde talep endeksinin ulaştığı en yüksek seviyeden itibaren kaç gün geçtiğini bulabiliriz. Eğer geçmiş 30 gün içinde 14 günlük olarak hesaplanan göreceli güç endeksinin gördüğü en yüksek seviyeden bugüne kaç gün geçtiğini bulmak istiyorsanız HHVbars(RSI(14),30) şeklinde formüle etmeniz gerekiyor.
Highest Since: Formül yapısı şu şekildedir. HighestSince(Nth, Expression, Data Array).
Varsayalım ki bugünkü kapanış fiyatı, kendisinin 10 günlük hareketli ortalamasını yukarı kırmıştır ve senet 5500 TL seviyesinden kapanmıştır. Siz ise şunu merak ediyorsunuz. Daha öncesinde de kapanış fiyatı 10 günlük hareketli ortalamasının üzerine çıkmıştı ve o olay sonrasında görülen en yüksek kapanış fiyatı neydi? Bu soruya cevap veren formül şu şekildedir. Bu formüldeki "," işaretleri arasına dikkat ediniz. Highestsince(2,cross(c,mov(c,10,s),c )
If :Koşullandırma Fonksiyonu: Formül yapısı şu şekildedir. If(Expression, Then DA, Else DA)).
Bir örnekle formülün kullanılışını açıklayalım. Bir gösterge geliştirmek istiyoruz ve şunları istiyoruz.
Eğer bugünkü kapanış fiyatı son 10 gündeki gün içi en düşük fiyatların basit hareketli ortalamasının altına inmişse "-1" değerini alsın
Eğer bugünkü kapanış fiyatı son 10 gündeki gün içi en yüksek fiyatların basit hareketli ortalamasının üzerine çıkmışsa "+1" değerini alsın
Eğer yukarıdaki durumlar oluşmamışsa "0" değerini alsın. Bu formülü şöyle yazarız;
If(Cross(Mov(L,10,S),C),-1,If(Cross(C,Mov(H,10,S)),+1,0))
Integer int() int( DATA ARRAY )
Inertia: Formül yapısı; Inertia(RegressionPeriods,RVIPeriods) şeklindedir.
Bu komut Inertia göstergesinin değerinin hesaplanmasını sağlar. Örneğin, Inertia(25,14) bize 25 günlük regresyon dönemi ele alınarak oluşturulan trendin, 14 günlük göreceli volatilite endeksi değeri baz alındığında, kaç değerini alacağını gösterir. Inertia değeri eğer 50'nin üzerinde çıktıysa piyasa güçlü bir artış trendine giriyor, eğer 50'nin altında çıkarsa piyasa aşağı doğru bir trende giriyor şeklinde yorum yapılabilir.
Klinger Volume Oscilattor:formül yapısı KVO() şeklindedir. Bu formül Klinger Volume Osilatörü'nün değerini hesaplar
Linear Regression Indicator: Formül yapısı LinearReg(Data Array, Periods, S Meth, S Periods) şeklindedir.
Doğrusal regresyon göstergesi değerini hesaplar. Burada "data array" neyin doğrusal regresyonunun hesaplanacağını sormaktadır. Yani kapanış, en yüksek, en düşük fiyat olabileceği gibi RSI göstergesinin de regresyon değerini hesaplatmak isteyebiliriz. "Periods" ise geriye dönük kaç günlük veri kullanılacağını göstermektedir. "S Meth" ise "Smooth method" şeklinde uzun yazılabilir. Burada hareketli ortalama yöntemlerinden biri kullanılabilir. Hareketli ortalamalar için hangi harfin hangi anlama geldiğini "hareketli ortalamalar" bölümünde bulabilirsiniz. "S periods" uzun hali "Smooth Periods" şeklindedir. Buraya hareketli ortalamanın kaç dönemli alınacağı sayı olarak ifade edilmelidir. Örneğin; Linearreg(c,50, simple, 10) yazdığımız zaman; kapanış fiyatlarının son 50 günlük verisi baz alınarak ve basit 10 dönemlik hareketli ortalama kullanılarak hesaplanacak doğrusal regresyon değeri bulunur. Eğer, Linearreg(c,50) yazarsak yine kabul edilir. Fakat hareketli ortalama hesaplanmaz.
Linear Regression Slope: Formül yapısı şöyledir; LinRegSlope(Data Array, Periods).
Yukarıda verilen doğrusal regresyon değerindeki "eğimi" hesaplar.
Lowest: Formül yapısı Lowest( Data Array ) şeklindedir.
En düşük değeri bulmamıza yarayan fonksiyondur. Belirli bir dönem için en yüksek değeri bulmak istiyorsak bu formülü kullanırız. Örneğin Lowest(mo(14)) formülü grafiği açılmış olan senedin bilgisayar yüklenmiş ilk tarihinden bu yana gördüğü en düşük 14 günlük momentum değerini bulacaktır. Aynı şekilde lowest(C) yazarsak, ilgili senedin geçmişinde ulaştığı en düşük değerini bulacaktır.
Lowest Low Value: Formül yapısı llv( Data array, Periods) şeklindedir.
Bu formül de en düşük değeri bulmamıza yardımcı olur.
Lowest Bars Ago : Formül yapısı lowestBars(Data Array) şeklindedir.
Bilgisayara yüklenmiş bulunan ilk veriden itibaren görülen en düşük değerin görüldüğü andan bu yana kaç dönem geçtiğini bulur.
Lowest low Value Bars Ago : Formül yapısı şöyledir; LLVbars(Data Array, Periods).
Yukarıda verilen formül, ilk veriden itibaren tarama yaparken bu formül son 50 gün içinde görülen en düşük kapanış fiyatından bugüne kadar kaç gün geçtiğini verir.
Lowest Since: Formül yapısı şu şekildedir. LowestSince(Nth, Expression, Data Array).
Lowest Since Bars Ago: Formül yapısı şu şekildedir;Lowestsincebars(Nth, Expression, Data Array).
MACD: Macd Göstergesinin değerini hesaplar. Formül yapısı MACD() şeklindedir.
Mass Index: Mass index değerini hesaplar, formül yapısı Mass(Periods) şeklindedir.
Median Price: Medyan fiyat değerini hesaplar formül yapısı MP() şeklindedir.
Midpoint : Formül yapısı Mid(Data Array, Periods) şeklindedir.
Belirli bir süre için, fiyatların orta noktasını hesaplar. Örneğin; Mid(c,15) yazılmışsa son 15 gün içindeki en düşük kapanış ve en yüksek kapanış değerlerini toplar ve bunu ikiye bölerek midpoint rakamını bulur.
Momentum:Formül yapısı mo(Periods) şeklindedir.
momentum Göstergesinin değerini hesaplar. Mo(14) yazdığınızda 14 günlük momentum değerini hesaplar.
Money Flow Index:Formül yapısı mfi(Periods) şeklindedir.
Para Akım Endeksi Göstergesinin değerini hesaplar. Formül yapısı mfi(Periods) şeklindedir.
Moving Average:Formül yapısı mov(Data array, periods, method) şeklindedir.
Hareketli Ortalama değperini hesaplar. Örneğin, mov(c,25, S) formülü 25 günlük basit hareketli ortalama değerini
Negative Volume Index: NVI(Data Array)
On Balance Volume : OBV(Data Array)
Parabolic SAR: SAR(Step, Maximum)
Performance: Formül yapısı Per(Data Array) şeklindedir.performans göstergesi değerini hesaplar.
Polarized Fractal Efficiency: PFE(Data Array, Periods, Smoothing Periods)
Positive Volume Index: Formül yapısı PVI(Data Array) şeklindedir.
Pozitif işlem hacmi endeksinin değerini hesaplar. PVI(15) yazıldığında 15 günlük pozitif volume indeks hesaplanır.
Power:Formülü, Power(Data Array, Power) şeklindedir.
Bir sayının üssel kuvvetini almak için kullanılır. Örneğin power(c,2) yazıldığında kapanışların kareleri hesaplanır.
Previous Value of Indicator:
Eğer bir göstergenin önceki değerini bir formül içinde kullanmak istiyorsanız "PREVIOUS" yazmanız yeterlidir.
Price Channel High: Formül yapısı PriceChannelHigh(Periods) şeklindedir.
Bu formül ile kapanış fiyatının üzerinde bir bant oluşturulur. Örneğin Pricechannelhigh(15) yazdığımız zaman son 15
gün içinde görülen dönemlik en yüksek fiyatların da en yükseği baz alınarak bir üst bant çizilir.

Price Channel Low: Formül yapısı PriceChannellow(Periods) şeklindedir.
Bu formül ile kapanış fiyatının altında bir bant oluşturulur.Örneğin Pricechannellow(15) yazdığımız zaman son 15 gün içinde görülen dönemlik en düşük fiyatların da en düşüğü baz alınarak bir alt bant çizilir.
Price Oscillator: Formül yapısı OscP(Periods, Periods, E S T TRI VAR W,% $) şeklindedir.
Fiyat osilatörü göstergesinin değerini bulur. Burada verilen tanımlamalar hareketli ortalama bölümünde açıklanmıştır. İki tane "periods" verilirken ilki kısa dönem, ikincisi ise daha uzun döne hareketli ortalama hesaplanması için gerekli periyotlardır. Örneğin OscP(5, 15, E, %) yazdığımızda 15 günlük üssel hareketli ortalama € ile 5 günlük üssel hareketli ortalama arasındaki yüzde değişim değeri hesaplanacaktır.
Projection Band Bottom: Formül yapısı ProjBandBot(Periods) şeklindedir.
Projeksiyon osilatörü göstergesi ile hesaplanmış alt bant değerini verir.
Projection Band Top: Formül yapısı ProjBandTop(Periods) şeklindedir.
Projeksiyon osilatörü göstergesi ile hesaplanmış üst bant değerini verir.
Projection Oscillator: Formül yazılımı ProjOsc(Regression Periods, Slowing Periods) şeklindedir.
Projesiyon osilatörü değerini hesaplar. Örneğin, ProjOsc(21,5) yazdığımızda 21 günlük projeksiyon osilatörünün 5 günlük yavaşlatılmış değerini verecektir.
R squared:Formül yapısı RSquared(Data Array, Periods) şeklindedir.
Belirli bir fiyat hareketinin trendinin gücünü verir. Eğer Rsquared(c,21) yazarsanız, kapanış değerlerinin son 21 gündeki trend gücünü bulursunuz.
Rate of Change:Formül yapısı ROC(Data Array, Periods, %, $) şeklindedir.
Belirli bir veri için, belirli bir dönem aralığında değişim yüzdesini bulmamıza yarar. Örneğin, ROC(c,12,%) yazıldığında kapanış fiyatının 12 gün önceye göre % değişimi hesaplanacaktır. ROC(mo(14),10,%) yazıldığında ise 14 gün baz alınarak hesaplanmış momentum değerinin 10 gün önceye göre yüzde değişimi hesaplanacaktır.
Reference: Formül yazılımı ref(data array, periods) şeklindedir.
Referans Fonksiyonudur. Belirli bir değişkenin önceki değerlerini referans olarak almak istediğinizde kullanırsınız. Örneğin, ref(c,-5) yazıldığında 5 gün önceki kapanış fiyatı değeri referans olarak alınır. Bir başka örnek olarak Ref(RSI15), -10) yazıldığında 15 günlük RSI göstergesinin 10 gün önceki değeri baz alınacaktır.
Relative Strength Index :Formül yazılımı RSI(Periods) şeklindedir.
Göreceli Güç Endeksi Göstergesinin değerini hesaplar. Örneğin RSI(28) demek, 28 günlük göreceli güç endeksi göstergesi değeridir.
Relative Volatility Index: Formül yapısı şöyledir; RVI(Periods).
Göreceli volatilite endeksi rakamını hesaplar. Dolayısıyla RVI(15) yazdığımızda 15 günlük göreceli volatilite endeksi rakamı hesaplanacaktır.
Square Root: Formül yapısı Sqrt(Data Array) şeklindedir.
Belirli bir verinin kare kökü alınmak istendiğinde bu formül kullanılır. Örneğin Sqrt(RSI(14)) yazıldığında, 14 gün baz alınarak hesaplanmış olan RSI değerinin karekökü alınacaktır.
Standard Deviation : Formülü Stdev(data array, periods) şeklindedir.
Standart Sapma değerini hesaplar. Örneğin, stdev(c,20) son 20 gün baz alınarak kapanış değerlerinin Standard sapmasını verecektir.
Standard Error Band Bottom:Formül yapısı STEBandBot(Data Array, Pds, Std Error, Smooth Method, Smooth Periods) şeklindedir.Belirlenen bir verinin, belirlenen bir hareketli ortalaması ve standart hatasını bularak, alt bant değerlerini hesaplatmak istediğinizde bu formülü kullanırsınız. Bu formüldeki "Smooth method" ve "smooth Periods" seçenekleri isteğe bağlıdır, yani bunların yerine rakam yazmasanız da olur. Örneğin, stebandbot(c,21,2,s,10) yazdığımızda son 21 gün baz alınarak kapanış değerlerinin standart hatası hesaplanacak ve 21 gün baz alınarak hesaplanmış basit (s) hareketli ortalamadan 2 standart sapma aşağısındaki değer bulunmuş olacaktır. Aynı ifade stebandbot(c,21,2) şeklinde de yazılabilir.
Standard Error Band Top:Formül yapısı STEBandTop(Data Array, Pds, Std Error, Smooth Method, Smooth Periods) şeklindedir.Belirlenen bir verinin, belirlenen bir hareketli ortalaması ve standart hatasını bularak, üst bant değerlerini hesaplatmak istediğinizde bu formülü kullanırsınız. Bu formüldeki "Smooth method" ve "smooth Periods" seçenekleri isteğe bağlıdır. Örneğin, StebandTop(c,21,2,s,10) yazdığımızda son 21 gün baz alınarak kapanış değerlerinin standart hatası hesaplanacak ve 21 gün baz alınarak hesaplanmış basit (s) hareketli ortalamadan 2 standart sapma yukarısındaki değer bulunmuş olacaktır. Aynı ifade StebandTop(c,21,2) şeklinde de yazılabilir.
Standard Error:Formül yapısı STE(Data Array, Periods) şeklindedir.
Belirli bir değişken yada verinin standart hatasını hesaplatmak istediğinizde bu formülü kullanırsınız. Örneğin (MACD(),18) yazdığınızda son 18 günde elde edilen MACD değerleirnin standart hatası hesaplanırken, STE(C,21) yazdığınızda kapanış değerlerinin son 21 gün baz alınarak standart hatası hesaplanacaktır.
Stochastic Momentum Index:Formül yapısı StochMomentum(Periods, Smoothing, Double Smoothing) şeklindedir.
Stokastik momentum indeks göstergesi değerini hesaplar. Örneğin StochMomentum(14,7,7) yazdığımızda, 14 günlük stokastik momentum endeksinin 7 günlük yavaşlatılmış (hareketli ortalaması alınmış) halinin 7 günlük yavaşlatılmış hali hesaplanmış olacaktır. StochMomentum(13,25,2)'yi hesaplatmak istediğinizde aslında Aşağıdaki formülü kullanmış oluyorsunuz.
100 * ( Mov( Mov(C - (0.5 * ( HHV(H,13) + LLV(L,13))),25,E),2,E) / (0.5*Mov( Mov( HHV(H,13) - LLV(L,13),25,E),2,E)))
Stochastic Oscillator: Formül yapısı stoch(%k periods, %K Slowing) şeklindedir.
Stokastik Osilatörü Göstergesini hesaplar Formül yapısı stoch(%k periods, %K Slowing) şeklindedir. stoch(14,6) Stokastik Osilatörünün 14 günlük 6 gün yavaşlatılmış değeri anlamına gelmektedir
Summation: sum(c,12) 12 gün önceki fiyattan başlayarak bugüne kadarki kapanış fiyatlarının üst üste toplamını verecektir.
Time Series Forecast:Formül yapısı TSF(Data Array, Periods) şeklindedir.
Verilen bir seri için, zaman serileri tahmin değerini hesaplar. Örneğin, TSF(C,21) formülü geçmiş 21 günlük kapanış değerleri kullanılarak hesaplanmış olan zaman serisi regresyon denkleminin yarın ki kapanış değeri tahminini verecektir.
Trade Volume Index:Formül yapısı TVI(Data Array, Minimum Tick) şeklindedir.
Alım-satım işlem hacmi endeksi değerini hesaplar. Burada örneğin TVI(C,100) yazdığınızda 100 liralık dilimler kullanılarak alım satım işlem hacmi endeksi hesaplanacaktır. Bu gösterge için hesaplatma yapılırken, kademe değerleri baz alınmalıdır.
TRIX: Formül yazılışı TRIX(Data Array, Periods) şeklindedir.
Trix göstergesi değerinin hesaplanmasını sağlar. Örneğin Trix(C,15) formülü kapanış fiyatlarının 15 gün baz alınarak hesaplanmış trix değerlerini vrecektir.
Ultimate Oscillator:Formül yapısı ise ult( Dönem1, Dönem2, Dönem3) şeklindedir.
Ultimate osilatörü göstergesinin değerini hesaplar. Formül yapısı ise ult( Dönem1, Dönem2, Dönem3) şeklindedir. Burada dönemler en küçükten en büyüğe doğru sıralanmalıdır. Örneğin ult(7,14,21) formülü ultimate osilatörü değerini 7,14,21 günlük periyodu baz alarak hesaplayacaktır.
Value When: Formül yapısı ValueWhen(Nth, Expression, Data Array) şeklindedir.
Belirli, bir olay gerçekleştiği anda bir başka şeyin değerini baz almak istiyorsanız bu formülü kullanırsınız. Örneğin, fiyatlar 15 günlük hareketli ortalamasını en son yukarı kırdığında acaba RSI(10) günlük değeri neydi diye merak ediyorsak bu formülü kullanırız. Bu formülü yazmak istediğimizde şu yazılımı elde ederiz. valuewhen(cross(c,mov(c,15,e)),RSI(10). Bir başka örnek olarak şunu verebiliriz. Kapanış fiyatları, 15 günlük basit hareketli ortalamasının üzerine çıktığı andaki fiyat değeri nedir sorusuna cevabı veren formül şöyledir; valuewhen(cross(c,mov(c,15,s)),c). Variance: Varyans değerinin hespalanmasını sağlar. Formül yapısı Var(Data Array, Periods) şeklindedir. Örneğin Var(c,21) formülü, kapanış değerlerinin son 21 günlük verisi kullanılarak hesaplanan varyans değerini verir.
Vertical Horizontal Filter:Formül yazılımı VHF(Data Array, Periods)şeklindedir.
Dikey yatay filtre göstergesinin değerini hesaplar.
Volume Oscillator: Formül yapısı OscV(Periods,Periods,E S T TRI VAR W,% $) şeklindedir.
İşlem hacmi osilatörünün değerini hesaplar. Ayrıntılı bilgi ve formül mantığı için "fiyat osilatörü" formülünü inceleyiniz.
Williams % R: Formül yapısı WillR(Periods) şeklindedir.
Williams %R göstergesinin değerini hesaplar. Örneğin willR(14) yazdığınızda 14 günlük williams %R gösterge değeri hesaplanmış olacaktır.
Zig Zag: Formül yapısı Zig(Data Array, Change, % -$) şeklindedir.
Zigzag göstergesi değerini hesaplar. Formül yapısı Zig(Data Array, Change, % -$) şeklindedir. Örneğin Zig(c,5,%) yazdığımızda fiyatlar aşağı yada yukarı yönde yüzde 5 değiştiğinde zigzag değeri değişecektir.
yukarıdaki metastock yazım dili ifadelerini kopyalayıp kendi bilgisayarınıza text olarak kaydederseniz daha hızlı kontrol yapabilirsiniz.
 
Son düzenleme:

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap
Başlatan Benzer Konular Forum Cevap Tarih
O Metastock Matriks 0
N Metastock Matriks 1
D # 1
Bogac Kurgusal Stratejiler - Beyin Fırtanası 3
algoritma Metastock 6
algoritma Matriks 29
algoritma Matriks 0
algoritma Metastock 5
algoritma Metastock Matriks 1
algoritma Matriks 4
S Metastock Matriks 3
algoritma Matriks 0
algoritma Matriks mi iDeal mi Metastock mu Amibroker mu❓ 0
algoritma Metastock 0
algoritma M 0
algoritma M 1
algoritma M 0
algoritma M 0
algoritma M 0
algoritma A 0