
Bollinger Bands göstergesine dayalı bir ticaret sistemi nasıl geliştirilir?
Giriş
Ticaret dünyasında, ticaret hedeflerine ulaşmak için lehimize kullanabileceğimiz birçok yöntem ve araç vardır. Bu yöntemler ve araçlar piyasa koşullarına göre veya piyasa durumuna göre farklı şekillerde kullanılabilir.
Kullanılan yöntemlerden biri bantlarla ticaret yapmaktır. Bantlarla ticaret yapmanın ana fikri, iki banttan oluşan koridor arasında ticaret işlemleri gerçekleştirmektir. Bu yöntemle kullanılan araçlardan biri ise Bollinger Bands göstergesidir. Bu gösterge, teknik analiz ve ticaret dünyasında kullanılan en popüler göstergelerden biridir.
Bu makalede, Bollinger Bands göstergesinin ne olduğundan, nasıl hesaplandığından ve onu ticarette nasıl etkin bir şekilde lehimize kullanabileceğimizden bahsedeceğiz. Böylece, bu göstergeyi stratejinize uygun olarak nasıl kullanabileceğinizi öğrenmiş olacaksınız. Sonrasında da, Bollinger Bands göstergesini doğru ve kolay bir şekilde kullanarak nasıl ticaret sistemi geliştirebileceğimizden bahsedeceğiz. Dolayısıyla, şu konuları ele alacağız:
- Bollinger Bands göstergesinin tanımı
- Bollinger Bands göstergesi stratejileri
- Bollinger Bands göstergesine dayalı ticaret sistemi geliştirme
- Sonuç
- Referanslar
Bollinger Bands göstergesi verilerin ortalama etrafındaki dağılımını ölçer. Bu gösterge John Bollinger tarafından oluşturulmuştur. Gösterge, 20 günlük hareketli ortalama etrafında çizilen iki banttan oluşur - bu bantlar, verilerin (fiyatların) ortalama (hareketli ortalama) etrafındaki dağılımını yansıtır.
Bollinger Bands göstergesi, Envelopes göstergesiyle (bu gösterge de fiyatların etrafında iki banda sahip olduğundan) aynıymış gibi görünebilir. Ancak aynı değillerdir, bu iki gösterge arasındaki fark şu şekildedir: Envelopes göstergesinin bantları hareketli ortalamadan sabit bir yüzdelik mesafede çizilirken, Bollinger Bands göstergesinin bantları belirli standart sapmaya bağlı olarak hareketli ortalamadan uzaklaşıp yaklaşır. Bu ve diğer detaylara “Bollinger Bands göstergesinin tanımı” bölümünde bahsedeceğiz.
Devamında, “Bollinger Bands göstergesi stratejileri” bölümünde, Bollinger Bands göstergesini ticarette en iyi şekilde nasıl kullanacağımızı inceleyeceğiz.
Ardından da “Bollinger Bands göstergesine dayalı ticaret sistemi geliştirme” bölümünde stratejilerin algoritmik ticaret sistemine nasıl uygulanacağını analiz edeceğiz.- Bu makaledeki tüm kodlar MQL5'te yazılacak ve MetaTrader 5 platformunda çalıştırılacaktır.
- Pratik yapmak ve konuyu daha iyi anlamak istiyorsanız, makalede anlatılan kodları kendiniz yazıp çalıştırmanızı tavsiye ederim.
- Bu nedenle, kodları yazmak için MetaEditor'a, kodları çalıştırmak için de MetaTrader 5 platformuna ihtiyacınız olacak.
MetaTrader 5 platformunu bilgisayarınıza kurmak için şu linkten dağıtım paketini indirin:https://www.metatrader5.com/en/download. Kurulumdan sonra aşağıdaki MetaTrader 5 platformu penceresi görünecektir:
- Uzman Danışman yazmak için yeni bir dosya açar
- Özel gösterge yazmak için yeni bir dosya açar
- Komut dosyası yazmak için yeni bir dosya açar
Daha fazla bilgi için şu linkten bir önceki makalemi okuyabilirsiniz: https://www.mql5.com/tr/articles/10293
Farklı açıklamalarımda her zaman belirttiğim gibi, programlama veya kodlama, otomatik olarak yürütülen doğru eylemlerle hayatımızı kolaylaştırmamızı ve sorunsuz hale getirmemizi sağlayan harika bir araçtır. Bu nedenle, hayatın farklı alanlarında istenilen hedeflere ulaşmak adına doğru şekilde kullanmayı öğrenmek için kod yazma alanına yatırım yapmak gerçekten önemlidir.
Ticaret alanı söz konusu olduğunda, bilgisayara yapmak istediğiniz şeyi yapması için talimatlar verip gerekli olduğu zaman bilgisayar herhangi bir itiraz olmaksızın tam olarak isteğinizi gerçekleştirdiğinde ve böylece hayatınızda geri kalan her şeyi rahatlıkla yapabildiğinizde hayatın nasıl kolay ve keyifli olabileceğini bir hayal edin. Dolayısıyla kod yazmayı öğrenmeye ve otomatik programlar oluşturmaya zaman ayırmak mantıklıdır.
Sorumluluk reddi
Bu makalenin tüm içeriği yalnızca eğitim amaçlıdır, başka herhangi bir amaca yönelik değildir. Dolayısıyla, bu makalenin içeriğine dayalı olarak gerçekleştireceğiniz her şey, yalnızca kendi sorumluluğunuzda ve riskinizde olacaktır, bu makalenin içeriği herhangi bir sonucu garanti etmemektedir.
Bollinger Bands göstergesiyle algoritmik ticaret hakkında daha fazla bilgiye erişmek için hadi makale bölümlerimize başlayalım.
Bollinger Bands göstergesinin tanımı
Bantlarla ticaret yapma yöntemi oldukça yaygındır, uzun geçmişe sahip bu fikir çok çeşitli enstrümanlarda kullanılmaktadır. Temel olarak, bantlar, trend ölçütünün üzerine ve aşağısına çizilmesine dayanır.
Örneğin, Envelopes göstergesinde olduğu gibi bantlar hareketli ortalamadan belirli bir yüzde uzakta olacak şekilde çizilebilir. Ya da geri dönüş noktalarını tespit etmek amacıyla fiyatların üzerine ve aşağısına iki paralel bant çizilerek kanallar oluşturulabilir. Ancak bantları kullanan bu tür araçların dezavantajı, bantların trend ölçütünden devamlı olarak belirli bir sabit uzaklıkta olmasıdır, bu uzaklığın fiyat hareketlerine tepki vermemesidir. Başka bir deyişle, fiyat hareketleriyle birlikte bantların trend ölçütüne olan uzaklığı artmaz veya azalmaz.
Bollinger Bands göstergesi ise özel hesaplamaya sahip olmasıyla bunu yapabilir. Bollinger Bands göstergesinin nasıl hesaplandığına ilişkin detayları bu bölümde inceleyeceğiz.
Yukarıdaki görüntüde görebileceğiniz gibi, fiyatları çevreleyen iki bant vardır: alt bant fiyatları aşağıdan, üst bant ise fiyatları yukarıdan çevreler. Bantlarla ticaret yapma yönteminin en yaygın olan araçları, bantların trend ölçütünden belirli bir yüzde uzaklıkta olanlarıdır. Ancak yukarıda bahsettiğim gibi bu araçların önemli bir dezavantajı vardır.
Bu nedenle, bantlarla ticaret yapma yönteminde bu dezavantajı aşmak için zamanla gelişmeler olmuştur. Bu gelişmelerden biri de Bollinger Bands göstergesidir. Hesaplama özelliği, bantların trend ölçütüne yaklaşmasına ve uzaklaşmasına izin verdiğinden, ilgili dezavantajı aşmasına olanak sağlar.
Bollinger Bands göstergesi, 1980'lerin başında, finansal piyasalar ve ticaret alanında tanınmış bir uzman olan John Bollinger tarafından oluşturulmuştur. Kendisi, CFA (Chartered Financial Analyst, Yetkili Finansal Analist) ve CMT (Chartered Market Technician, Yetkili Piyasa Uzmanı) unvanlarına sahiptir.
Bollinger Bands göstergesi, volatiliteyi ölçen popüler bir teknik göstergedir. Piyasanın durumuna bağlı olarak genişleyebilir ve daralabilir. Herhangi bir finansal piyasada kullanılabilir - forex, hisse senetleri vb. Şimdi, Bollinger Bands göstergesinin nasıl oluşturulduğu hakkında konuşalım:Önceden açıkladığım gibi, herhangi bir bandın çizilebilmesi için, önce merkezi trend ölçütünün çizilmesi gerekir. Daha sonra bu ölçütün üzerine ve aşağısına bantlar çizilir. Bollinger Bantları göstergesinde bu merkezi trend ölçütü, basit hareketli ortalamadır ve aralık da, volatiliteye dayalı standart sapma ile belirlenir.
Bollinger Bands göstergesi:
- Verilerin ortalama (Moving Average) etrafındaki dağılımını ölçer.
- Bir volatilite göstergesidir.
- Bollinger Bands, bantların hareketli ortalamadan sabit bir mesafede çizilmemesi, esnek olması, volatiliteye dayalı şekilde belirli bir standart sapmaya bağlı olarak hareketli ortalamaya uzaklaşıp yaklaşması bakımından Envelopes veya bantları yüzdelik uzaklıkta çizen diğer benzer göstergelerden farklıdır.
- Volatilite arttığında bantlar otomatik olarak genişler, volatilite azaldığındaysa bantlar otomatik olarak daralır. Bu dinamik yapı, göstergenin standart ayarlarla çeşitli enstrümanlarda kullanılmasına olanak tanır.
- Genel olarak Bollinger Bands göstergesi piyasaya giriş ve çıkış noktalarını belirlemek için kullanılır.
- Ayrıca, bantlar aşırı alış ve aşırı satış durumlarını tespit etmek için de kullanılabilir.
- Ve ek olarak, M-Piklerini ve W-Diplerini saptamak veya trendin gücünü belirlemek amacıyla da kullanılabilir.
Gün | Kapanış fiyatı ($) |
---|---|
1 | 20 |
2 | 30 |
3 | 35 |
4 | 30 |
5 | 40 |
6 | 45 |
7 | 50 |
8 | 55 |
9 | 40 |
10 | 45 |
11 | 50 |
12 | 35 |
13 | 40 |
14 | 50 |
15 | 60 |
16 | 65 |
17 | 70 |
18 | 60 |
19 | 70 |
20 | 75 |
Ayarlar:
Peki Bollinger Bands göstergesini farklı ayarlarda kullanarak ticaret stratejimize ve hedeflerimize göre optimize etmek mümkün mü? Evet, elbette, ancak iyi bir sonuç elde etmek için her zaman tüm ayarları kontrol etmeli ve test etmelisiniz. Ayrıca Bollinger, standart sapma çarpanında küçük bir ayarlama yapılmasını da önermektedir. Ek olarak, hareketli ortalamanın periyodunu değiştirmenin standart sapmayı hesaplamak için kullanılan periyodu etkilediğini de unutmamanız gerekir. Bollinger ayrıca, periyodu 50 olan basit hareketli ortalama kullanılıyorsa standart sapma çarpanını 2,1'e yükseltmeyi ve periyodu 10 olan basit hareketli ortalama kullanılıyorsa standart sapma çarpanını 1,9'a düşürmeyi de önermektedir.
1. Hareketli ortalamanın hesaplandığı periyot.
2. Üst ve alt bantları ayarlamak için sapma parametresi.
3. Hesaplama için kullanılacak fiyat türü (kapanış, açılış, yüksek, düşük, medyan, tipik, ağırlıklı).
4. Göstergeyi grafikte gösterme stili (göstergenin çizgilerinin rengi, türü ve kalınlığı).
5. Göstergeye uygulanacak kayma.
Bu ayarları stratejinize göre ayarlayın.
Ayarladıktan ve Tamama tıkladıktan sonra, gösterge grafikte görüntülenecektir:
Bollinger Bands göstergesi stratejileri
Bu bölümde Bollinger Bands göstergesi stratejileri hakkında konuşacağız ve bu stratejileri faydalı bir şekilde ticaretimizde nasıl kullanacağımıza değineceğiz.
Bollinger Bands göstergesi, farklı piyasa koşullarında ve piyasa hareketlerinde kullanım için uygundur: yükseliş trendinde, düşüş trendinde veya yatay harekette. Ve her piyasa koşulunda kullanabileceğimiz birçok stratejiye sahiptir, ancak burada bunlardan bazılarını ele alacağız.
- Yükseliş trendinde
Öncelikle, fiyatların yükseliş trendinde hareketli ortalamayla nasıl ilişkide olduğunu anlamamız gerekir: fiyatlar yükseliş trendi sırasında çoğu zaman hareketli ortalamanın üzerinde hareket eder.
Dolayısıyla, fiyatların yükseliş trendinde çoğu zaman hareketli ortalama ile üst bant arasında hareket ediyor olduğunu görürüz. Yükseliş trendi boyunca piyasa alıcıların kontrolünde olduğundan fiyatlar daha yüksek pikler ve daha yüksek çukurlar yaparak hareket edecektir.
- Fiyat hareketli ortalamayı aşağıdan yukarıya doğru çaprazladığında alış yaparız. Kapanış hedefi ise üst bant.
- Fiyat > MA = Alış, üst bant = hedef
- Düşüş trendinde
Öncelikle, fiyatların düşüş trendinde hareketli ortalamayla nasıl ilişkide olduğunu anlamamız gerekir: fiyatlar düşüş trendi sırasında çoğu zaman hareketli ortalamanın altında hareket eder.
Dolayısıyla, fiyatların düşüş trendinde çoğu zaman hareketli ortalama ile alt bant arasında hareket ediyor olduğunu görürüz. Düşüş trendi boyunca piyasa satıcıların kontrolünde olduğundan fiyatlar daha düşük dipler ve daha düşük çukurlar yaparak hareket edecektir.
- Fiyat hareketli ortalamayı yukarıdan aşağıya doğru çaprazladığında satış yaparız. Kapanış hedefi ise alt bant.
- Fiyat < MA = Satış, alt bant = hedef
- Yatay harekette
Öncelikle, fiyatların yatay harekette nasıl hareket ettiğini anlamamız gerekir: yatay hareket yükseliş ve düşüş trendi dışındaki herhangi bir harekettir.
Yatay hareket, alıcılar ve satıcılar arasında bir denge olduğunu gösterir, her iki tarafta piyasaya açıkça hakim değildir. Aşağıdaki görüntüler bazı yatay hareketlere örnektir:
Yatay hareketin başka varyantları da vardır, ancak bu tür hareketlerin yükseliş ve düşüş trendi dışındaki herhangi bir hareket olduğunu hatırlamak yeterlidir.
Şimdi yatay harekette fiyatların hareketli ortalamayla nasıl ilişkide olduğunu görelim. Fiyatlar hareketli ortalama etrafında dalgalanacak ve sürekli olarak hareketli ortalamayı yukarı ve aşağı yönde çaprazlayacaktır. Aşağıdaki şekil buna bir örnektir:
- Fiyat alt bantta = Alış, üst bant = hedef
- Fiyat üst bantta = Satış, alt bant = hedef
- Alt bantta alış yapabilir ve üst bantta kâr alınabilir.
- Üst bantta satış yapabilir ve alt bantta kâr alınabilir.
Bollinger Bands göstergesine dayalı ticaret sistemi geliştirme
Bu bölümde Bollinger Bands göstergesine dayalı algoritmik ticaret sistemlerinin nasıl geliştirileceğini ve kodlanacağını öğreneceğiz. Ve daha önce tartıştığımız üç ticaret stratejisini de programlayacağız (yükseliş trendi, düşüş trendi ve yatay hareket).
Basit bir ticaret sisteminden çok gelişmiş bir ticaret sistemine kadar ticaret sisteminizi istediğiniz şekilde tasarlayabilirsiniz. Örneğin, temel konsepte dayalı olarak sinyaller üretecek basit bir ticaret sistemi geliştirebilirsiniz. Veya sadece sinyal üretmekle kalmayıp, onu diğer yeteneklerle birleştirerek otomatik olarak ticaret işlemi gerçekleştirecek gelişmiş bir ticaret sistemi yazabilirsiniz. Pek çok farklı yaklaşım var. Bu makalede, basit ticaret sistemleriyle çalışacağız ve yalnızca temel konsepti öğrenmek için eğitim amaçlı oluşturacağız. Bu bilgilere dayanarak, benzer sistemler geliştirebilecek veya kendi ticaret sisteminizi kendi stratejinize göre tasarlayabileceksiniz. Umarım bu makale sizin için faydalı olur ve ticaret, yatırım hedeflerinize ulaşmanızda yardım eder.
Öncelikle hareketli ortalamanın, üst bandın ve alt bandın değerini grafik üzerinde yorum şeklinde gösterilmesini sağlayan saf bir Bollinger Bands kodu yazalım.
Kod şu şekilde olur:
//+------------------------------------------------------------------+ //| Simple Bollinger Bands.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //create an array for several prices double MiddleBandArray[]; double UpperBandArray[]; double LowerBandArray[]; //sort the price array from the cuurent candle downwards ArraySetAsSeries(MiddleBandArray,true); ArraySetAsSeries(UpperBandArray,true); ArraySetAsSeries(LowerBandArray,true); //define Bollinger Bands int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE); //copy price info into the array CopyBuffer(BollingerBands,0,0,3,MiddleBandArray); CopyBuffer(BollingerBands,1,0,3,UpperBandArray); CopyBuffer(BollingerBands,2,0,3,LowerBandArray); //calcualte EA for the cuurent candle double MiddleBandValue=MiddleBandArray[0]; double UpperBandValue=UpperBandArray[0]; double LowerBandValue=LowerBandArray[0]; //comments Comment("MiddleBandValue: ",MiddleBandValue,"\n", "UpperBandValue: ",UpperBandValue,"\n","LowerBandValue: ",LowerBandValue,"\n"); } //+------------------------------------------------------------------+Kodu yazıp derledikten sonra kodda herhangi bir hata veya uyarı olmadığından emin olmamız gerekiyor:
- Yükseliş trendi için Bollinger Bands stratejisi planı:
- Fiyat > MA = Alış, üst bant = kârı al hedefi, veya = sinyal yok
//+------------------------------------------------------------------+ //| Uptrend BB strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //define Ask, Bid double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); //create an array for several prices double MiddleBandArray[]; double UpperBandArray[]; double LowerBandArray[]; //sort the price array from the cuurent candle downwards ArraySetAsSeries(MiddleBandArray,true); ArraySetAsSeries(UpperBandArray,true); ArraySetAsSeries(LowerBandArray,true); //define Bollinger Bands int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE); //copy price info into the array CopyBuffer(BollingerBands,0,0,3,MiddleBandArray); CopyBuffer(BollingerBands,1,0,3,UpperBandArray); CopyBuffer(BollingerBands,2,0,3,LowerBandArray); //calcualte EA for the cuurent candle double MiddleBandValue=MiddleBandArray[0]; double UpperBandValue=UpperBandArray[0]; double LowerBandValue=LowerBandArray[0]; //giving buy signal when price > MA if ( (Ask>=MiddleBandArray[0]) && (Ask<UpperBandArray[0]) ) { Comment("BUY"); } //check if we have a take profit signal if ( (Bid>=UpperBandArray[0]) ) { Comment("TAKE PROFIT"); } //check if we have no signal if ( (Ask<MiddleBandArray[0]) ) { Comment("NO SIGNAL"); } } //+------------------------------------------------------------------+Aşağıdaki ekran görüntüleri bu stratejinin ürettiği sinyalleri göstermektedir:
- Kodunuzda hata veya uyarı olmadığından emin olun
- Dosyayı bulun
- Dosyayı grafiğe sürükleyerek veya üzerine çift tıklayarak kodu çalıştırın
- Düşüş trendi için Bollinger Bands stratejisi planı:
- Fiyat < MA = Satış, alt bant = hedef
//+------------------------------------------------------------------+ //| Downtrend BB strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //define Ask, Bid double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); //create an array for several prices double MiddleBandArray[]; double UpperBandArray[]; double LowerBandArray[]; //sort the price array from the cuurent candle downwards ArraySetAsSeries(MiddleBandArray,true); ArraySetAsSeries(UpperBandArray,true); ArraySetAsSeries(LowerBandArray,true); //define Bollinger Bands int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE); //copy price info into the array CopyBuffer(BollingerBands,0,0,3,MiddleBandArray); CopyBuffer(BollingerBands,1,0,3,UpperBandArray); CopyBuffer(BollingerBands,2,0,3,LowerBandArray); //calcualte EA for the cuurent candle double MiddleBandValue=MiddleBandArray[0]; double UpperBandValue=UpperBandArray[0]; double LowerBandValue=LowerBandArray[0]; //giving sell signal when price < MA if ( (Bid<=MiddleBandArray[0]) && (Bid>LowerBandArray[0]) ) { Comment("SELL"); } //check if we have a take profit signal if ( (Ask<=LowerBandArray[0]) ) { Comment("TAKE PROFIT"); } //check if we have no signal if ( (Bid>MiddleBandArray[0]) ) { Comment("NO SIGNAL"); } } //+------------------------------------------------------------------+Aşağıdaki görüntüler, bu strateji tarafından oluşturulan sinyalleri göstermektedir:
- Kodunuzda hata veya uyarı olmadığından emin olun
- Dosyayı bulun
- Dosyayı grafiğe sürükleyerek veya üzerine çift tıklayarak kodu çalıştırın
- Yatay hareket için Bollinger Bands stratejisi planı:
- Fiyat alt bantta = Alış, üst bant = hedef
- Fiyat üst bantta = Satış, alt bant = hedef
A- Alt banda dokunulduğunda alış sinyali üretilir,
//+------------------------------------------------------------------+ //| Buy sideways BB strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //define Ask, Bid double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); //create an array for several prices double MiddleBandArray[]; double UpperBandArray[]; double LowerBandArray[]; //sort the price array from the cuurent candle downwards ArraySetAsSeries(MiddleBandArray,true); ArraySetAsSeries(UpperBandArray,true); ArraySetAsSeries(LowerBandArray,true); //define Bollinger Bands int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE); //copy price info into the array CopyBuffer(BollingerBands,0,0,3,MiddleBandArray); CopyBuffer(BollingerBands,1,0,3,UpperBandArray); CopyBuffer(BollingerBands,2,0,3,LowerBandArray); //calcualte EA for the cuurent candle double MiddleBandValue=MiddleBandArray[0]; double UpperBandValue=UpperBandArray[0]; double LowerBandValue=LowerBandArray[0]; //giving buy signal when price > MA if ( (Ask<=LowerBandArray[0]) ) { Comment("BUY"); } //check if we have a take profit signal if ( (Bid>=UpperBandArray[0]) ) { Comment("TAKE PROFIT"); } } //+------------------------------------------------------------------+Bu strateji tarafından üretilen sinyaller:
- Kodunuzda hata veya uyarı olmadığından emin olun
- Dosyayı bulun
- Dosyayı grafiğe sürükleyerek veya üzerine çift tıklayarak kodu çalıştırın
Kod şu şekilde olur:B- Üst banda dokunulduğunda satış sinyali üretilir,
//+------------------------------------------------------------------+ //| Sell sideways BB strategy.mq5 | //| Copyright 2022, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //define Ask, Bid double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); //create an array for several prices double MiddleBandArray[]; double UpperBandArray[]; double LowerBandArray[]; //sort the price array from the cuurent candle downwards ArraySetAsSeries(MiddleBandArray,true); ArraySetAsSeries(UpperBandArray,true); ArraySetAsSeries(LowerBandArray,true); //define Bollinger Bands int BollingerBands = iBands(_Symbol,_Period,20,0,2,PRICE_CLOSE); //copy price info into the array CopyBuffer(BollingerBands,0,0,3,MiddleBandArray); CopyBuffer(BollingerBands,1,0,3,UpperBandArray); CopyBuffer(BollingerBands,2,0,3,LowerBandArray); //calcualte EA for the cuurent candle double MiddleBandValue=MiddleBandArray[0]; double UpperBandValue=UpperBandArray[0]; double LowerBandValue=LowerBandArray[0]; //giving sell signal when price < MA if ( (Bid>=UpperBandArray[0]) ) { Comment("SELL"); } //check if we have a take profit signal if ( (Ask<=LowerBandArray[0]) ) { Comment("TAKE PROFIT"); } } //+------------------------------------------------------------------+Aşağıdaki görüntüler, bu stratejinin ürettiği sinyalleri göstermektedir:
- Kodunuzda hata veya uyarı olmadığından emin olun
- Dosyayı bulun
- Dosyayı grafiğe sürükleyerek veya üzerine çift tıklayarak kodu çalıştırın
Sonuç
Bantlarla ticaret yapma konsepti, yaklaşmakta olan hareketin ne olacağına dair bize net bir beklenti verdiği için çok kullanışlıdır. Bu yöntem için Bollinger Bands dahil birçok araç vardır, Bollinger Bands’in avantajı ise, bantların fiyat hareketine bağlı olarak genişleyip daralabilmesidir, böylece onu herhangi bir piyasa koşuluyla kullanabilirsiniz.
Bu makalede Bollinger Bands göstergesi konseptini, hesaplamalarını, göstergeyi kullanarak basit ticaret stratejilerini inceledik ve bu basit stratejilere dayalı basit bir ticaret sistemi geliştirdik.
Artık ticaret tarzınıza uygun olarak kendi stratejinizi geliştirebilirsiniz. Umarım makale sizin için faydalı olur ve ticaret hedeflerinize ulaşmanıza yardım sağlar.
Referanslar
- Bollinger on Bollinger Bands by John Bollinger
- https://www.bollingerbands.com/about-us
- https://www.investopedia.com/trading/using-bollinger-bands-to-gauge-trends
- https://school.stockcharts.com/doku.php?id=technical_indicators:bollinger_bands
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal makale: https://www.mql5.com/en/articles/3039





- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz