Algolab Nasıl Kullanılır?

turkiyenin-ilk-online-algoritmik-islem-platformu

Size daha iyi, hızlı ve güvenli bir kullanım sağlamak amacıyla web sitemizde çerezleri kullanıyoruz.
Gerçekleştirilen işlemlerin log kayıtları alınmakta ve geriye dönük saklanmaktadır.
Çerezleri kapatmak için “Ayarlar/Gizlilik/İçerik Ayarları/Çerez kullanımını kapat” seçeneğini kullanabilirsiniz. Ayrıntılı bilgi için Çerez Politikasını inceleyiniz..

check_circle_outline highlight_off

Yatay görüntülenmeyi henüz destekleyemiyoruz.
Mobil bir cihaz kullanmıyorsanız devam edebilirsiniz.

Devam Et
GİRİŞ YAP KAYIT OL arrow_backŞİFRE YENİLEME
account_circle
lock
Captcha image
Beni Hatırla
vpn_key Şifremi Unuttum
Şifre yenileme mesajınız mail adresinize gönderilecektir.
email
Captcha image
DENİZYATIRIM MÜŞTERİSİ
Şifremi Unuttum
Deniz Yatırım

DenizBank hesabınız varsa hızlıca bağlanın!

account_circle
lock
Captcha image
Veya
close

Hareketli Ortalama

İndikatör 01.20.2023

Hareketli Ortalama Nedir?

    Hareketli Ortalama indikatörü Dünya'nın en çok kullanılan bir trend takip indikatörüdür. Hareketli Ortalama indikatörünün birçok hesaplama türü bulunur. "Basit", "Üssel", "Ağırlıklı" ortalama bunlardan bazılarıdır. Basit hesaplamalar yapmasına rağmen son derece kullanışlı bir indikatördür.

    1. Basit Hareketli Ortalama (MA): Bir finansal ürünün, belirlenen dönem içerisindeki fiyat hareketlerinin ortalaması alınarak oluşturulan hareketli ortalamadır. Basit hareketli ortalama kapanış fiyatlarını dikkate almaktadır. Örneğin; 5 günlük basit hareketli ortalama 5 günlük kapanış fiyatlarının toplanarak 5’e bölünmesi ile elde edilmektedir.

    2. Ağırlıklı Hareketli Ortalama (WMA): Bir finansal ürünün, belirlenen dönem içerisindeki fiyat hareketlerinin belirlenen ağırlıklara göre ortalaması alınarak hesaplanan hareketli ortalamadır.

    3. Üssel Hareketli Ortalama (EMA): Bir finansal ürünün, belirlenen dönem içerisindeki fiyat hareketlerinin ortalaması alınarak, yakın dönemdeki fiyat hareketlerine daha fazla ağırlık verilerek hesaplanan hareketli ortalamadır. Ağırlıklandırma yapıldığından dolayı üssel hareketli ortalama daha az gecikmeli bir hareketli ortalama olarak sayılmaktadır.

Hareketli Ortalama Nasıl Kullanılır?

    İndikatörün kullanılan periyota göre çok değişkenlik göstermesine rağmen çoğu zaman fiyat ile benzer hareket etmektedir. Kullanımında birçok varyasyon denenebilmektedir. Örneğin 20 periyotluk bir hareketli ortalama ile 5 periyotluk bir hareketli ortalama kesişiminden, 10 periyotluk bir MA'nın fiyat ile kesişiminden veya iki adet MA'nın birbirlerden olan uzaklıkları belli bir değeri geçtiğinde sinyal üretilebilir.

     Golden Cross: Kısa vadeli hareketli ortalama çizgisinin uzun vadeli çizgiyi aşağıdan yukarı doğru kırmasıdır. Bu durum, yükseliş trendi olarak değerlendirilir.

     Death Cross: Kısa vadeli hareketli ortalama çizgisinin uzun vadeli çizgiyi yukarıdan aşağıya doğru kırmasıdır. Bu durum, düşüş trendi olarak değerlendirilir.

    

KODLAMA EDİTÖRÜ ÖRNEĞİ

//Çalıştırmak istediğiniz stratejiyi bu alanda kodlayabilirsiniz. public string Symbol="ASELS"; public string Period="1"; public string SonYon=""; public void Load() { SubscribePrice(Symbol); } public void PriceChanged(Tick t) { var candles=GetCandles(Symbol, Period); // Bar Getirme Fonksiyonu var C=Engine.GetPriceList(candles, PriceFields.Close); //Fiyat Listesini Getirme Fonksiyonu var indikator=Engine.MovingAverage(C, MovingAverageMethods.Simple, 14); // 1 çizgisi mevcuttur. //Alış Koşulu (Tamamen Örnek Amaçlıdır.) if(t.Price<Engine.LastValue(indikator) && SonYon==""){ SonYon="A"; SendMessage(MessageTypes.Log, Engine.LastValue(indikator).ToString()); //Log Yazdırma Fonksiyonu SendOrder(Symbol, Directions.BUY, 1, PriceTypes.Market); //Emir Gönderme Fonksiyonu } //Satış Koşulu (Tamamen Örnek Amaçlıdır.) else if(t.Price>Engine.LastValue(indikator) && SonYon=="A"){ SonYon=""; SendMessage(MessageTypes.Log, Engine.LastValue(indikator).ToString()); //Log Yazdırma Fonksiyonu SendOrder(Symbol, Directions.SELL, 1, PriceTypes.Market); //Emir Gönderme Fonksiyonu } } public void OrderStatusChanged(Order o) { }