English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
Çoklu Regresyon Analizi. Strateji Oluşturucu ve Test Cihazı Bir Arada

Çoklu Regresyon Analizi. Strateji Oluşturucu ve Test Cihazı Bir Arada

MetaTrader 5Ticaret sistemleri | 22 Aralık 2021, 14:15
107 0
ArtemGaleev
ArtemGaleev

Giriş

Bir Forex alım satım kursuna katılan bir tanıdığım, bir keresinde bir alım satım sistemi geliştirmek için bir görev aldı. Yaklaşık bir hafta uğraştıktan sonra, bu işin muhtemelen tez yazmaktan daha zor olduğunu söyledi. O zaman çoklu regresyon analizini kullanmasını önerdim. Sonuç olarak, bir gecede sıfırdan geliştirilen bir alım satım sistemi, denetmen tarafından başarıyla onaylandı.

Çoklu regresyonu kullanmanın başarısı, göstergeler ve fiyat arasındaki ilişkileri hızlı bir şekilde bulma yeteneğindedir. Tespit edilen ilişkiler, belirli bir olasılık derecesi ile gösterge değerlerine dayalı olarak fiyat değerinin tahmin edilmesini sağlar. Modern istatistiksel yazılım, bu ilişkileri bulmaya çalışırken binlerce parametrenin aynı anda filtrelenmesine olanak tanır. Bu, endüstriyel olarak çakıldan altın elemekle karşılaştırılabilir.

Sırasıyla gösterge verileri çoklu regresyon analizine yüklenerek ve veri manipülasyonu uygulanarak kullanıma hazır bir strateji ve strateji oluşturucu geliştirilecektir.

Bu makale, çoklu regresyon analizini kullanarak bir alım satım stratejisi oluşturma sürecini gösterecektir.


1. Bir Robotrader Geliştirmek - Çocuk Oyuncağı!

Daha önce de belirtildiği gibi bir gecede geliştirilen alım satım sisteminin omurgası tek bir denklemdi:

Reg=22,7+205,2(buf_DeMarker[1]-buf_DeMarker[2])-14619,5*buf_BearsPower[1]+22468,8*buf_BullsPower[1]-139,3*buf_DeMarker[1]-41686*(buf_AC[1]-buf_AC[2])

Burada, Reg >0 ise satın alıyoruz ve Reg < 0 ise satıyoruz.

Denklem, standart göstergelerden veri örneğini kullanan çoklu regresyon analizinin bir sonucuydu. Denklem temelinde bir EA geliştirildi. Alım satım kararlarından sorumlu kod parçası neredeyse sadece 15 satırdan oluşuyordu. Eksiksiz bir kaynak kodu içeren EA eklendi (R_check).

   //--- checking the price change range
   double price=(mrate[2].close-mrate[1].close)/_Point;


   //--- if the range is big, do not take trades and close the current positions 
   if(price>250 || price<-250)
     {
      ClosePosition();
      return;

     }

   //--- regression equation
   double Reg=22.7+205.2*(buf_DeMarker[1]-buf_DeMarker[2])

                 -14619.5*buf_BearsPower[1]+22468.8*buf_BullsPower[1]
                 -139.3*buf_DeMarker[1]
                 -41686*(buf_AC[1]-buf_AC[2]);


   //--- checking for open positions
   if(myposition.Select(_Symbol)==true) //--- open positions found
     {
      if(myposition.PositionType()==POSITION_TYPE_BUY)

        {
         Buy_opened=true;  // long position (Buy)
        }
      if(myposition.PositionType()==POSITION_TYPE_SELL)
        {
         Sell_opened=true; //--- short position (Sell)

        }
     }

   //--- if an open position follows the trend as predicted by the equation, abstain from doing anything.
   if(Reg>0  &&  Buy_opened==true) return;
   if(Reg<=0 && Sell_opened==true) return;


   //--- if an open position is against the trend as predicted, close the position.
   if(Reg<=0 && Buy_opened==true) ClosePosition();
   if(Reg>0 && Sell_opened==true) ClosePosition();


   //--- opening a position in the direction predicted by the equation. 
   //--- using level 20 to filter the signal.
   if(Reg>20) BuyOrder(1);
   if(Reg<-20) SellOrder(1);

Regresyon analizi için veri örneği, 1 Temmuz 2011'den 31 Ağustos 2011'e kadar iki ay boyunca EURUSD H1'de toplandı.

Şek. 1'de, geliştirildiği veri dönemi boyunca EA performans sonuçları gösterilmiştir. Test cihazında sıklıkla görülen süper karın eğitim verilerinde gözlemlenmemesi tuhaftır. Yeniden optimizasyon eksikliğinin bir işareti olmalı.

Şek. 1. Eğitim dönemi boyunca EA performansı

Şek. 1. Eğitim dönemi boyunca EA performansı

Şek. 2'de, test verileri üzerindeki EA performans sonuçları gösterilmiştir (1 Eylül'den 1 Kasım 2011'e kadar). Görünüşe göre iki aylık veriler, EA'nın iki ay daha karlı kalması için yeterliydi. Bununla birlikte, EA tarafından test dönemi boyunca elde edilen kar, eğitim dönemi boyunca aynıydı.

Şek. 2. Test dönemi boyunca EA performansı

Şek. 2. Test dönemi boyunca EA performansı

Böylece, çoklu regresyon analizine dayalı olarak, eğitim verilerinin ötesinde kar sağlayan oldukça basit bir EA geliştirildi. Dolayısıyla, regresyon analizi, alım satım sistemleri oluşturulurken başarıyla uygulanabilir.

Ancak, regresyon analizinin kaynakları fazla abartılmamalıdır. Avantajları ve dezavantajları aşağıda daha ayrıntılı olarak açıklanacaktır.


2. Çoklu Regresyon Analizi

Çoklu regresyonun genel amacı, birkaç bağımsız değişken ile bir bağımlı değişken arasındaki ilişkinin analizidir. Bizim durumumuzda, göstergelerin değerleri ile fiyat hareketi arasındaki ilişkinin analizidir.

En basit haliyle, bu denklem aşağıdaki gibi görünebilir:

Fiyat değişikliği = a * RSI + b * MACD + с

Bir regresyon denklemi ancak bağımsız değişkenler ile bağımlı değişken arasında bir korelasyon varsa oluşturulabilir. Göstergelerin değerleri kural olarak birbiriyle ilişkili olduğu için, göstergelerin tahmine katkısı, analize bir gösterge eklendiğinde veya çıkarıldığında gözle görülür bir şekilde değişebilir. Lütfen bir regresyon denkleminin nedensel ilişkilerin bir açıklaması değil, yalnızca sayısal bağımlılığın bir gösterimi olduğunu unutmayın. Katsayılar (a, b) her bağımsız değişkenin bağımlı değişkenle olan ilişkisine yaptığı katkıyı gösterir.

Bir regresyon denklemi, değişkenler arasında ideal bir bağımlılığı temsil eder. Ancak bu, Forex'te imkansızdır ve tahmin her zaman gerçeklikten farklı olacaktır. Tahmin edilen ve gözlemlenen değer arasındaki fark artık olarak adlandırılır. Artıkların analizi, diğerlerinin yanı sıra, gösterge ve fiyat arasında doğrusal olmayan bir bağımlılığın belirlenmesine olanak tanır. Bizim durumumuzda, göstergeler ve fiyat arasında yalnızca doğrusal olmayan bir bağımlılık olduğunu varsayıyoruz. Neyse ki, regresyon analizi doğrusallıktan küçük sapmalardan etkilenmez.

Yalnızca kantitatif parametreleri analiz etmek için kullanılabilir. Geçiş değerlerine sahip olmayan kalitatif parametreler analiz için uygun değildir.

Regresyon analizinin herhangi bir sayıda parametreyi işleyebilmesi gerçeği, bunların analize mümkün olduğunca çoğunu dahil etme eğilimine yol açabilir. Ancak, bağımsız parametrelerin sayısı, bunların bağımlı bir parametreyle etkileşimlerine ilişkin gözlem sayısından büyükse, iyi tahminler üreten denklemler elde etmek için büyük bir şans vardır, ancak bunlar rastgele dalgalanmalara dayanır.

Gözlem sayısı, bağımsız parametre sayısından 10-20 kat daha fazla olacaktır.

Bizim durumumuzda, veri örneğinde yer alan gösterge sayısı, örneğimizdeki alım satım işlemi sayısından 10-20 kat daha fazla olacaktır. Oluşturulan denklem daha sonra güvenilir olarak kabul edilecektir. Bölüm 1'de açıklanan Robotrader'ın geliştirildiği örnek, 33 parametre ve 836 gözlem içeriyordu. Sonuç olarak, parametre sayısı gözlem sayısından 25 kat daha fazla olmuştur. Bu gereklilik, istatistikte genel bir kuraldır. Bu, ayrıca MetaTrader 5 Strateji Test Cihazı optimize edici için de geçerlidir.

Ayrıca, optimize edicideki göstergenin verilen her değeri aslında ayrı bir parametredir. Başka bir deyişle, 10 gösterge değerini test ederken, yeniden optimizasyondan kaçınmak için dikkate alınması gereken 10 bağımsız parametre ile uğraşıyoruz. Optimize edicinin bir raporu muhtemelen başka bir parametre içermelidir: ortalama alım satım işlemi sayısı/tüm optimize edilmiş parametrelerin değer sayısı. Gösterge değeri ondan küçükse, yeniden optimizasyonun gerekli olma ihtimali vardır.

Dikkate alınması gereken bir diğer şey de aykırı değerlerdir. Nadir ama güçlü olaylar (bizim durumumuzda ani fiyat artışları) denkleme yanlış bağımlılıklar ekleyebilir. Örneğin, beklenmedik bir haberin ardından piyasanın, birkaç saat süren güçlü hareketlerle karşılık vermesi gibi. Teknik göstergelerin değerleri bu durumda tahminde çok az önemli olacak, ancak belirgin bir fiyat değişikliği olduğu için regresyon analizinde oldukça önemli kabul edilecekti. Bu nedenle, örnek verileri filtrelemeniz veya olası aykırı değerler için kontrol etmeniz önerilir.


3. Kendi Stratejinizi Oluşturmak

Kendi verilerinize dayanarak bir regresyon denkleminin nasıl oluşturulacağını göreceğimiz temel kısma yaklaştık. Regresyon analizinin uygulanması, daha önce açıklanan diskriminant analizinin uygulamasına benzerdir. Regresyon analizi şunları içerir:

  1. Analiz için verilerin hazırlanması;
  2. Hazırlanan verilerden en iyi değişkenlerin seçilmesi;
  3. Bir regresyon denkleminin elde edilmesi.

Çoklu regresyon analizi, istatistiksel veri analizine yönelik çok sayıda gelişmiş yazılım ürününün bir parçasıdır. En popülerleri şunlardır: Statistica (StatSoft Inc. tarafından) ve SPSS (IBM Corporation tarafından). Statistica 8.0'ı kullanarak regresyon analizinin uygulamasını ayrıca ele alacağız.


3.1. Analiz için Verilerin Hazırlanması

Bir sonraki çubuktaki fiyat davranışının mevcut çubuktaki gösterge değerlerine dayalı olarak tahmin edilebileceği bir regresyon denklemi oluşturacağız.

Diskriminant analizi veri hazırlığı için kullanılan aynı EA, veri toplamak için kullanılacaktır. Gösterge değerlerini diğer dönemlerle kaydetmek için bir işlev ekleyerek işlevselliğini genişleteceğiz. Aynı göstergelerin farklı dönemlerle analizine dayanan strateji optimizasyonu için genişletilmiş bir parametre kümesi kullanılacaktır.

Statistica'ya veri yüklemek için aşağıdaki yapıya sahip bir CSV dosyanız olması gerekir. Değişkenler, her sütunun belirli bir göstergeye karşılık geldiği sütunlarda düzenlenecektir. Satırlar, ardışık ölçümleri (durumları), yani belirli çubuklar için gösterge değerlerini içerecektir. Başka bir deyişle, yatay tablo başlıkları göstergeler içerirken, dikey tablo başlıkları ardışık çubuklar içerir.

Analiz edilecek göstergeler şunlardır:

Dosyamızın her veri satırı şunları içerecektir:

  • Açılış ve Kapanış arasındaki çubukta fiyat değişiklikleri;
  • Bir önceki çubukta gözlemlenen göstergelerin değerleri.

Böylece, bilinen gösterge değerlerine dayalı olarak gelecekteki fiyat davranışını tanımlayan bir denklem oluşturacağız.

Mutlak gösterge değeri dışında, göstergelerdeki değişimin yönünü görmek için mutlak ve önceki değerler arasındaki farkı kaydetmemiz gerekir. Sunulan örnekte bu tür değişkenlerin adları 'd' önekine sahip olacaktır. Sinyal çizgisi göstergeleri için ana ve sinyal çizgisi arasındaki farkın ve dinamiklerinin kaydedilmesi gerekir. Diğer dönemlere sahip göstergeler tarafından toplanan verilerin adları '_p' ile biter.

Optimizasyonu göstermek için, göstergenin standart döneminin uzunluğunun iki katı olan yalnızca bir dönem eklenmiştir. Ayrıca, yeni çubuğun zamanını ve ilgili saat değerini kaydedin. Göstergelerin hesaplandığı çubuk için Açılış ve Kapanış arasındaki farkı kaydedin. Bu, aykırı değerlerin filtrelenmesi için gerekli olacaktır. Sonuç olarak, çoklu regresyon denklemi oluşturmak için 33 parametre analiz edilecektir. Yukarıdaki veri toplama, makaleye eklenen EA R_collection'da uygulanır.

MasterData.CSV dosyası, terminal_data_directory/MQL5/Files içinde EA başlatıldıktan sonra oluşturulacaktır. EA'yı Test Cihazında başlatırken, bu, terminal_data_directory/tester/Agent-127.0.0.1-3000/MQL5/Files içinde bulunur. Elde edilen dosya Statistica'da kullanılabilir.

Böyle bir dosyanın bir örneği MasterDataR.CSV'de bulunabilir. Veriler EURUSD H1 için 3 Ocak 2011 ile 11 Kasım 2011 tarihleri arasında Strateji Test Cihazı kullanılarak toplanmıştır. Analizde yalnızca Ağustos ve Eylül verileri kullanılmıştır. Kalan veriler, pratik yapmanız için bir dosyaya kaydedilmiştir.

Statistica'da .CSV dosyasını açmak için aşağıdaki işlemleri gerçekleştirin.

  • Statistica'da Dosya > Aç menüsüne gidin, 'Veri dosyaları' dosya türünü seçin ve .CSV dosyanızı açın.
  • Metin Dosyası İçe Aktarma Türü penceresinde Sınırlandırılmış olarak bırakın ve Tamam'a tıklayın.
  • Açılan pencerede altı çizili öğeleri etkinleştirin.
  • Ondalık noktayı, ondalık ayırıcı karakter alanına, orada olup olmadığına bakmaksızın koymayı unutmayın.

Şek. 3. Dosyayı Statistica'ya içe aktarma

Şek. 3. Dosyayı Statistica'ya içe aktarma

Çoklu regresyon analizi için hazır olan verilerimizi içeren tabloyu almak için Tamam'a tıklayın. Statistica'nın kullanılması için elde edilen dosyanın bir örneği MasterDataR.STA'da bulunabilir.


3.2. Göstergelerin Otomatik Seçimi

Regresyon analizini çalıştırın (İstatistikler->Çoklu Regresyon).

Şek. 4. Regresyon analizini çalıştırma

Şek. 4. Regresyon analizini çalıştırma 

Açılan pencerede Gelişmiş sekmesine gidin ve işaretli öğeleri etkinleştirin. Değişkenler düğmesine tıklayın.

İlk alanda Bağımlı değişkeni ve ikinci alanda denklemin oluşturulacağı bağımsız değişkenleri seçin. Bizim durumumuzda, ilk alanda Fiyat parametresini ve ikinci alanda Fiyat 2 ila dWPR öğesini seçin.

Şek. 5. Parametre seçme hazırlığı

Şek. 5. Parametre seçme hazırlığı

Durumları Seç düğmesine tıklayın (Şek. 5).

Analizde kullanılacak durumların (veri satırları) seçimi için bir pencere açılacaktır. Öğeleri Şek. 6'da gösterildiği gibi etkinleştirin.

Şek. 6. Durumların seçimi

Şek. 6. Durumların seçimi

Analizde kullanılacak Temmuz ve Ağustos ayına ait verileri belirtin. Bunlar 3590'dan 4664'e kadar olan durumlardır. Durum sayıları V0 değişkeni aracılığıyla ayarlanır. Aykırı değerlerin ve ani fiyat artışlarının etkisinden kaçınmak için fiyata göre veri filtrelemesi ekleyin.

Analize yalnızca son çubukta Açılış ve Kapanış arasındaki farkın 250 puandan fazla olmadığı gösterge değerlerini dahil edin. Burada analiz için durum seçme kurallarını belirterek, regresyon denklemi oluşturma için bir veri örneği belirledik. Parametre seçimine hazırlanmak için burada ve pencerede Tamam'a tıklayın (Şek. 5).

Otomatik veri seçim yöntemlerinin seçeneklerini içeren bir pencere açılacaktır. Forward Stepwise yöntemini seçin (Şek. 7).

Şek. 7. Yöntem seçimi

Şek. 7. Yöntem seçimi

Tamam'a tıklayın. Regresyon analizinin başarıyla tamamlandığını bildiren bir pencere açılacaktır.

Şek. 8. Regresyon analizi sonuçları penceresi

Şek. 8. Regresyon analizi sonuçları penceresi

Otomatik parametre seçimi, yalnızca parametreler (bağımsız değişkenler) ile bağımlı değişken arasındaki çoklu korelasyona büyük ölçüde katkıda bulunanlarla ilgilidir. Bizim durumumuzda, fiyatı en iyi belirleyen bir dizi gösterge seçilecektir. Gerçekte, otomatik seçim bir strateji oluşturucu işlevi görür. Oluşturulan denklem yalnızca güvenilir ve fiyat davranışını en iyi tanımlayan göstergelerden meydana gelecektir.

Sonuç penceresinin üst kısmı (Şek. 8) oluşturulan denklemin istatistiksel özelliklerini içerirken, denklemde yer alan parametreler alt kısımda listelenmiştir. Lütfen altı çizili özelliklere dikkat edin. Çoklu R, fiyat ve denklemde yer alan göstergeler arasındaki çoklu korelasyonun değeridir. "p", bu tür bir korelasyonun istatistiksel anlamlılık düzeyidir.

0,05'ten küçük bir düzey istatistiksel olarak anlamlı kabul edilir. "Durum sayısı", analizde kullanılan durum sayısıdır. Katkısı istatistiksel olarak anlamlı olan göstergeler kırmızı ile gösterilir. İdeal olarak, tüm göstergeler kırmızı ile işaretlenecektir.

Statistica'da parametreleri analize dahil etmek için kullanılan kurallar her zaman optimum değildir. Örneğin, bir regresyon denklemine çok sayıda önemsiz parametre dahil edilebilir. Bu nedenle yaratıcılığımızı kullanmalı ve programa parametreleri seçme konusunda yardımcı olmalıyız.

Liste önemsiz parametreler içeriyorsa, Özet'e tıklayın: Regresyon sonuçları.

Her göstergedeki verileri gösteren bir pencere açılacaktır (Şek. 9).

Şek. 9. Regresyon denkleminde yer alan parametreleri içeren rapor

Şek. 9. Regresyon denkleminde yer alan parametreleri içeren rapor

En yüksek p-düzeyine sahip önemsiz bir parametre bulun ve adını hatırlayın. Parametrelerin analize dahil edildiği adıma geri dönün (Şek. 7) ve bu parametreyi analiz için seçilen parametreler listesinden kaldırın.

Geri dönmek için analiz sonuçları penceresinde İptal'e tıklayın ve analizi tekrarlayın. Tüm önemsiz parametreleri bu şekilde hariç tutmaya çalışın. Bunu yaparken, elde edilen çoklu korelasyon değerine (Çoklu R) dikkat edin; zira başlangıç değerinden önemli ölçüde düşük olmamalıdır. Önemsiz parametreler analizden tek tek veya hepsi birden çıkarılabilir; ilk seçenek daha çok tavsiye edilir.

Sonuç olarak, tablo artık yalnızca önemli parametreleri içerir (Şek. 10). Korelasyon değeri, muhtemelen rastgele tesadüflerden dolayı %20 oranında azalmıştır. Sonsuz uzunlukta bir sayısal serinin sonsuz sayıda rastgele tesadüfe sahip olduğu bilinmektedir.

İşlediğimiz veri örnekleri oldukça büyük olduğu için, rastgele tesadüfler ve rastgele ilişkiler genellikle söz konusudur. Bu nedenle, stratejilerinizde istatistiksel olarak anlamlı parametreleri kullanmanız önemlidir.

Şek. 10. Denklem yalnızca önemli parametreleri içerir

Şek. 10. Denklem yalnızca önemli parametreleri içerir

Parametrelerin seçilmesinin ardından, fiyatla önemli ölçüde ilişkili birkaç gösterge grubu oluşturulamıyorsa, fiyatın geçmiş olaylar hakkında çok az bilgi içermesi muhtemeldir. Herhangi bir teknik analize dayalı alım satım işlemleri, bu gibi durumlarda çok tedbirli olmalı ve hatta tamamen askıya alınmalıdır.

Bizim durumumuzda, 33 parametreden yalnızca beşinin regresyon denklemi temelinde bir strateji geliştirmede etkili olduğu kanıtlanmıştır. Regresyon analizinin bu kalitesi, kendi stratejileriniz için göstergeler seçerken büyük fayda sağlar.


3.3. Regresyon Denklemi ve Analizi

Böylece regresyon analizini yaptık ve 'doğru' göstergelerin listesini elde ettik. Şimdi tümünü bir regresyon denklemine dönüştürelim. Her gösterge için denklem katsayıları, regresyon analizi sonuçlarının B sütununda gösterilmiştir (Şek. 10). Aynı tablodaki Intercept parametresi, denklemin bağımsız bir üyesidir ve buna bağımsız bir katsayı olarak dahil edilir.

B sütunundan katsayıları alarak tabloya (Şek. 10) dayalı bir denklem oluşturalım.

Fiyat = 22,7 + 205,2*dDemarker - 41686,2*dAC - 139,3*DeMarker + 22468,8*Boğalar - 14619,5*Ayılar

Bu denklem daha önce bölüm 1'de MQL5 kodu olarak ve bu denklem temelinde geliştirilen EA için Test Cihazından elde edilen performans sonuçlarıyla ortaya konmuştu. Görüldüğü gibi, strateji test cihazı olarak kullanıldığında regresyon analizi yeterli olmuştur. Analiz, belirli bir stratejiyi ortaya çıkardı ve önerilen listeden ilgili göstergeleri seçti.

Denklemin kararlılığını daha fazla analiz etmek istemeniz durumunda şunları kontrol etmeniz gerekir:

  • Denklemdeki aykırı değerler;
  • Artıkların dağılımının normalliği;
  • Denklem içindeki bireysel parametreler tarafından üretilen doğrusal olmayan etki.

Bu kontroller, artık analizi kullanılarak gerçekleştirilebilir. Analize devam etmek için sonuçlar penceresinde Tamam'a tıklayın (Şek. 8). Oluşturulan denklemle ilgili olarak yukarıdaki kontrolleri yaptıktan sonra, denklemin az sayıda aykırı değere, verilerin normal dağılımından küçük sapmalara ve parametrelerin belirli bir doğrusal olmama durumuna duyarlı görünmediğini göreceksiniz.

Önemli bir doğrusal olmayan ilişki varsa, bir parametre doğrusallaştırılabilir. Bu amaçla, Statistica sabit bir doğrusal olmayan regresyon analizi sunar. Analizi başlatmak için menüye gidin: İstatistikler -> Gelişmiş Doğrusal/Doğrusal Olmayan Modeller -> Doğrusal Olmayan Sabit Regresyon. Genel olarak, gerçekleştirilen kontroller, çoklu regresyon analizinin analiz edilen verilerdeki orta düzeyde gürültüye duyarlı olmadığını kanıtlamıştır.


4. Strateji Optimize Edici Olarak Regresyon Analizi

Regresyon analizi binlerce parametreyi işleyebildiği için, stratejileri optimize etmek için kullanılabilir. Böylece, bir gösterge için 50 dönemin işlenmesi gerekiyorsa, bunlar 50 ayrı parametre olarak kaydedilebilir ve hepsi birden regresyon analizine gönderilebilir. Statistica'daki bir tablo 65536 parametreye sığabilir. Her gösterge için 50 dönem işlenirken yaklaşık 1300 gösterge analiz edilebilir! Bu, MetaTrader 5 Standart Test Cihazı'nda özelliklerinin çok ötesindedir.

Örneğimizde kullanılan verileri de aynı şekilde optimize edelim. Yukarıda bölüm 4.1'de bahsedildiği gibi, optimizasyonu göstermek için, verilere standart dönemin uzunluğunun iki katı olan bir döneme sahip gösterge değerleri eklenmiştir. Veri dosyalarındaki bu parametrelerin adları '_p' ile biter. Örneğimiz artık standart dönem göstergeleri de dahil olmak üzere 60 parametre içermektedir. Bölüm 3.2'de belirtilen adımları takip ederek aşağıdaki gibi bir tablo elde edeceğiz (Şek. 11).

Şek. 11. Farklı dönemlere sahip göstergelerin analiz sonuçları

Şek. 11. Farklı dönemlere sahip göstergelerin analiz sonuçları

Regresyon denklemi, altısı standart dönem göstergelerinden ve beşi uzatılmış dönem göstergelerinden olmak üzere 11 parametreden oluşur. Parametrelerin fiyatla korelasyonu dörtte bir oranında artmıştır. Her iki dönem için MACD göstergesi parametrelerinin denkleme dahil olduğu ortaya çıktı.

Aynı göstergenin farklı dönemler için değerleri, regresyon analizinde farklı parametreler olarak işlendiği için, denklem, farklı dönemler için göstergelerin değerlerini içerebilir ve birleştirebilir. Örneğin, analiz, RSI(7) değerinin fiyat artışı ile ilişkili olduğunu ve RSI(14) değerinin fiyat düşüşü ile ilişkili olduğunu keşfedebilir. Standart Test Cihazı tarafından yapılan analiz hiçbir zaman bu kadar ayrıntılı değildir.

Genişletilmiş analiz temelinde oluşturulan regresyon denklemi (Şek. 11), aşağıdaki gibidir:

Fiyat = 297 + 173*dDemarker - 65103*dAC - 177*DeMarker + 28553*Bulls_p - 24808*AO - 1057032*dMACDms_p + 2,41*WPR_p - 2,44*Stoch_m_p + 125536*MACDms + 18,65*dRSI_p - 0,768*dCCI

Bu denklemin EA'da vereceği sonuçları görelim. Şek. 12'de, regresyon analizinde uygulanan 1 Temmuz ile 1 Eylül 2011 tarihleri arasındaki verileri kullanarak EA testinin sonuçları gösterilmiştir. Grafik daha düzgün hale geldi ve EA daha fazla kar sağladı.

Şek. 12. Eğitim dönemi boyunca EA performansı

Şek. 12. Eğitim dönemi boyunca EA performansı

EA'yı 1 Eylül ile 1 Kasım 2011 tarihleri arasındaki test dönemi boyunca test edelim. Kar grafiği, yalnızca standart dönem göstergeleri ile EA durumunda olduğundan daha kötü hale geldi. Oluşturulan denklemin, dahili göstergelerin normalliği ve doğrusal olmaması açısından kontrol edilmesi gerekebilir.

Standart dönem göstergelerinde doğrusal olmama durumu gözlemlendiği için, bu, uzun dönemde kritik hale gelebilir. Bu durumda, denklem performansı, parametreler doğrusallaştırılarak iyileştirilebilir. Her halükarda, EA test dönemi boyunca tam bir erime değildi, yalnızca kar etmedi. Bu, geliştirilen stratejiyi oldukça kararlı olarak nitelendirir.

Şek. 13. Test dönemi boyunca EA performansı

Şek. 13. Test dönemi boyunca EA performansı

MQL5'in bir dosyanın bir satırında yalnızca 64 parametrenin çıktısını desteklediğine dikkat edilmelidir. Çeşitli dönemlerdeki göstergelerin büyük ölçekli analizi, Statistica veya MS Excel'de hazırlanabilecek veri tablolarının birleştirilmesini gerektirecektir.


Sonuç

Makalede sunulan küçük bir çalışma, regresyon analizinin çeşitli göstergeler arasından fiyat tahmini açısından en önemlilerini seçme fırsatı sağladığını göstermiştir. Ayrıca, regresyon analizinin belirli bir örnek içinde optimum olan gösterge dönemlerini aramak için kullanılabileceğini de göstermiştir.

Regresyon denklemlerinin kolaylıkla MQL5 diline dönüştürüldüğü ve uygulamalarının yüksek programlama yeterliliği gerektirmediği unutulmamalıdır. Bu nedenle, alım satım stratejisi geliştirmede çoklu regresyon analizi kullanılabilir. Bununla birlikte, bir regresyon denklemi, bir alım satım stratejisi için bir omurga işlevi görebilir.


MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal makale: https://www.mql5.com/ru/articles/349

Ekli dosyalar |
masterdatar.zip (5271.46 KB)
r_check.mq5 (9.93 KB)
r_collection.mq5 (17.37 KB)
Yeni Müşteriler İçin Birkaç İpucu Yeni Müşteriler İçin Birkaç İpucu
Genellikle çeşitli ünlü kişilere atfedilen meşhur bir söz vardır: "Hata yapmıyorsan, hiçbir şey yapmıyorsun demektir." Aylaklığın kendisinin bir hata olduğunu düşünmedikçe, bu ifadeye itiraz etmesi zor. Ancak gelecekteki hatalarınızın sayısını en aza indirmek için her zaman geçmişteki hatalarınızı (kendinizin ve başkalarının) analiz edebilirsiniz. Aynı ad hizmetinde işler yürütülürken ortaya çıkabilecek olası durumları gözden geçirmeye çalışacağız.
MetaTrader 5'i MetaTrader 4 için Sinyal Sağlayıcı Olarak Kullanma MetaTrader 5'i MetaTrader 4 için Sinyal Sağlayıcı Olarak Kullanma
Alım satım analizinin MetaTrader 5 platformunda nasıl gerçekleştirilebileceğinin, ancak MetaTrader 4 tarafından yürütülebileceğinin analizi ve tekniklerin örnekleri. Makalede size MetaTrader 5'inizde basit sinyal sağlayıcı oluşturma ve hatta MetaTrader 4 çalışırken dahi birden fazla istemciyle ona nasıl bağlanacağınız gösterilecektir. Ayrıca gerçek MetaTrader 4 hesabınızda Otomatik Alım Satım Şampiyonası katılımcılarını nasıl takip edebileceğinizi de öğreneceksiniz.
Box-Cox Dönüşümü Box-Cox Dönüşümü
Makale, okuyucularını Box-Cox dönüşümü hakkında bilgilendirmeyi amaçlamaktadır. Kullanımı ile ilgili konular ele alınmış ve rastgele diziler ve gerçek fiyat teklifleriyle dönüşüm verimliliğinin değerlendirilmesine olanak tanıyan bazı örnekler verilmiştir.
MQL5-RPC. MQL5'ten Uzaktan Prosedür Çağrıları: Eğlence ve Kar için Web Hizmeti Erişimi ve XML-RPC ATC Çözümleyici MQL5-RPC. MQL5'ten Uzaktan Prosedür Çağrıları: Eğlence ve Kar için Web Hizmeti Erişimi ve XML-RPC ATC Çözümleyici
Bu makale, MQL5'ten Uzaktan Yordam Çağrılarını etkinleştiren MQL5-RPC çerçevesini açıklar. XML-RPC temelleri, MQL5 uygulaması ile başlar ve iki gerçek kullanım örneği ile devam eder. İlk örnek harici web servisini kullanmaktır ve ikincisi basit XML-RPC ATC 2011 Çözümleyici servisinin istemcisidir. ATC 2011'den farklı istatistikleri gerçek zamanlı olarak nasıl uygulayacağınızı ve analiz edeceğinizi merak ediyorsanız bu makale tam size göre.