Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 1071

 
Anaksagor :

Üreticinin ağzından bu yanlış anlaşılma bir iltifat gibi görünüyor.

Pekala, ben nazikken kullan :-) Üzgün değilim ..... Ve makaleyi anlayamamış olman gerçeği, buna bile sevindim. Ne kadar azsak, o kadar çokuz :-)

 

Merhaba Maxim,

Yüksek ve Düşük fiyatlar eklemek istersem, sadece SADECE calcsignal () işlevini değiştirmem gerekiyor. Doğrumuyum?

Aşağıdaki kod doğru mu? Veya EA kodunda veya kitaplık kodunda başka değişiklikler yapmam gerekir mi?

Ayrıca bu kodda bir tane indikatör kodu verebilir misiniz?

geçersiz calcSignal()

{

sig1 = 0;

for(int i=0;i<ArraySize(ag1.agent);i++)

{

CopyClose(_Symbol, 0.0, 100, ag1.agent[i].inpVector);

normalizeArrays(ag1.agent[i].inpVector);

}

for(int i=0;i<ArraySize(ag1.agent);i++)

{

CopyHigh(_Symbol, 0.0, 100, ag1.agent[i].inpVector);

normalizeArrays(ag1.agent[i].inpVector);

}

for(int i=0;i<ArraySize(ag1.agent);i++)

{

CopyLow(_Symbol, 0.0, 100, ag1.agent[i].inpVector);

normalizeArrays(ag1.agent[i].inpVector);

}

sig1 = ag1.getTradeSignal();

}

 
hmm.. üzücü programlama
 
Maksim Dmitrievski :
mde .. üzücü programlama

Yukarıdaki kodun doğru olmadığını mı söylüyorsunuz yoksa GMDH kod uygulamasını mı kastediyorsunuz? GMGH kodu, hızlı bir şekilde bulduğum kaba bir uygulamaydı. Ama şimdilik iyileştiremiyorum. Kodlamanın daha iyi yolları olabileceğini düşünüyorum ve ben de deneyeceğim.

Mevcut kaynak kodunuzda, " ag1.agent [i] .inpVector " gibi benzer adlara ve çoklu nokta operatörlerine sahip birçok etmen veya değişken var, bu benim için tüm kodu gözden geçirene kadar bir kafa karışıklığı ...

 
FxTrader562 :

Yukarıdaki kodun doğru olmadığını mı söylüyorsunuz yoksa GMDH kod uygulamasını mı kastediyorsunuz? GMGH kodu, hemen bulduğum kaba bir uygulamaydı..Ama bunu yapmanın daha iyi yolları olabileceğini düşünüyorum..ama şimdilik bilmiyorum.

Mevcut kaynak kodunuzda, " ag1.agent [i] .inpVector " gibi benzer adlara ve çoklu nokta operatörlerine sahip birçok etmen veya değişken var, bu benim için tüm kodu gözden geçirene kadar bir kafa karışıklığı ...

daha önce açıkladım. 100 tahminciniz var, bu yüzden bu diziye 25 farklı kapanış fiyatı, 25 farklı açılış, 25 yüksek, 25 düşük kopyalamanız gerekiyor. Toplam 100

veya 4 öngörücü dizisi yapın ve 1 yakın, 1 açık,..... veya başka herhangi bir farklı gösterge değerini kopyalayın

Veya bir makale bekleyin, çünkü forum iletişimi çok zaman alıyor (benim için)

gdmh hakkında - birçok farklı uygulama var, bununla ilgili sorun yok. Ama görevim için ek araştırmaya ihtiyacım var

 
Maksim Dmitrievski :

daha önce açıkladım. 100 tahminciniz var, bu yüzden bu diziye 25 farklı kapanış fiyatı, 25 farklı açılış, 25 yüksek, 25 düşük kopyalamanız gerekiyor. Toplam 100

veya 4 öngörücü dizisi yapın ve 1 yakın, 1 açık,..... veya başka herhangi bir farklı gösterge değerini kopyalayın

Veya bir makale bekleyin, çünkü forum iletişimi çok zaman alıyor (benim için)

gdmh hakkında - birçok farklı uygulama var, bununla ilgili sorun yok. Ama görevim için ek araştırmaya ihtiyacım var

Evet anladım.

Ayrıca, kaynak kodunuz bende var ve bu nedenle, içinde fazla yorum olmadığı için anlamam ve değiştirmem biraz zaman alacak. Ayrıca, uzman düzeyinde bir programcı değilim. Bu yüzden sadece sizin yardımınızla süreci hızlandırmaya çalışıyordum :))

Neyse detaylı anlatımlı yazınızı bekliyorum.

Evet, daha önce bahsettiğim gibi GMDH ile ilgili olarak birden fazla yaklaşım ve birden fazla formül vardır ve bu nedenle, buna göre ATY uygulaması için hangisinin uygun olduğunu seçmeniz gerekir. GMDH'nin genel formülünü wikipedia bağlantısından bana daha önce verdiğiniz MQL5 koduna basitçe çevirdim veya dönüştürdüm.

Ayrıca, kodun anlaşılır olması için yeterince açıklama yaptım. MQL5 kodunu yazmadan önce birden fazla python koduna bakmaya çalıştım, ancak hiçbir şey ihtiyacımı karşılamadı. Bu yüzden GMDH'nin en basit yolunu bir function ve switch case deyimini kullanarak yazdım.

 
FxTrader562 :

Evet anladım.

Ayrıca, kaynak kodunuz bende var ve bu nedenle, içinde fazla yorum olmadığı için anlamam ve değiştirmem biraz zaman alacak. Ayrıca, uzman düzeyinde bir programcı değilim. Bu yüzden sadece sizin yardımınızla süreci hızlandırmaya çalışıyordum :))

Neyse detaylı anlatımlı yazınızı bekliyorum.

Evet, daha önce bahsettiğim gibi GMDH ile ilgili olarak birden fazla yaklaşım ve birden fazla formül vardır ve bu nedenle, buna göre ATY uygulaması için hangisinin uygun olduğunu seçmeniz gerekir. GMDH'nin genel formülünü wikipedia bağlantısından bana daha önce verdiğiniz MQL5 koduna basitçe çevirdim veya dönüştürdüm.

Ayrıca, kodun anlaşılır olması için yeterince açıklama yaptım. MQL5 kodunu yazmadan önce birden fazla python koduna bakmaya çalıştım, ancak hiçbir şey ihtiyacımı karşılamadı. Bu yüzden GMDH'nin en basit yolunu bir function ve switch case deyimini kullanarak yazdım.

Lineer bir durum tarif edilmiştir. Örneğin, 1. satır, 2. satır vb. için en iyi üyeleri arıyoruz. Sonra en iyi üyeleri formülden bir (yeni) değişkene ekleyin. RDF durumunda bunu yapamayız, çünkü bu doğrusal olmayan bir modeldir, bu nedenle seçimin her turunda tüm satırları bağımsız değişkenler olarak girdilere eklemeliyiz.

 
Maksim Dmitrievski :

Lineer bir durum tarif edilmiştir. Örneğin, 1. satır, 2. satır vb. için en iyi üyeleri arıyoruz. Sonra en iyi üyeleri formülden bir (yeni) değişkene ekleyin. RDF durumunda bunu yapamayız, çünkü bu doğrusal olmayan bir modeldir, bu nedenle seçimin her turunda tüm satırları bağımsız değişkenler olarak girdilere eklemeliyiz.

Size daha iyi yardımcı olabilmem için tam olarak nerede uygulamaya çalıştığınızı bana örnek bir kod verebilir misiniz?

w1,w2,w3 gibi ağırlıklardan mı bahsediyorsunuz? Bireysel girdiler olarak x1.w1,x2.w2,x3.w3.... beslediğimizde, eğitim sırasında hesaplanması ve RDF içinde saklanması gereken şeyler bunlar.

Unutmayın ki, fonksiyonlar düşünüldüğünde, lineer ve lineer olmayan fonksiyonlar diye bir şey yoktur, çünkü lineer olmayan bir fonksiyonu her zaman sonsuz lineer fonksiyonlara bölebilirsiniz. Bu yüzden, sebepsiz yere işleri karmaşıklaştırmayı düşünmüyorum. Bu nedenle girdi olarak küçük doğrusal fonksiyonlar kullanıyoruz ve gerekirse herhangi bir sayıya genişletebiliriz. Ama kodlama kısmı hakkında şimdilik pek bir şey söyleyemeyeceğim.

Lütfen daha iyi anlayabilmem için takıldığın RDF kodunu bana ver.

Veya benim koduma bakarak başka ne aradığınızı açıklayabilirsiniz.Çünkü anladığım kadarıyla GMDH formülünü koda çevirdim. Yani eğer gerekirse, ona rastgelelik getirebiliriz ya da temel fonksiyon bileşenlerini herhangi bir sayıya genişletebilir ve rastgele seçebiliriz.

 
FxTrader562 :

Size daha iyi yardımcı olabilmem için lütfen tam olarak uygulamaya çalıştığınız yere bir örnek kod verebilir misiniz?

w1,w2,w3 gibi ağırlıklardan mı bahsediyorsunuz? Bireysel girdiler olarak x1.w1,x2.w2,x3.w3.... beslediğimizde, eğitim sırasında hesaplanması ve RDF içinde saklanması gereken şeyler bunlar.

Unutmayın ki, fonksiyonlar düşünüldüğünde, lineer ve lineer olmayan fonksiyonlar diye bir şey yoktur, çünkü lineer olmayan bir fonksiyonu her zaman sonsuz lineer fonksiyonlara bölebilirsiniz. Bu yüzden, sebepsiz yere işleri karmaşıklaştırmayı düşünmüyorum. Bu yüzden girdi olarak küçük doğrusal fonksiyonlar kullanıyoruz ve gerekirse herhangi bir sayıya genişletebiliriz. Ama kodlama kısmı hakkında şimdilik pek bir şey söyleyemeyeceğim.

Lütfen daha iyi anlayabilmem için takıldığın RDF kodunu bana ver.

Veya benim koduma bakarak başka ne aradığınızı açıklayabilirsiniz.Çünkü anladığım kadarıyla GMDH formülünü koda çevirdim. Yani eğer gerekliyse, ona rastgelelik getirebiliriz veya basitçe temel fonksiyon bileşenlerini herhangi bir sayıya genişletebilir ve rastgele seçebiliriz.

doğrusal katsayıları bulmak için doğrusal regresyon kullanmalıyız, ancak bunu doğrudan RF ile de yapabiliriz. Şimdi bununla ilgili ilginç bir kitap okudum

Bu kitap, cebirsel ağ polinomları, çekirdek ağ polinomları, ortogonal ağ polinomları, trigonometrik ağ polinomları, rasyonel ağ polinomları ve dinamik ağ polinomları dahil olmak üzere ağaç yapılı ağlar biçiminde farklı polinomlar geliştirmektedir.
 
Maksim Dmitrievski :

doğrusal katsayıları bulmak için doğrusal regresyon kullanmalıyız, ancak bunu doğrudan RF ile de yapabiliriz. Şimdi bununla ilgili ilginç bir kitap okudum

Tamam, GMDH'nin tam olarak uygulanmasını istiyorsanız ve kodumu daha yüksek m değeriyle genişletmemiz gerekiyorsa, yapabilirim. Ama benim yapmanı istediğim şey önce bunu m değeri 3 ile uygulayıp M1 zaman diliminde test etmen çünkü M1 zaman dilimindeki mum kapanış fiyatları çok küçük ve dolayısıyla 3 parçaya bölmek amacımıza ulaşmak için yeterli.

Yani bu şekilde, GMDH'yi uygulayabilirseniz ve bir şekilde M1 zaman diliminde çalışıyorsa, daha yüksek zaman dilimleri için for döngüsünü 10 veya 15 gibi daha büyük m değerlerine genişletebiliriz.

Bu arada, şu anki kod uygulamanızda, aşağıdaki kodu kullandığınızda çekirdek hilesi kullandınız mı?

#define _kernel(ker,derece) (cos(MathPow(ker,derece)))

Tamamen araştırdım, ancak algoritmamı uygulamadan önce farklı çekirdekleri test etmek istediğim için kodunuzda hangi çekirdek işlevini kullandığınızı bulamadım:

http://crsouza.com/2010/03/17/kernel-functions-for-machine-learning-applications/

Bunun hangi çekirdek işlevi olduğuna dair bana biraz referans verebilir misiniz yoksa bu sadece sizin formülünüz mü?

Ayrıca mevcut kodunuza mum simülasyon algoritmasını başarıyla uyguladım. Ancak sadece bir haftalık simülasyon döneminden sonra çalışabilir. Bu yüzden simülasyonlara başlamadan önce birkaç şeyi doğrulamak istedim.

1.Kullandığım modellerin bir sınırı var mı? 1 milyon model kullanabilir miyim?

2.Kullandığım ajanların bir sınırı var mı? 1000 temsilci kullanabilir miyim?

3.Eğitilmiş veriler çok büyük olursa, ticaret kararları verirken yavaşlar mı? Yani ".rl" dosyası çok büyük olacaksa, o zaman yaklaşık olarak ne kadar ticaret yürütme gecikmesi bekleyebiliriz? Saniyedeki yineleme sayısı veya döngü vb. açısından bununla ilgili herhangi bir hesaplama yaptınız mı?

4.Temel olarak, eğitim sırasında CANLI ticaret için ".rl" dosyalarında saklanacak rastgele mumlar oluşturmak için modellerinizi ve aracılarınızı kullanıyorum. Bu sürümdeki ".rl" dosyaları, önceki sürümünüzün "Mtrees" dosyalarına benzer. Doğru mu?

Yaklaşık 280 ila 2800 yıllık optimizasyona eşdeğer olan toplam yaklaşık 10 ila 100 milyon mumluk bir simülasyon çalıştırmayı planlıyorum. Ancak eğitimi çalıştırmadan önce, kod ve yürütme hızı vb. hakkında birçok şeyi kontrol etmek istedim.

Boş zamanınız olduğunda, lütfen yukarıdaki sorularımı gözden geçirin ve daha fazla hesaplamama yardımcı olabilecek bazı cevaplar verin....