Teknik Analiz Dünyasına Hoşgeldiniz

Paylaşmak Güzeldir.

  • 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.
  • Mucize teknik gösterge yoktur, sadece doğru veya yanlış kullanılan göstergeler vardır.

İndikatör Calendar Days <-> Bar Periods by Jose Silva

Teknik analizde fiyatın yönü veya trendin devamıyla ilgili fikir veren matematiksel modellerdir. İndikatörlerin Türkçe karşılığı göstergedir.

algoritma

e iπ +1=0
Katılım
23 Eki 2020
Mesajlar
1,338
Puanları
48
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: Jose Silva <josesilva22 [at] yahoo [dot] com>
To: equismetastock [at] yahoogroups [dot] com <equismetastock [at] yahoogroups [dot] com>
Date: Sunday, July 30, 2006, 6:43:32 AM
Subject: [EquisMetaStock Group] Calendar days <-> bar periods
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This MetaStock utility indicator converts chart bar periods to calendar Days/Weeks and vice versa.

Useful for creating indicators such as Moving Averages based on calendar periods rather than the (default) bars.

MetaStock -> Tools -> Indicator Builder -> New -> Copy and paste formula below.​


Calendar Days <-> Bar Periods

{ Bars <--> Calendar Week/Day, period converter.

Incorporating Gregorian calendar Week/Day
counter v3.0 - period count is independent
of any missing chart data.

CCopyright 2002~2006 Jose Silva.
The grant of this license is for personal use
only - no resale or repackaging allowed.
All code remains the property of Jose Silva.
http://www.metastocktools [dot] com }

{ User inputs }
pds:=Input("Conversion Periods",1,2520,21);
choose:=Input("[1]Bars -> CalendarPeriods, [2]CalPds ->
Bars",1,2,1);
use:=Input("Calendar Periods: [1]Days, [2]Weeks",1,2,1);
adj:=Input("Week's start: [0]Sunday, [1]Monday",0,1,1);

{ Calendar counter engine }
leap:=Frac(Year()/4)=0 AND Frac(Year()/100)<>0
OR Frac(Year()/400)=0;
y:=Year()*365+Int(Year()/4)
-Int(Year()/100)+Int(Year()/400)-730484;
m:=
If(Month()=2,31-leap,
If(Month()=3,59,
If(Month()=4,90,
If(Month()=5,120,
If(Month()=6,151,
If(Month()=7,181,
If(Month()=8,212,
If(Month()=9,243,
If(Month()=10,273,
If(Month()=11,304,
If(Month()=12,334,
-leap)))))))))));
DayNr:=y+m+DayOfMonth();
adj:=adj+If(DayNr<1,1,2)
-(Frac(Year()/100)=0 AND Frac(Year()/400)<>0);
WkCount:=Int((DayNr-adj)/7)+(Year()>=2000);
{ Choose Days/Weeks }
Cal:=If(use=1,DayNr,WkCount);
{ Bars -> Calendar Days/Weeks, average }
calendar:=Cal-Ref(Cal,-pds);
avgCal:=Cum(calendar)/Cum(IsDefined(calendar));
{ Calendar Days/Weeks -> Bars }
bars:=pds
/((Cal-ValueWhen(1,Cum(1)=1,Cal)+1)/Cum(1));
{ Choose Bars->CalPds or CalPds->Bars }
convert:=If(choose=1,calendar,bars);
avg:=Int(If(choose=1,avgCal,bars)*10+.5)/10;
{ Plot in own window }
Int(convert*10+.5)/10;avg​

Source / From:
equismetastock [at] yahoogroups [dot] com​
 

Forumda 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