Telif hakkı - sayfa 4

 
Günahla senkronizasyonu yarı yarıya anladım. Lütfen komut dosyası veya Uzman Danışman süresince terminali dondurmanın (tırnak tekliflerini kabul etmemesi için) herhangi bir yolu olup olmadığını söyleyin.
 
ivandurak :
Günahla senkronizasyonu yarı yarıya anladım. Lütfen komut dosyası veya Uzman Danışman süresince terminali dondurmanın (tırnakları kabul etmemesi için) herhangi bir yolu olup olmadığını söyleyin.

Bu saçmalık.

Neden gerekli?

 
her.human :

Bu saçmalık.

Neden gerekli?

Bir gösterge veya komut dosyası danışmanının içine doldurulabilen çoklu para birimi test cihazını neredeyse bitirdim, umarım. Tarihte boşlukların varlığında farklı ticaret araçlarının senkronizasyonunda büyük bir zorluk vardı. Burada bir delik sadece kaçırılan bir çubuk olarak anlaşılmaz.Örneğin, euro ve Gazprom hisselerini analiz ediyoruz, işlem süresinin farklı olduğu açık, bu nedenle Gazprom'da hafta sonları da dahil olmak üzere euroya göre birçok boşluk olacak. ve tatiller. Durumdan çıktım - seçilen tarih bölümünde boşluklar olmadan seçilen zaman diliminde örnek bir açılış saatleri dizisi oluşturulur. Daha sonra örnek dizinin açılış zamanı ile alım satım enstrümanının açılış zamanı karşılaştırılır, eğer zamanlar çakışırsa alım satım enstrümanının bar numarası kaydedilir ve bu sayı TS'ye aktarılır.TS, gösterge değerlerini hesaplar. bu numara üzerine SATIN AL, HÜCRE, TRALL vb. emirler verir. Şimdi birkaç ticaret enstrümanımız var ve bunların yeniden hesaplanması sırasında bir sonraki çubuk son enstrümanda başlayabilir, sonuç olarak, hesaplamalar için döndürülen çubuk tüm sonuçlarla birlikte kaydırılır. Çıkış - çubuk numarasını sürekli olarak ayarlayabilirsiniz, ancak bu, kodun iyi bir komplikasyonudur. Önerdiğiniz gibi TS'ye barın numarasından değil, hesaplamaların yapıldığı açılış saatine dönmek mümkün ama o zaman bu kullanıcı için bir komplikasyon (şimdilik, eğiliyorum) bu seçeneğe doğru). Deinit tamamlanana kadar yerleşik test cihazı yeni bir fiyat değeri vermeyeceğinden, program tamamlanana kadar terminali yavaşlatmanın bir yolu olabileceğini düşündüm.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
ivandurak :
TS'ye çubuk numarasına değil, hesaplamaların yapıldığı açılış saatine dönün, ancak o zaman bu kullanıcı için bir komplikasyondur
 CopyTime ( "EURUSD" , 0 ,Время,Количество_Баров,Time);
CopyOpen ( "EURUSD" , 0 ,Время,Количество_Баров,OpenEU);
Zorluk yok gibi.
 

İşte çoklu para birimi ticaretinin ilk işareti. Sizi hemen uyarayım, bu bir sürüm bile değil, kod optimize edilmemiş ve tam olarak debug edilmemiş, içinde hatalar olmalı. Bir göz atmak ve dileklerinizi ifade etmek zor değilse tükürmek için henüz çok erken.

Test cihazı, seçilen bir tarih parçasının çoklu para birimi testi için tasarlanmıştır. Tüm ticaret fonksiyonları 4-ki'den alınmıştır. Tamamlandıktan sonra ayrıntılı talimatlar.

Tüm ilgi tablolarının aynı zaman dilimlerinde açılması gerektiğini eklemeyi unuttum.

Dosyalar:
Tester.mqh  61 kb
 

İlk sürüm

İyi günler, dikkatinize komut dosyaları, göstergeler veya danışmanlar içinde çok para birimli bir test cihazı yazmak için bir ders sunuyoruz.Testler açılış fiyatlarında gerçekleşir.

Sınıf Yöntemleri

geçersiz   Initialization() ;// bu metotta değişkenler sıfırlanır, metot en baştan olmalıdır, iş onunla başlar.

geçersiz   AddSymbol(dize Symb) ;//   test cihazına bir test sembolü ekleme yöntemi, sembol yüklenmelidir ve terminal, test süresi için bir grafik görüntüler.

bool   SetBeginEnd( int Begined, int Ended);// test edilen geçmişin başlangıcını ve sonunu ayarlar. Kabul edilen standart göz önüne alındığında, indeksleme sondan başlar. bu nedenle, test edilen geçmişin ilk çubuğu, sondan daha büyüktür.

geçersiz Görselleştirme(doğru); // anlaşmaları görselleştirme izni .Varsayılan olarak devre dışı

geçersiz   Yazdırma (true) ;// işlem sonuçlarının günlüğe çıktısı varsayılan olarak devre dışıdır .

bool   Start(datetime &IndexInstrum[]) bu yöntemde, seçilen test süresinin sonu kontrol edilir ve test edilen aletlerin çubuğunun başlangıç zamanının bir dizisi döndürülür. Bu, boşluklara bağlı olarak farklı araçların testlerini senkronize etmek için gereklidir.

int GetBarsNambe(string Gsimb,datetime TimeOpen);// seçilen sembol için çubuk numarasını ve çubuğun açılma zamanını döndürür.

void Vedenie_v(), verilen tüm siparişlerin tetikleme, durdurma veya kâr ile kapanma açısından kontrol edildiği ana yöntemdir.

Test, Mql 4 modelini takip eder   yani her sipariş kendi hayatını yaşar, böylece karşı siparişleri kilitleyebilir ve açabilirsiniz.

Tüm ticaret fonksiyonu yöntemleri de Mql 4'ten alınmıştır. Bu, bu dilde yazılmış Uzman Danışmanların kolay uyarlanması için yapılır.

dikkat yöntemi   OrderClose_v seçilen pozisyonu tamamen kapatır.

SiparişKapat   yok .

double OrderProfit_v(), kaldıracı hesaba katmadan karı hesaplar, farklı test edilmiş enstrümanlar için kaldıraç farklı olabilir.

Gerisi tamamen değişmedi, belgelere bakın.

Başvuru prosedürü

Başlatma önce gelir. Ardından test edilen geçmişin seçimi. Ardından test araçlarını ekleyin. Gerekirse işleme izni. Gerekirse raporun çıktısını alma izni.

Testin kendisi döngü içinde gerçekleşir   Yapmak - iken

Yöntem önce gelmelidir

aaa=Test.Başlat(zamanaçma) ; testin bittiğine dair bir işaret ve test edilmekte olan enstrümanlar için bir dizi çubuk açılış zamanı döndürür. timeopen'ın boyutu test edilen cihaz sayısıyla eşleşmelidir.Örneğin timeopen[0] < 0 ise, bu geçmişte bir atlama işaretidir   Örneğe bakın.

Daha sonra ticaret sisteminin kendisi geliyor, sayıları sınırlı değil. Kolaylık sağlamak için, bar numarasını açılış saatine göre döndürürüz, bu yöntem tarafından sağlanır.   nambebars=Test.GetBarsNambe(Symbol(),timeopen[0]) ; işlem enstrümanının sembolü ve çubuğun açılış saati nerede. Bu sayıyı kullanarak gösterge değerlerini hesaplayabilir ve TS mantığına göre bir alım satım sinyali belirleyebilirsiniz.

En sonunda bir Vedenie_v yöntemi olmalı.

Testin bitiminden sonra (döngü dışında)   tüm siparişler için tüm işlem geçmişi mevcuttur. Mql4 için açıklamaya ve foruma bakın

Ayrıca Mql 4 ticaret fonksiyonlarının formatına tam olarak uyması için HeadTester.mqh dosyasına da ihtiyacınız vardır.

İyi şanslar ve refah.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
Dosyalar:
Tester.mqh  69 kb
 
ivandurak :

İlk sürüm

...

İyi şanslar ve refah.

Teşekkür ederim. Belki bir makale yazarsın? Öyleyse, devam ettirelim diyelim. )))
 

Tanrım lütfen. Bir yerde çok yoğun bir şekilde yavaşlıyorum. Soru SOM ile ilgili. Mümkünse belirli bir örnekle.

Diyelim ki 50X60 nörondan (dikdörtgen hücreler) oluşan bir harita var. Rastgele bir eğitim vektörü alıyoruz, boyutu 5 X1={x1,x2,x3,x4,x5} olsun.Eğitim örneğinin toplam uzunluğunun 5000 vektör olduğunu varsayalım. Giriş vektörüne en yakın nöronun 25.30 indeksine sahip olduğunu varsayalım, yavru zaten okulda geometriden geçtiği için buldum. Ve sonra tüm sinir ağım artık optimize edilmiyor. Aslında bir sürü soru var.

1 Adım 1'de eğitilecek nöronların indeksleri nasıl hesaplanır.

2 Adım 2'de eğitilecek nöronların indeksleri nasıl hesaplanır.

3 X1 girdi vektörü için kaç öğrenme adımı olmalıdır.

4 Kohonen'in öğrenme kuralıyla yavaşlarsam tekrar sorarım.

PS Makaleyi okudum, ek literatür okudum, kodlara baktım, sonuç gerekli.

 

Anladığım kadarıyla, içinde eğitimin devam ettiği kazanan nöronunun mahallesiyle ilgili bir şey. Şimdi sıradaki soru

Mahalle içindeki nöronları kaç kez eğitmek gerektiğine dair bir kriter var. Her nasılsa bu soru kötü bir şekilde tanımlanıyor, bir sonraki vektörü eğitip aldığımızda anlayamıyorum. Veya ortalama hata %5'e düşene kadar antrenman yaparız.

 

Kohonen haritasını renklendirmek için bir algoritmaya ihtiyacımız var. Tüm kartları çekmemek için büyük bir istek vardır, ancak sırasıyla bir tanesiyle başa çıkmak için her kümeye kendi rengi atanmalıdır. Bunun nasıl yapılacağı hakkında hiçbir fikrim yok. Şekil , aldığım haritayı gösteriyor. Özelliklere göre bir bölünme olduğu görülebilir.Renklendirme ilkesi, daha uzun bir vektörün en açık renge boyanmasıdır. Bu doğru olmasa da, X1=(1,1) ve X2=(-1,-1) vektörleri. uzunlukları aynıdır ancak farklı bölgelere aittir.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5