Tahmini okuma süresi: 7 dk

PrescienTrader, AmiBroker'ın güçlü analizi ve geri test işlevselliği ile entegre olan çok zaman aralığı işlevleri içerir. Ayrıca, analiz işlevlerinin nasıl kullanılacağını gösteren AFL komut dosyaları da içerir. Analiz fonksiyonları bir PrescientAPI Professional aboneliği gerektirir.

Aşağıdaki videoda keşiflerin nasıl kurulacağı ve çalıştırılacağı gösterilmektedir. Lütfen videoyu izleyin ve öğreticiye devam etmek için bu makaleye dönün.

başparmak tırnağı

keşif

Birlikte verilen PrescienTrader Backtesting komut dosyasını kullanarak bir keşif çalıştırdığınızda, AmiBroker belirttiğiniz enstrüman listesini ve belirttiğiniz tarih aralığını tarar. Bir enstrümanın her bir kombinasyonu ve bir tarih için bir satır oluşturur. Yukarıdaki örnekte, sadece 1 Ekim - 31 Aralık 2018 tarih aralığı için tek bir aracı (CHF / JPY) analiz ediyoruz.

Komut dosyaları aşağıdaki keşif sütunlarını verir:

  • Senedi simgesi
  • Tarih / Saat
  • Açık, Yüksek, Düşük, Kapat, Hacim, Açık Faiz
  • Kayıtlı - Bu sütun, kaydedilmiş parametre ayarları kullanılarak herhangi bir satır için sarı renkle vurgulanır. Parametreleri PrescienTrader'a kaydettiğinizde, parametreler yalnızca seçilen cihaz ve zaman dilimi için kaydedilir. Bu, her enstrüman ve her zaman aralığı için özel parametre ayarlarını kullanmanızı sağlar. Bir keşif çalıştırdığınızda, PrescienTrader tüm özel parametre ayarlarını otomatik olarak uygular. Kayıtlı sütunundaki sarı vurgu, satırın Parametreler penceresine girdiğiniz ayarları değil, kaydedilmiş ayarları kullandığını hatırlatmaktır.
  • PL Eğimi - Bu, Prescient Line trendinin eğimini gösterir. Pozitif eğimler bir artış eğilimi gösterirken, negatif eğimler bir düşüş trendi öngörür.
  • FLD Skoru - PL Temeli ayarınıza bağlı olarak, geçerli tüm döngüler için FLD'lerin toplamı, her döngünün Gücü veya Genliği ile çarpılır. Pozitif değerler piyasanın döngüsel bir yükseliş eğiliminde olduğunu göstermektedir. Negatif değerler, piyasanın döngüsel bir düşüş eğiliminde olduğunu gösterir.
  • Trend Çubuğu - Mevcut öngörülen eğilim içindeki göreli çubuk sayısı. Trenddeki ilk çubuk sıfır çubuktur.
  • Trend Çubukları - Mevcut öngörülen trenddeki toplam çubuk sayısı.
  • Trend Puanı - Mevcut öngörülen eğilim için tamamlanma yüzdesi. Örneğin, Trend Çubuğu = 5 ve Trend Çubukları = 10 ise, Trend Puanı 50% olur. Trend Pct'ın asla 100%'ye ulaşmayacağını unutmayın, çünkü bu yeni bir trendin başladığı anlamına gelir. Eski trend ve yeni trend arasındaki çakışma noktasında, Trend Pct 0% olacaktır. Sayısal görüntüye ek olarak, bu sütun, eğilim ilerledikçe yeşilden kırmızıya geçen bir çubuk grafik görüntüler.
  • Aksiyon - Bu, geçerli satır için Alış / Satış / Kısa / Kapak sinyalidir. Eklenen komut dosyalarından üretilen sinyaller basitçe Eğilim Eğimine dayanır. Trend Eğimi pozitif olduğunda, bir Alış sinyali görüntüler ve Trend Eğimi negatif olduğunda Kısa sinyali görüntüler. Bu çok basit misal PrescienTrader göstergelerini kullanarak nasıl bir ticaret sistemi kurmaya başlayacağınıza dair Büyük olasılıkla para kaybedeceğiniz için bu örnek sinyalleri canlı ticaret için KULLANMAYIN! Fikir, göstergelerimizi ve muhtemelen diğer göstergeleri kullanarak kendi ticaret sistemlerinizi geliştirmek, ardından sistemi kapsamlı bir şekilde geri test etmektir. Geçerli bir geri test edilmiş sisteminiz olduğunda, işlem sinyallerinizi görüntülemek için bu sistemi Eylem sütununa bağlayabilirsiniz.

backtesting

Bir backtest veya optimizasyon çalıştırmak için, PrescienTrader Backtesting AFL betiğini yükleyerek başlayın. Biz öneririz senaryoyu kopyala, orijinal komut dosyasını değiştirmek yerine. Analiz fonksiyonlarımız keşif sütunları için çıktı üretir ve ayrıca sonuçları içeren AFL dizileri ve matrisleri oluşturur. Bir backtest veya optimizasyon çalıştırırken, aşağıdakileri içeren oluşturulan AFL dizilerini ve matrislerini kullanırsınız:

  • ptStaticPL
  • ptStaticPLSlope
  • ptStaticFLDScore
  • ptStaticTrendBar
  • ptStaticTrendBars
  • ptStaticTrendPct
  • ptStaticFrequencies (Matrix)
  • ptStaticSlopes (Matris)
  • ptStaticFLDPrices (Matris)

Birden çok zaman aralığı için bir analiz çalıştırıyorsanız, işlevler her zaman aralığı için ayrı bir dizi ve matris kümesi oluşturur. Her ad bir HTPx sonekine sahip olacağı dışında adlar yukarıdakiyle aynı olacaktır; burada x, daha yüksek zaman dilimi dizinini temsil eder. Örneğin, ilk yüksek zaman dilimine ait diziler ve matrisler, ptStaticPLHTP1, ptStaticPLSlopeHTP1 vb. Olarak adlandırılacaktır.

AmiBroker backtester son derece güçlü. Gerçek portföy geri testi, ileriye dönük test, Monte Carlo simülasyonları, çoklu zaman aralığı testi, piramit ve ölçekleme, çoklu para birimleri ve daha fazlasını destekler. Tüm bu işlevsellik ve güç, geri test ve PrescienTrader'dan çıktı almak için kullanılabilir. AmiBroker'da geri testin detaylarını tartışmak bu makalenin kapsamı dışında. Bunun için AmiBroker belgelerini okumak en iyisidir.

Parametreler ve Parametre Değişkenleri

Bir analiz çalıştırırken PrescienTrader, Parametreler penceresinde belirttiğiniz parametre değerlerini kullanır. Ancak, daha önce mevcut pazar ve zaman aralığı için cihaz ayarlarını kaydettiyseniz, kaydedilen ayarlar, Parametreler penceresinde görüntülenen ayarları geçersiz kılar. Bu, portföydeki her enstrüman için farklı parametre değerleri kullanarak bir portföy analizi gerçekleştirmenizi sağlar. Parametreler penceresini görüntülediğinizde, girdiğiniz ve kaydedilmiş ayarlar olması gerekmeyen son ayarları görüntüler. Tıkla Hepsini sıfırla kaydedilmiş cihaz ayarlarını görüntülemek için düğmesine basın.

Ayrıca, varsayılan ayarları da kaydedebilirsiniz. Kaydedilen cihaz ayarlarının aksine, kaydedilen varsayılan ayarlar DEĞİL görüntülenen ayarları geçersiz kıl. Bu, AmiBroker'ın girdiğiniz son ayarları otomatik olarak hatırlaması gerçeğinden yararlanmanıza olanak tanır, bu nedenle belirli bir ayar kümesini birden çok kez test ediyorsanız, her seferinde tekrar girmeniz gerekmez. Bununla birlikte, istediğiniz zaman kayıtlı varsayılan ayarlara dönebilirsiniz. Hepsini sıfırla buton. Unutmayın kaydedilen cihaz ayarları kaydedilen varsayılan ayarlara göre önceliklidir, öyleyse tıklatırsanız Hepsini sıfırla varsayılan ayarlarınızı göstermez, yani şu anda görüntülenen cihaz ve zaman aralığı için cihaz ayarlarını kaydetmiş olursunuz.

Son olarak, her parametreye karşılık gelen bir AFL değişkeni ayarlayarak parametrelerin çoğunu geçersiz kılabilirsiniz. Mevcut değişkenler şunları içerir:

  • ptPolarite (0 = Pozitif, 1 = Negatif)
  • ptPLBasis (0 = Genlik, 1 = Güç)
  • ptLookbackRange
  • ptMinFrequency
  • ptMaxFrequency
  • ptHarmonicFilter
  • ptMinConfidence
  • ptBestXCycles

Her değişkenin ayrıca çoklu zaman aralığı analizi için daha yüksek zaman periyodu varyasyonları vardır. Daha yüksek bir zaman aralığı değişkeni ayarlamak için, değişken adına HTP1, HTP2, HTP3 vb. Ekleyin. Örneğin:

  • ptMinFrequencyHTP1
  • ptMaxFrequencyHTP2
  • ptLookbackRangeHTP3
  • ptHarmonicFilterHTP2
  • ptMinConfidenceHTP1
  • ptPLBasisHTP4

Değişkenler her zaman hem Parametre penceresi ayarlarını hem de kaydedilmiş ayarları geçersiz kılar. AFL'de bir parametre değişkeni ayarlarsanız, karşılık gelen parametre Parametreler penceresinden kaybolacaktır. Tüm parametre değişkenlerinizi ÖNCE çağırmalısınız. PrescientAnalysis veya PrescientAnalysisPrepare fonksiyonlar.

Tek-İplikli ve Çok Dişli Analizler

PrescienTrader hem tek iş parçacıklı hem de çok iş parçacıklı analizi destekler. Tek iş parçacığı işlevi yalnızca tek bir kod satırı gerektirir, bu nedenle hızlı keşifler veya basit geri testler yapmak için iyidir. Dezavantajı, analizin tek bir iş parçacığında çalışmasıdır, böylece bir kerede yalnızca bir satırı analiz edebilir. Bununla birlikte, analiziniz sadece birkaç yüz satırdan oluşuyorsa, zaman farkı ihmal edilebilir. Bu senaryoda, çok iş parçacıklı bir analiz için ek kod yazmanız, çalıştırdığınız zamandan daha uzun sürer.

PrescienTrader Backtester Script - Tek iş parçacıklı bölüm

Örnek analiz komut dosyasına denir PrescienTrader Backtester. Bu komut dosyasını görüntülerseniz, bir parametre ayarı kullanma arasında geçiş yapabileceğiniz tek iş parçacıklı bir bölüm ve çok iş parçacıklı bir bölüm içerdiğini görürsünüz. Tek iplik analizi bölümü tek bir kod satırı içerir:

PTBacktest ();

The PTBacktest Parametreler penceresindeki tüm parametreleri yapılandırdığınız için işlev parametre almaz. Çalıştığında bir API isteği oluşturur, isteği PrescientAPI'ye gönderir, yanıtı ayrıştırır, sonuçları keşif sütunlarına verir ve yukarıda açıklanan AFL dizilerini oluşturur.

Çok zaman aralığı analizi yapmak için PrescientAnalysis işlevini birkaç kez çağırmanız yeterlidir. Örneğin, temel zaman aralığını ve iki daha yüksek zaman aralığını analiz etmek isterseniz, aşağıdaki kodu kullanırsınız:

PTBacktest (); PTBacktest (); PTBacktest ();

İşlevin her bir örneği Parametreler penceresinde başka bir zaman aralığı oluşturur, bu nedenle yukarıdaki örnekte Parametreler pencereniz HTP1 ve HTP2 temel zaman dilimi ayarlarını içerir. Çoklu iş parçacığını çoklu zaman aralığıyla karıştırmayın; bunlar tamamen farklı iki kavram. Çoklu iş parçacığı, bir enstrüman portföyünü analiz etmek gibi bir kerede birden fazla analiz çalıştırmayı ifade eder. Çoklu zaman aralığı, her bir enstrümanın birden fazla zaman çerçevesinde analiz edilmesini ifade eder. Örneğin, S&P 500'ü günlük, haftalık ve aylık zaman dilimlerini analiz edebilirsiniz. Bu örnekte, üç zaman diliminin tümünü aynı anda analiz edeceği için çok iş parçacıklı modda çalışmanın avantajlarından da yararlanabilirsiniz. Ancak, çoklu iş parçacığı analizini tek iş parçacıklı modda çalıştırabilirsiniz, bu durumda zaman çerçevelerini sırayla analiz eder.

PrescienTrader Analiz Komut Dosyası - Çok iş parçacıklı bölüm

Çok iş parçacıklı bölüm, tek iş parçacıklı komut dosyasından daha karmaşıktır ve birkaç kod satırı gerektirir:

postVars = PTBacktestPrepare ();
if (StrLen (postVars)> 0) {
    ih = InternetPostRequest ("https://api.prescientrading.com", postVars);
    eğer (ih) {
        yanıt = "";
        while ((line = InternetReadString (ih))! = "")
            yanıt + = satır;
        PTBacktestExecute (yanıt);
        InternetClose (ih);
    }
    Başka {
        msg = "API'dan yanıt yok - Olası zaman aşımı veya İnternet bağlantısı sorunu - 60 saniye bekleniyor";
        _İZ (MSG);
        PTLogToFile (MSG);
        PTWait (60);
    }
}

Ek kodun nedeni, AmiBroker'ın PrescienTrader gibi eklentilerde çoklu iş parçacığını desteklememesidir. Bu nedenle, tüm analiz işlemini tek bir eklenti işlevinde gerçekleştirmek yerine, eklenti, en çok zaman alan bölüm olan API isteği dışında her şeyi işler ve bu nedenle birden çok iş parçacığında çalışmanın en büyük avantajını sağlar.

Bunu adım adım yıkalım…

  1. İlk adımda PTBacktestPrepare'i çağırıyor ve sonucu postVars değişkenine ataıyoruz. Bu işlev, verileri bir API isteği için uygun biçimde oluşturmak üzere Parametreler penceresinde tanımlanan parametreleri kullanır.
  2. İkinci adımda, InternetPostRequest ve InternetReadString işlevlerini kullanarak API isteği yaparız. Uzak bir sunucu ile etkileşime girdiğinden, bu işlemin en yavaş kısmıdır ve bu nedenle birden çok iş parçacığında çalışmaktan en iyi şekilde yararlanır.
  3. Son adımda, API'dan döndürülen veriler üzerinde PTBacktestExecute çalıştırıyoruz. Bu işlev verileri ayrıştırır, sonuçları keşif sütunlarına çıkarır ve yukarıda açıklanan AFL dizilerini oluşturur.

Gördüğünüz gibi, bu o kadar karmaşık değil, ancak tek iş parçacıklı yaklaşımdan çok daha fazla kod gerektiriyor. Büyük miktarda veriyi analiz ediyorsanız, çok iş parçacıklı yaklaşım, bilgisayarınızın sahip olduğu CPU çekirdeği sayısına bağlı olarak 32 kata kadar daha hızlı olabilir.

Tek iş parçacıklı yaklaşımda olduğu gibi, yukarıdaki kod bloğunu birden çok kez ekleyerek veya kod bloğunu bir for döngüsüne sararak birden çok zaman çerçevesini analiz edebilirsiniz.

Optimizasyon

Optimizasyon, bir pazar veya pazar grubu için en iyi sonuçları elde etmek amacıyla parametrelerin ince ayarlanması işlemidir. AmiBroker aynı anda 64 parametreye kadar optimizasyon sağlar, portföy optimizasyonunu destekler ve üç akıllı optimizasyon motoru içerir, Standart Parçacık Sürüsü Optimizasyonu, Kabileler ve CMA-ES.

PrescienTrader, her parametre için kod yazmak zorunda kalmadan tüm parametrelerinin optimizasyonunu destekler. Optimizasyon parametrelerini ayarlamak için Vardiya tuşuna basın ve Parametreler araç çubuğu simgesini tıklayın. Bu, bir optimizasyon parametreleri girebileceğiniz optimizasyon parametreleri penceresini görüntüler. Aralık Her bir parametre için (Başlangıç ve Bitiş) ve bir adım sayısal parametreler için. Aralık, optimizasyon aralığını temsil eder. Örneğin, Yeniden İnceleme Aralığı'nı optimize etmek için aşağıdaki gibi bir şey seçebilirsiniz:

LookBack Aralığı: 5
Yeniden İnceleme Aralığı: 10
Yeniden İnceleme Aralığı Adım: 1

Bu parametrelerin girilmesi, Geri Arama Aralığı'nı 1'lik bir artışla 5 ile 10 arasında optimize eder, böylece 5, 6, 7, 8, 9, 10 değerlerini test eder.

Kerestecilik

Bir analiz çalıştırırken, PrescienTrader sürekli olarak İzleme penceresine bilgi verir. Her satır aşağıdaki bilgileri içerir:

  • Analiz tipi (backtest, optimizasyon, keşif vb.)
  • Analiz edilen cihazın sembolü
  • Süre (günlük, haftalık, aylık vb.)
  • Veri Serisi (Kapalı, Ortalama vb.)
  • Parametre değerleri:
    • Polarite
    • PL Temeli
    • Min Frekans
    • Maksimum Frekans
    • Yeniden İnceleme Aralığı
    • Harmonik Filtre
    • Min Güven
    • En İyi X Çevrimleri

Her parametre değeri için kaynağını parantez içinde gösterir. Kaynak aşağıdakilerden biri olabilir:

  • Param - Değer, Parametreler penceresinden alındı.
  • Opt - Value, Parametreler penceresinde belirtilen optimizasyon ayarlarına göre oluşturuldu.
  • Kaydedilen - Bu enstrüman ve süre için kaydedilen değer.
  • AFL - Değer, parametreye karşılık gelen AFL değişkeninden alınmıştır.
  • Dizi - Değer bir AFL dizisinden alındı. Diziler her çubuk için farklı bir değer kullanabileceğinden hiçbir değer görüntülenmez.

AFL değişkenleri en yüksek önceliğe sahiptir, ardından kaydedilen değerler ve ardından Parametreler penceresinde belirtilen değerler gelir.

İzleme penceresine ek olarak, Parametreler penceresinde dosya yolunu girerek dosyaya günlüğe kaydetmeyi etkinleştirebilirsiniz.

Bu makale yardımcı oldu mu?
Beğenmemek 0
Görüntüleme: 1418
SONSUZA KADAR ÖZĞÜR
Günlük İşlem Sinyalleri
PrescientSignals tarafından
ABONE OL
Günlük e-posta kutunuza gönderilen ÜCRETSİZ işlem sinyallerini almak için abone olun
Serbest sinyaller bir hafta geciktirilir. Bu, önceki haftanın tahminlerini gerçek sonuçlarla karşılaştırarak PrescientSignals hizmetimizi risksiz olarak değerlendirmenizi sağlar.
SONSUZA KADAR ÖZĞÜR
PrescientSignals tarafından Günlük Ticaret Sinyalleri
ABONE OL
Günlük e-posta kutunuza gönderilen ÜCRETSİZ işlem sinyallerini almak için abone olun
Serbest sinyaller bir hafta geciktirilir. Bu, önceki haftanın tahminlerini gerçek sonuçlarla karşılaştırarak PrescientSignals hizmetimizi risksiz olarak değerlendirmenizi sağlar.