William Gann yöntemleri (Bölüm I): Gann Açıları göstergesi oluşturma
Giriş
William Delbert Gann, yenilikçi piyasa analizi yöntemleriyle modern yatırımcıların hala ilgisini çeken efsanevi bir yatırımcı ve teknik analisttir. Gann'ın elindeki en önemli araçlardan biri, fiyat hareketlerini tahmin etmek ve potansiyel destek ve direnç seviyelerini belirlemek için kullandığı ünlü açılarıydı.
Bu makalede, MQL5'te Gann Açıları göstergesi oluşturmakla başlayarak William Gann'ın alım-satım yöntemleri dünyasına dalacağız. Bu aracın arkasındaki teoriyi gözden geçireceğiz ve MetaTrader 5 platformu için özel bir gösterge olarak adım adım uygulayacağız.
İster yeni analiz araçları arayan deneyimli bir yatırımcı ister teknik göstergeler cephaneliğini genişletmek isteyen yeni başlayan biri olun, bu makale William Gann'ın en ilgi çekici yöntemlerinden birini daha iyi anlamanıza ve alım-satımınızda uygulamanıza yardımcı olacaktır.
Gann açıları oluşturmanın tarihçesi

William Delbert Gann (1878-1955) 20. yüzyılın başlarında piyasa hareketleri üzerine yıllarca süren araştırmalarına ve zaman ile fiyat arasındaki ilişkiye dair benzersiz anlayışına dayanarak açılar sistemini geliştirmiştir.
Gann, piyasaların öngörülebilir geometrik kalıplar içinde hareket ettiğine ve bu hareketlerin matematik, geometri ve astrolojinin bir kombinasyonu kullanılarak tahmin edilebileceğine inanıyordu. Bir grafik üzerinde zaman ve fiyat hareketi arasındaki mükemmel dengeyi yansıtan çapraz çizgiler olan açılar konseptini geliştirdi.
Gann'ın teorisinin temelinde 45 derecelik bir açının (1x1 açısı olarak bilinir) zaman ve fiyat arasındaki mükemmel dengeyi temsil ettiği fikri yatıyordu. Fiyat bu açıda yukarı veya aşağı hareket ettiğinde, bunun dengeli ve istikrarlı bir trende işaret ettiğine inanıyordu.
Gann ayrıca zaman ve fiyat arasındaki farklı ilişkileri temsil eden 2x1, 3x1, 4x1 ve bunların karşılıkları gibi başka açılar da geliştirmiştir. Bu açılar onun alım-satım sisteminin ve piyasa analizinin temelini oluşturdu.
Gann'ın çalışmalarının bazı yönleri tartışmalı olsa da, Gann açıları da dahil olmak üzere yöntemleri dünyanın dört bir yanındaki yatırımcıların ve analistlerin ilgisini çekmeye ve modern alım-satımda geçerliliğini korumaya devam ediyor.
Gann Açıları Teorisi ve teknik analizdeki önemi
Gann Açıları Teorisi, piyasa hareketlerinin bir grafik üzerindeki özel açı çizimleri kullanılarak tanımlanabilen öngörülebilir geometrik kalıpları takip ettiği konseptine dayanmaktadır. Teori, zaman ve fiyat arasındaki denge fikrine dayanır; 1x1 açısı (45 derece), birim zaman başına bir birimlik fiyat değişikliği olduğunu varsayarak mükemmel bir dengeyi temsil eder.
Gann, her biri zaman ve fiyat hareketi arasındaki belirli bir ilişkiyi yansıtan 2x1, 3x1, 4x1 ve bunların karşılıkları gibi farklı açılardan oluşan bir sistem geliştirmiştir. Bu açılar dinamik destek ve direnç seviyeleri olarak hizmet ederek yatırımcıların bir trendin gücünü ve yönünü belirlemelerine yardımcı olur. Daha dik açılar daha güçlü bir trende işaret ederken, daha düz açılar daha zayıf bir harekete işaret eder.
Gann açıları oluşturmanın temel ilkeleri

Gann açılarının oluşturulması, yatırımcıların bu aracı teknik analizde etkili bir şekilde kullanmalarına olanak tanıyan birkaç temel ilkeye dayanmaktadır. Başlangıç noktasının seçimi (bu genellikle grafikte önemli bir minimum veya maksimum seviyedir) birincil öneme sahiptir. İşte bu noktadan itibaren açıların çizimi başlar.
Taban açısı, grafik üzerinde 45 derecelik bir çizgi oluşturan 1x1 açısı olarak kabul edilir. Bu açı, fiyatın birim zamanda bir birim olarak değiştiği zaman ve fiyat arasındaki mükemmel dengeyi yansıtır. 2x1, 3x1, 4x1 ve bunların karşılıkları gibi diğer açılar bu temel açıya göre oluşturulur.
Çizim yaparken grafik ölçeğini göz önünde bulundurmak önemlidir. Yatırımcılar doğru açıları sağlamak için genellikle özel şablonlar veya araçlar kullanır. Açı çizgileri geleceğe doğru devam ederek potansiyel destek ve direnç seviyelerinin tahmin edilmesini sağlar.
Gann açılarının türleri ve yorumlanması
William Gann, teknik analizde her birinin kendine özgü anlamı ve yorumu olan bir açılar sistemi geliştirmiştir. 1x1 veya 45 derece, zaman ve fiyat arasındaki dengeyi yansıtan ana açı olarak kabul edilir. Bu açı, trendin gücünü değerlendirmek için temel bir kılavuz görevi görür.
2x1 açısı (63.75 derece), fiyatın zamandan iki kat daha hızlı yükseldiği daha güçlü bir fiyat hareketini belirtir. Bu genellikle güçlü bir yükseliş trendinin işareti olarak yorumlanır. Buna karşılık, 1x2 açısı (26.25 derece) zamana göre daha yavaş bir fiyat artışını belirtir ve bu da zayıflayan bir trende işaret edebilir.
3x1 (71.25 derece) ve 4x1 (75 derece) açıları daha da agresif fiyat hareketlerini temsil eder ve genellikle çok güçlü trendlerle veya potansiyel piyasa aşırı ısınmasıyla ilişkilendirilir. Karşılıkları - 1x3 (18.75 derece) ve 1x4 (15 derece) - güçlü direnç veya desteği yansıtabilir.
Gann açılarının yorumlanması yalnızca eğimleriyle sınırlı değildir. Fiyatın bu çizgilerle nasıl etkileşime girdiğini göz önünde bulundurmak da önemlidir. Açı çizgisini çaprazlayan bir fiyat, trendde potansiyel bir değişikliğe işaret edebilir. Fiyat açı çizgisi boyunca hareket ediyorsa, bu genellikle mevcut trendin gücünün teyidi olarak yorumlanır.
Alım-satımda Gann açılarının pratik uygulaması
Yatırımcılar bu araçları trendleri belirlemekten pozisyonlar için giriş ve çıkış noktalarını seçmeye kadar çeşitli amaçlar için kullanır.
Bir trend belirlemek için, genellikle önemli bir minimum veya maksimum seviyeden 1x1'lik bir açı çizerek başlanır. Fiyat bu çizginin üzerinde hareket ederse yükseliş trendi, altında hareket ederse düşüş trendi olarak yorumlanır. Trendin gücünü teyit etmek için 2x1 veya 3x1 gibi daha dik açılar kullanılır.
Giriş noktalarını seçerken, birçok yatırımcı fiyatın Gann açı çizgisinden sıçradığı veya bu çizgiyi kırdığı anları arar. Örneğin, 1x1 çizgisinden trend yönünde bir sıçrama, bir pozisyona girmek için potansiyel bir fırsat olarak görülebilir.
Risk yönetimi için, Gann açıları genellikle Zararı Durdur seviyelerini ayarlamak için kullanılır. Bir yatırımcı, bir alış pozisyonu için en yakın açı çizgisinin hemen altına veya bir satış pozisyonu için hemen üstüne bir Zararı Durdur yerleştirebilir.
Uzun vadeli alım-satımda, Gann açıları piyasanın genel yönünü belirlemeye yardımcı olur. Uzun vadeli trendleri değerlendirmek ve stratejik kararlar almak için 1x2 veya 1x4 gibi daha dar açıları kullanabiliriz.
Gann açılarını kullanan alım-satım stratejilerine örnekler
Gann açıları, yatırımcılara çeşitli alım-satım stratejileri oluşturmak için geniş bir seçenek yelpazesi sunar. İşte gerçek alım-satımda nasıl etkili bir şekilde kullanılabileceklerine dair bazı örnekler.
Açıdan Sıçrama stratejisi, Gann açı çizgilerinin genellikle destek veya direnç seviyeleri olarak işlev gördüğü varsayımına dayanmaktadır. Yatırımcı, fiyatın Gann açı çizgisine (özellikle 1x1 veya 2x1) yaklaştığı ve ondan sıçradığı durumları arar. Bir pozisyona giriş, sıçramanın teyit edilmesinden sonra, örneğin bir terse dönüş mum formasyonunun oluşmasından sonra gerçekleştirilir.
Bir diğer popüler strateji ise Açı Kırılmasıdır. Burada yatırımcı, fiyatın önemli bir Gann açı çizgisini kırmasını bekler, özellikle de buna işlem hacminde bir artış eşlik ediyorsa. Yukarı doğru bir kırılma potansiyel bir alış pozisyonuna işaret edebilirken, aşağı doğru bir kırılma bir satış pozisyonuna işaret edebilir.
Gann Yelpazesi stratejisi, yelpaze şeklinde bir yapı oluşturmak için tek bir noktadan yayılan çoklu açılar kullanır. Yatırımcı, fiyatın çeşitli yelpaze çizgileriyle nasıl etkileşime girdiğini analiz eder ve bunu destek, direnç seviyeleri ve potansiyel terse dönüş noktalarını belirlemek için kullanır.
Açıları ve Zaman Döngülerini Birleştirme, yatırımcının Gann açılarını yine Gann tarafından geliştirilen zaman döngüleri konseptiyle birleştirdiği daha karmaşık bir stratejidir. Burada önemli zaman çizgilerinin Gann açılarıyla kesişme noktaları, piyasaya giriş veya çıkış için kritik anları belirlemek üzere analiz edilir.
Çoklu zaman dilimi stratejisi, Gann açılarının farklı zaman dilimlerinde analiz edilmesini içerir. Örneğin, bir yatırımcı genel trendi belirlemek için günlük bir grafikte 1x1 açı kullanabilir ve ardından daha dik açılar kullanarak giriş noktalarını aramak için saatlik bir grafiğe geçebilir.
MQL5'te Gann Açıları göstergesi oluşturma: Temel adımlar

MQL5'te bir Gann Açıları göstergesi oluşturmak birkaç temel adım içerir. Bu süreç, hem Gann açıları çizme ilkelerinin hem de MetaTrader 5 ortamında programlamanın özelliklerinin anlaşılmasını gerektirir.
İlk adım gösterge yapısını tanımlamaktır. Burada gösterge adı, açıları ayarlamak için girdi parametreleri ve gerekli kütüphaneler gibi temel parametreleri ayarlıyoruz.
Gann açılarını çizmenin ana mantığı OnCalculate() fonksiyonunda bulunur. Burada açıları çizmek için başlangıç noktasını tanımlar, her açı için koordinatları hesaplar ve grafik üzerinde çizgileri çizeriz.
Önemli bir husus, grafiğin ölçeğini ve seçilen zaman aralığını dikkate alarak açıların koordinatlarının doğru hesaplanmasıdır. Bu, hassas bir matematiksel yaklaşım ve Gann açılarının geometrisinin anlaşılmasını gerektirir.
Son aşama göstergenin test edilmesi ve hata ayıklanmasıdır. Farklı zaman dilimlerinde ve enstrümanlarda açıların çiziminin düzgün olup olmadığını kontrol etmek gerekir.
Gösterge kodu yapısı
İşte MetaTrader 5'te kullanılabilen Gann Açıları göstergesinin temel kodu:
#property copyright "Copyright 2024, Evgeniy Shtenco" #property link "https://www.mql5.com/en/users/koshtenko" #property version "1.00" #property indicator_chart_window // Input parameters input datetime StartDate = D'2023.01.01 00:00'; // Start date for analysis input datetime EndDate = D'2023.12.31 23:59'; // End date for analysis input color GannFanColor = clrBlue; // Color for Gann Fan lines // Global variables double extremumPrice; datetime extremumTime; double oppositeExtremumPrice; datetime oppositeExtremumTime; bool isTrendUp; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0, "GannFan_"); ObjectsDeleteAll(0, "OppositeGannFan_"); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { if(rates_total < 1) return(0); // Clear previous objects if (prev_calculated == 0) { ObjectsDeleteAll(0, "GannFan_"); ObjectsDeleteAll(0, "OppositeGannFan_"); } // Find extremums within the specified date range FindExtremums(rates_total, high, low, time); // Draw Gann Fans DrawGannFan(extremumPrice, extremumTime); DrawOppositeGannFan(oppositeExtremumPrice, oppositeExtremumTime); return(rates_total); } //+------------------------------------------------------------------+ //| Find both extremums within the specified date range | //+------------------------------------------------------------------+ void FindExtremums(const int rates_total, const double &high[], const double &low[], const datetime &time[]) { int startIndex = -1; int endIndex = -1; for (int i = 0; i < rates_total; i++) { if (time[i] >= StartDate && startIndex == -1) { startIndex = i; } if (time[i] <= EndDate) { endIndex = i; } } if (startIndex == -1 || endIndex == -1 || startIndex > endIndex) { Print("Error: Invalid date range or no data available in the specified range"); return; } int highestIndex = ArrayMaximum(high, startIndex, endIndex - startIndex + 1); int lowestIndex = ArrayMinimum(low, startIndex, endIndex - startIndex + 1); // Determine the most recent extremum if (time[highestIndex] > time[lowestIndex]) { extremumPrice = high[highestIndex]; extremumTime = time[highestIndex]; oppositeExtremumPrice = low[lowestIndex]; oppositeExtremumTime = time[lowestIndex]; isTrendUp = false; } else { extremumPrice = low[lowestIndex]; extremumTime = time[lowestIndex]; oppositeExtremumPrice = high[highestIndex]; oppositeExtremumTime = time[highestIndex]; isTrendUp = true; } } //+------------------------------------------------------------------+ //| Draw Gann Fan | //+------------------------------------------------------------------+ void DrawGannFan(double extremum, datetime extremumTime) { double angles[] = {82.5, 75, 71.25, 63.75, 45, 26.25, 18.75, 15, 7.5}; string angleNames[] = {"1x8", "1x4", "1x3", "1x2", "1x1", "2x1", "3x1", "4x1", "8x1"}; datetime endTime = extremumTime + PeriodSeconds() * 300; for(int i = 0; i < ArraySize(angles); i++) { string label = "GannFan_" + angleNames[i]; double angle = angles[i]; double priceShift = MathTan(angle * M_PI / 180.0) * 300 * _Point; double endPrice; if(isTrendUp) { endPrice = extremum + priceShift; } else { endPrice = extremum - priceShift; angle = -angle; // Invert the angle for a downtrend } if(ObjectCreate(0, label, OBJ_TREND, 0, extremumTime, extremum, endTime, endPrice)) { ObjectSetInteger(0, label, OBJPROP_COLOR, GannFanColor); ObjectSetInteger(0, label, OBJPROP_STYLE, STYLE_SOLID); ObjectSetInteger(0, label, OBJPROP_WIDTH, 1); ObjectSetInteger(0, label, OBJPROP_RAY_RIGHT, true); ObjectSetString(0, label, OBJPROP_TOOLTIP, "Gann Fan " + angleNames[i]); } else { Print("Failed to create Gann Fan line: ", GetLastError()); } } } //+------------------------------------------------------------------+ //| Draw Opposite Gann Fan | //+------------------------------------------------------------------+ void DrawOppositeGannFan(double extremum, datetime extremumTime) { double angles[] = {82.5, 75, 71.25, 63.75, 45, 26.25, 18.75, 15, 7.5}; string angleNames[] = {"1x8", "1x4", "1x3", "1x2", "1x1", "2x1", "3x1", "4x1", "8x1"}; datetime endTime = extremumTime + PeriodSeconds() * 300; for(int i = 0; i < ArraySize(angles); i++) { string label = "OppositeGannFan_" + angleNames[i]; double angle = angles[i]; double priceShift = MathTan(angle * M_PI / 180.0) * 300 * _Point; double endPrice; if(!isTrendUp) // Opposite trend { endPrice = extremum + priceShift; } else { endPrice = extremum - priceShift; angle = -angle; // Invert the angle for a downtrend } if(ObjectCreate(0, label, OBJ_TREND, 0, extremumTime, extremum, endTime, endPrice)) { ObjectSetInteger(0, label, OBJPROP_COLOR, GannFanColor); ObjectSetInteger(0, label, OBJPROP_STYLE, STYLE_SOLID); ObjectSetInteger(0, label, OBJPROP_WIDTH, 1); ObjectSetInteger(0, label, OBJPROP_RAY_RIGHT, true); ObjectSetString(0, label, OBJPROP_TOOLTIP, "Opposite Gann Fan " + angleNames[i]); } else { Print("Failed to create Opposite Gann Fan line: ", GetLastError()); } } } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { // Redraw objects when chart changes if(id == CHARTEVENT_CHART_CHANGE) { // Find extremums and redraw Gann Fans int rates_total = Bars(_Symbol, PERIOD_CURRENT); double high[], low[]; datetime time[]; ArraySetAsSeries(high, true); ArraySetAsSeries(low, true); ArraySetAsSeries(time, true); CopyHigh(_Symbol, PERIOD_CURRENT, 0, rates_total, high); CopyLow(_Symbol, PERIOD_CURRENT, 0, rates_total, low); CopyTime(_Symbol, PERIOD_CURRENT, 0, rates_total, time); FindExtremums(rates_total, high, low, time); DrawGannFan(extremumPrice, extremumTime); DrawOppositeGannFan(oppositeExtremumPrice, oppositeExtremumTime); } }
Ana fonksiyonlar ve amaçları
Kod, grafikte Gann yelpazesi açılarını çizen bir MetaTrader 5 göstergesidir. Ana fonksiyonlar ve amaçları aşağıda açıklanmıştır:
- OnInit() - gösterge başlatma fonksiyonudur. Bu durumda, sadece başarılı başlatma sonucunu geri döndürür.
- OnDeinit() - grafikten kaldırıldığında gösterge tarafından oluşturulan tüm nesneleri kaldıran sonlandırma fonksiyonudur.
- OnCalculate() - göstergenin ana fonksiyonudur. Her tikte çağrılır. Önceki nesneleri temizler, belirtilen tarih aralığındaki uç noktaları bulur ve Gann açılarını çizer.
- FindExtremums() - belirtilen tarih aralığındaki fiyat uç noktalarını (maksimum ve minimum seviye) bulmaya yarayan bir fonksiyondur. Hangi uç noktanın daha yeni olduğunu tespit eder ve trendin yönünü belirler.
- DrawGannFan() - bulunan uç noktadan ana Gann yelpazesini çizmek için kullanılan bir fonksiyondur. Dokuz farklı açı için çizgiler oluşturur.
- DrawOppositeGannFan() - başka bir uç noktadan zıt Gann yelpazesini çizmek için kullanılan bir fonksiyondur. Bu fonksiyon da dokuz açı için çizgiler oluşturur, ancak zıt yönde.
- OnChartEvent() - grafik olaylarına yanıt veren fonksiyondur. Bu durumda, grafik değiştiğinde Gann yelpazelerini yeniden çizer.
Gösterge, analiz tarih aralığını (StartDate ve EndDate) ve çizgilerin rengini (GannFanColor) ayarlamak için girdileri kullanır. Bu aralıktaki fiyat uç noktalarını bulur, trend yönünü belirler ve biri son uç noktadan, diğeri zıt uç noktadan olmak üzere iki Gann yelpazesi çizer. Her bir yelpaze farklı Gann açılarına (82.5°, 75°, 71.25°, 63.75°, 45°, 26.25°, 18.75°, 15° ve 7.5°) karşılık gelen dokuz çizgiden oluşur.
Kod ayrıca hata işleme ve grafik değiştiğinde dinamik güncelleme içerir, bu da onu oldukça sağlam ve farklı piyasa koşullarına uyarlanabilir hale getirir. ArrayMaximum() ve ArrayMinimum() gibi MQL5 fonksiyonlarının kullanılması verimli veri işleme sağlar.

Gann açısı hesaplama algoritması
Bu göstergede Gann açılarını hesaplama algoritması, uç noktadan çizgilerin geometrik çizimine dayanmaktadır. Bu algoritmanın temel unsurları:
- Uç noktaların belirlenmesi: Gösterge, belirtilen zaman aralığındaki maksimum ve minimum fiyat seviyesini bulur. Bu uç noktalardan daha sonra olanı ana Gann yelpazesi için, daha önce olanı ise zıt yelpaze için başlangıç noktası olarak kullanılır.
- Açı seti: Sabit bir açı seti kullanılır: 82.5°, 75°, 71.25°, 63.75°, 45°, 26.25°, 18.75°, 15° ve 7.5°. Bu açılar geleneksel Gann oranlarına karşılık gelir: 1x8, 1x4, 1x3, 1x2, 1x1, 2x1, 3x1, 4x1 ve 8x1.
- Bitiş noktasının hesaplanması: Her açı için çizginin bitiş noktası hesaplanır. Hesaplama şu denkleme dayanmaktadır:
endPrice = extremum + MathTan(angle * M_PI / 180.0) * 300 * Point
- Burada 300, çizgiyi çizmek için kullanılan geleneksel çubuk sayısıdır.
- Düşüş trendi için ters çevirme: Düşüş trendinde, açı ters çevrilir (işaret değiştirilir), böylece çizgiler uç noktadan aşağıyı gösterir.
- Çizgi çizimi: Her açı için, uç noktadan hesaplanan bitiş noktasına kadar bir çizgi nesnesi (OBJ_TREND) oluşturulur. Çizgiler gelecekteki verileri kapsayacak şekilde sağa doğru uzatılır.
- Çift yelpaze: Algoritma iki kez uygulanır - bir kez son uç noktadan ana yelpaze için, ikinci kez erken uç noktadan zıt yelpaze için. Bu, her iki taraftaki potansiyel destek ve direnç seviyelerini görselleştirmemizi sağlar.
- Dinamik güncelleme: Grafik değiştiğinde (örneğin, yeni veriler geldiğinde), algoritma uç noktaları yeniden hesaplar ve yelpazeleri yeniden oluşturarak analizin güncel olmasını sağlar.
Algoritma, klasik Gann açılarını bir grafik üzerinde görselleştirmemize olanak tanıyarak yatırımcıya potansiyel destek, direnç seviyeleri ve trend yönünü analiz etmek için bir araç sunar.
Karlı bir şekilde alım-satım yapmak mümkün mü?
Gann açılarını kullanarak karlı bir şekilde alım-satım yapmak mümkün mü? Bu sorunun net bir cevabı yoktur, ancak doğru yaklaşımla karlı alım-satım yapmak oldukça mümkündür. Başarının anahtarı, bu aracın kapsamlı bir şekilde kullanılmasında yatmaktadır.
Ancak, en dikkatli ve titiz analizlerde bile risk yönetimini unutmamak gerekir. Bu, karlı alım-satımın temel taşıdır. Hiçbir yöntem %100 başarıyı garanti etmez, bu nedenle uygun anapara ve risk yönetimi uzun vadeli karlılıkta önemli bir rol oynar.
Gann açılarına dayalı bir Uzman Danışman oluşturma potansiyeli

Gann açılarına dayalı bir Uzman Danışman oluşturmak, algoritmik alım-satım sistemleri geliştiricileri için ilginç ve umut verici bir görevdir. Böyle bir Uzman Danışman, Gann Teorisinde ortaya konan ilkeleri kullanarak analizi ve alım-satımı otomatikleştirebilir.
Böyle bir Uzman Danışmanın temeli, halihazırda uygulanmış olan Gann Açıları göstergesi olabilir. Uzman Danışman algoritması, fiyatın Gann çizgileriyle etkileşiminin analizini, bu çizgilerin çaprazlamasına dayalı olarak giriş ve çıkış noktalarının belirlenmesini ve ayrıca işlem hacmi ve piyasa volatilitesi gibi ek faktörlerin dikkate alınmasını içerebilir.
Gann açılarına dayalı otomatik bir sistemin en önemli faydalarından biri, duygusallık faktörünü alım-satım karar verme sürecinden çıkarmak olacaktır. Uzman Danışman, genellikle bir insan yatırımcının kararlarını etkileyen korku veya açgözlülüğe teslim olmadan, verilen stratejiyi sıkı bir şekilde takip edebilir.
Ancak böyle bir Uzman Danışmanın geliştirilmesi bir dizi zorlukla karşı karşıyadır. Her şeyden önce, Gann açıları tarafından üretilen sinyallerin doğru yorumlanmasına ihtiyaç vardır. Gann Teorisi büyük ölçüde özneldir ve bir algoritma biçiminde tam olarak uygulanması zor olan piyasanın derinlemesine anlaşılmasını gerektirir.
Elbette, böyle bir Uzman Danışmanın başarısı büyük ölçüde geliştiricinin Gann Teorisini derinlemesine anlamasına ve bu teoriyi modern piyasa analizi ve risk yönetimi yöntemleriyle etkili bir şekilde birleştirme becerisine bağlı olacaktır.
En büyük zorluk: Açıları ölçeklendirme
Gann açılarına dayalı göstergelerin ve Uzman Danışmanların oluşturulması ve kullanılmasıyla ilgili en ciddi sorunlardan biri, bunları ölçeklendirmenin zorluğudur. Bu sorun, Gann yöntemine dayalı alım-satım sistemlerinin doğruluğunu ve verimliliğini önemli ölçüde etkiler.
Sorunun özü, geometrik yapılar olan Gann açılarının büyük ölçüde grafik ölçeğine bağlı olmasıdır. Zaman veya fiyat ekseninin ölçeği değiştirildiğinde, açıların görsel temsili önemli ölçüde bozulabilir. Bir ölçekte mükemmel bir 1x1 (45 derece) açı gibi görünen şey, ölçeği değiştirdiğinizde tamamen farklı bir açıya dönüşebilir.
Bu durum yazılım uygulaması için ciddi zorluklar yaratmaktadır. Gösterge veya Uzman Danışman, grafiğin mevcut ölçeğini sürekli olarak dikkate almalı ve açı hesaplamalarını buna göre ayarlamalıdır. Dahası, Gann açılarının dayandığı "zaman birimi fiyat birimine eşittir" kavramı, farklı finansal enstrümanlar ve zaman dilimleriyle çalışırken belirsizleşir.
Bu sorunu çözme girişimleri genellikle bazı tavizlere yol açar. Bazı geliştiriciler, aracın uygulanabilirliğini sınırlayan ölçeği düzeltmektedir. Diğerleri, açıları yeniden hesaplamak için karmaşık algoritmalar sunar ve bu da göstergenin veya Uzman Danışmanın hızını azaltabilir.
Ayrıca ölçeklendirme sorunu, analiz sonuçlarının farklı enstrümanlar veya zaman dilimleri arasında karşılaştırılmasını zorlaştırmaktadır. Bir döviz paritesinin günlük grafiğinde etkili bir şekilde çalışan bir açı, saatlik bir grafikte veya başka bir alım-satım enstrümanı için tamamen farklı sonuçlar üretebilir.
Bu sorun, otomatik alım-satımda Gann açılarının evrensel uygulanabilirliğini sorgulatmaktadır. Geliştiricilerin yalnızca Gann Teorisini değil, aynı zamanda işlem platformlarında grafiklerle çalışmanın özelliklerini de derinlemesine anlamalarını gerektirir.
Sonuç
Gann açıları, yatırımcıların ve alım-satım sistemi geliştiricilerinin dikkatini çekmeye devam eden benzersiz bir teknik analiz aracıdır. Yaptığımız araştırma, MQL5'te Gann Açıları göstergesi oluşturmanın oldukça uygulanabilir olduğunu ve sağlanan kodun daha fazla geliştirme için iyi bir başlangıç noktası olarak hizmet ettiğini gösterdi.
Bununla birlikte, otomatik alım-satımda Gann açılarını kullanmak bir dizi önemli zorlukla birlikte gelir. Bunlardan en önemlisi, bu yönteme dayalı evrensel ve güvenilir bir alım-satım Uzman Danışmanı oluşturmayı çok daha zor hale getiren ölçeklendirme sorunudur.
Bu zorluklara rağmen, Gann açılarının bir piyasa analiz aracı olarak potansiyeli hala yüksektir. Doğru kullanıldığında, diğer teknik analiz yöntemleri ve uygun risk yönetimi ile birlikte, bir yatırımcının araç setine etkili bir katkı sağlayabilir.
MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal makale: https://www.mql5.com/ru/articles/15556
Uyarı: Bu materyallerin tüm hakları MetaQuotes Ltd.'a aittir. Bu materyallerin tamamen veya kısmen kopyalanması veya yeniden yazdırılması yasaktır.
Bu makale sitenin bir kullanıcısı tarafından yazılmıştır ve kendi kişisel görüşlerini yansıtmaktadır. MetaQuotes Ltd, sunulan bilgilerin doğruluğundan veya açıklanan çözümlerin, stratejilerin veya tavsiyelerin kullanımından kaynaklanan herhangi bir sonuçtan sorumlu değildir.
William Gann yöntemleri (Bölüm II): Gann Karesi göstergesi oluşturma
Ekonomik tahminler: Python’ın potansiyelini keşfetme
William Gann yöntemleri (Bölüm III): Astroloji işe yarıyor mu?
Risk yönetimine kantitatif yaklaşım: Python ve MetaTrader 5’i kullanarak çok dövizli portföy optimizasyonu için VaR modelini uygulama
- Ü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
Gunn parlak bir tüccar, astrolog ve numerolog, sihirli sayılara inanan bir matematikçiydi. Birinci ve İkinci Dünya Savaşlarının başlangıcını ve sonunu tahmin eden büyük bir kahindi. Çok sayıda öğrencisi vardı, ancak takipçilerinin iddia ettiği gibi, stratejisini kimseye vermedi. Büyük bir para cirosuna sahipti ve hayatının sonunda 100000 $ gibi mütevazı bir meblağa sahip oldu. Gunn'ın dahi kişiliği hakkındaki sonraki makaleleri dört gözle bekleyeceğim, çok ilginç.
Söylemeyi unuttum, o günlerde nadir bulunan özel bir jeti vardı. Artı o zamanlar 100,000 dolar, şimdi 10 kat değilse bile en az bir kat yeşil eder.
Not: Stratejiden bahsetti. Yazılarında. İsteyenler, TC'nin farklı bölümlerinden topladı. Gunn hepsini dağıttı, böylece kimse bedavaya alamadı.
Google'da işlem yapmanın bir yolunu buldum
ikinci resimdeki - prensibi anlamıyorum :-(
Size bir resim vereceğim. Gunn'ı anlayanlar, köşelerle çalışma prensibini, uzun bir giriş için nereye bakacaklarını ve nerede yuvarlanacaklarını hemen anlayacaklardır.
Ancak açı çizgisi algoritmasının doğru olmadığını düşünüyorum (başka bir yazılımda yazdığım ekli açı çizgisi göstergesine bakın), işte DeepSeek ile diyaloğum:
Ancak, DeepSeek benim için işe yaramayan bir değişiklik kodu verdi:
Sonunda, DeepSeek'ten kaynak kodunuzu değiştirmesini istemek zorunda kaldım (iyi çalışıyor ve çizgileri otomatik olarak çiziyor):