Friday 4 August 2017

Ema trading system afl


Cara mengoptimalkan sistem perdagangan CATATAN: Ini adalah topik yang cukup maju. Silahkan baca tutorial AFL sebelumnya. Gagasan di balik optimasi itu sederhana. Pertama, Anda harus memiliki sistem perdagangan, ini mungkin merupakan perpindahan rata-rata bergerak sederhana misalnya. Di hampir setiap sistem ada beberapa parameter (sebagai periode rata-rata) yang menentukan bagaimana sistem yang diberikan berperilaku (yaitu cocok untuk jangka panjang atau jangka pendek, bagaimana reaksi terhadap persediaan yang sangat mudah menguap, dll.). Optimalisasi adalah proses untuk menemukan nilai optimal dari parameter tersebut (memberikan keuntungan tertinggi dari sistem) untuk simbol tertentu (atau portofolio simbol). AmiBroker adalah salah satu dari sedikit program yang memungkinkan Anda mengoptimalkan sistem Anda pada banyak simbol sekaligus. Untuk mengoptimalkan sistem Anda, Anda harus menentukan dari satu sampai sepuluh parameter untuk dioptimalkan. Anda menentukan berapa minimum dan maksimum nilai parameter yang diijinkan dan berapa penambahan nilai ini harus diperbarui. AmiBroker kemudian melakukan beberapa tes ulang sistem dengan menggunakan SEMUA kemungkinan kombinasi nilai parameter. Saat proses ini selesai AmiBroker menampilkan daftar hasil yang diurutkan berdasarkan laba bersih. Anda bisa melihat nilai parameter optimasi yang memberikan hasil terbaik. Penulisan rumus optimasi AFL di back tester ini didukung via fungsi baru yang disebut optimal. Sintaks dari fungsi ini adalah sebagai berikut: variabel optimis (quot Description quot, default. Min. Max. Step) variable - adalah variabel AFL normal yang diberi nilai yang dikembalikan oleh fungsi optimal. Dengan mode backtesting normal, pemindaian, eksplorasi dan komsel, fungsi optimal mengembalikan nilai default, sehingga fungsi di atas setara dengan: variable default Dalam mode optimasi, fungsi optimasi mengembalikan nilai berturutan dari min ke max (inclusively) dengan step stepping. Quot Descriptionquot adalah string yang digunakan untuk mengidentifikasi variabel pengoptimalan dan ditampilkan sebagai nama kolom pada daftar hasil optimasi. Default adalah nilai default yang mengoptimalkan fungsi return dalam eksplorasi, indikator, komentar, pemindaian dan mode uji balik normal min adalah nilai minimum dari variabel yang dioptimalkan max adalah nilai maksimum dari variabel yang dioptimalkan adalah interval interval yang digunakan untuk meningkatkan Nilai dari min ke max AmiBroker mendukung hingga 64 panggilan untuk mengoptimalkan fungsi (oleh karena itu sampai dengan 64 variabel optimasi), perhatikan bahwa jika Anda menggunakan pengoptimalan yang melelahkan, maka ide bagus untuk membatasi jumlah variabel pengoptimalan hanya sedikit. Setiap panggilan untuk mengoptimalkan pengulangan langkah optimasi (maks - min) dan beberapa panggilan untuk mengoptimalkan jumlah jumlah putaran yang dibutuhkan. Sebagai contoh mengoptimalkan dua parameter dengan menggunakan 10 langkah akan memerlukan 1010 100 loop optimasi. Fungsi optimalisasi panggilan hanya SEKALI per variabel pada awal formula Anda karena setiap panggilan menghasilkan loop pengoptimalan baru Optimasi beberapa simbol sepenuhnya didukung oleh ruang pencarian Maksimum AmiBroker adalah kombinasi 2 64 (10 19 10.000.000.000.000.000.000.000.000) 1. Optimalisasi variabel tunggal: sigavg Optimalkan (Sinyal sinyal) 9. 2. 20. 1) Beli Cross (MACD (12. 26), Sinyal (12. 26. sigavg)) Jual Cross (Sinyal (12. 26. sigavg), MACD (12. 26)) 2. Optimalisasi dua variabel (cocok untuk charting 3D) per Optimalkan (per. 2. 5. 50. 1) Tingkat Optimalkan (tingkat 2. 2. 150. 4) Beli Cross (CCI (per), - Level) Jual Cross (Level, CCI (per)) 3. Multiple (3) optimasi variabel: mfast Optimize (MACD Fast 12. 12. 16.) 1) mslow Optimalkan (MACD Lambat 26. 17. 30. 1) sigavg Optimalkan (Sinyal 2. Cross (Signal (mfast, mslow, sigavg), MACD (mfast, mslow)) Setelah masuk ke Sinyal (mfast, mslow, sigavg) F Ormula cukup klik tombol Optimalkan di jendela quotAutomatic Analysisquot. AmiBroker akan mulai menguji semua kemungkinan kombinasi variabel pengoptimalan dan melaporkan hasilnya dalam daftar. Setelah optimalisasi dilakukan daftar hasilnya disajikan disortir oleh Net profit. Karena Anda dapat mengurutkan hasil berdasarkan kolom pada daftar hasil, mudah untuk mendapatkan nilai parameter optimal untuk penarikan terendah, jumlah perdagangan terendah, faktor keuntungan terbesar, eksposur pasar terendah dan tingkat pengembalian tahunan dengan risiko tertinggi disesuaikan. Kolom terakhir dari daftar hasil menyajikan nilai variabel pengoptimalan untuk pengujian yang diberikan. Bila Anda memutuskan kombinasi mana dari parameter yang sesuai dengan kebutuhan Anda, yang terbaik yang perlu Anda lakukan adalah mengganti nilai default dalam mengoptimalkan panggilan fungsi dengan nilai optimal. Pada tahap saat ini Anda perlu mengetikkannya dengan tangan di jendela edit rumus (parameter kedua dari fungsi mengoptimalkan panggilan). Menampilkan grafik optimasi animasi 3D Untuk menampilkan grafik optimasi 3D, Anda perlu menjalankan optimasi dua variabel terlebih dahulu. Dua variabel optimasi membutuhkan formula yang memiliki 2 Optimize () function calls. Contoh optimasi variabel dua variabel terlihat seperti ini: per Optimize (per. 2. 5. 50. 1) Tingkat Optimalkan (level 2. 2. 150. 4) Beli Cross (CCI (per), - Level) Jual Cross (Level, CCI (per)) Setelah memasukkan formula anda perlu klik tombol quotOptimizequot. Setelah pengoptimalan selesai Anda harus mengklik panah drop down pada tombol Optimize dan pilih View 3D optimization graph. Dalam beberapa detik plot permukaan tiga dimensi berwarna akan muncul di jendela penampil grafik 3D. Contoh bagan 3D yang dihasilkan dengan menggunakan rumus di atas ditunjukkan di bawah ini. Secara default, grafik 3D menampilkan nilai laba bersih terhadap variabel pengoptimalan. Namun Anda dapat merencanakan grafik permukaan 3D untuk kolom mana pun di tabel hasil optimasi. Cukup klik pada tajuk kolom untuk mengurutkannya (tanda panah biru akan muncul yang menunjukkan bahwa hasil pengoptimalan diurutkan menurut kolom yang dipilih) dan kemudian pilih Lihat grafik optimasi 3D lagi. Dengan memvisualisasikan bagaimana parameter sistem Anda mempengaruhi kinerja perdagangan, Anda dapat lebih mudah menentukan nilai parameter mana yang menghasilkan quotfragilequot dan yang menghasilkan kinerja sistem quotrobustquot. Pengaturan yang kuat adalah wilayah dalam grafik 3D yang menunjukkan perubahan bertahap di permukaan. Grafik optimasi 3D adalah alat yang bagus untuk mencegah lengket kurva. Kurva-pas (atau over-optimasi) terjadi ketika sistem lebih kompleks daripada yang dibutuhkan, dan semua kompleksitas itu difokuskan pada kondisi pasar yang mungkin tidak akan pernah terjadi lagi. Perubahan radikal (atau paku) di grafik pengoptimalan 3D menunjukkan area pengoptimalan yang lebih jelas. Anda harus memilih wilayah parameter yang menghasilkan dataran tinggi dan luas pada grafik 3D untuk perdagangan kehidupan nyata Anda. Parameter set menghasilkan lonjakan laba tidak akan bekerja andal dalam real trading. Kontroler penampil grafik 3D AmiBrokers 3D chart viewer menawarkan kemampuan menonton total dengan rotasi dan animasi penuh. Sekarang Anda dapat melihat hasil sistem Anda dari setiap perspektif yang mungkin. Anda dapat mengontrol posisi dan parameter grafik lainnya dengan menggunakan mouse, toolbar dan shortcut keyboard, apapun yang Anda anggap lebih mudah untuk Anda. Di bawah ini Anda akan menemukan daftarnya. - untuk Putar - tahan tombol mouse KIRI dan bergerak ke arah XY - ke Zoom-in, zoom-out - tahan tombol mouse KANAN dan bergeraklah ke arah XY - untuk Memindahkan (terjemahkan) - tahan tombol mouse KIRI dan tombol CTRL Bergerak dalam arah XY - ke Animate - tahan tombol mouse KIRI, seret dengan cepat dan lepaskan tombol sambil menyeret spaced - animate (auto-rotate) LEFT ARROW KEY - memutar vert. KIRIM KANAN KANAN KUNCI - memutar vert. Kanan tombol panah kanan - putar horiz. Sampai DOWN ARROW KEY - memutar horiz. Bawah NUMPAD (PLUS) - Dekat (zoom in) NUMPAD - (MINUS) - Jauh (zoom out) NUMPAD 4 - bergerak ke kiri NUMPAD 6 - bergerak ke kanan NUMPAD 8 - bergerak ke atas NUMPAD 2 - bergerak ke bawah PAGE UP - permukaan air naik PAGE DOWN - Tingkat air turun Optimasi cerdas (tidak lengkap) AmiBroker sekarang menawarkan pengoptimalan cerdas (tidak lengkap) selain pencarian reguler dan menyeluruh. Pencarian yang tidak lengkap berguna jika jumlah semua kombinasi parameter dari sistem perdagangan yang diberikan terlalu besar untuk memungkinkan pencarian menyeluruh. Pencarian yang melelahkan baik-baik saja asalkan masuk akal untuk menggunakannya. Katakanlah Anda memiliki 2 parameter masing-masing mulai dari 1 sampai 100 (langkah 1). Thats 10000 kombinasi - sangat OK untuk pencarian yang melelahkan. Sekarang dengan 3 parameter Anda mendapat 1 juta kombinasi - masih OK untuk pencarian yang melelahkan (tapi bisa lenghty). Dengan 4 parameter Anda memiliki 100 juta kombinasi dan dengan 5 parameter (1.100) Anda memiliki 10 miliar kombinasi. Dalam hal ini akan terlalu memakan waktu untuk memeriksa semuanya, dan ini adalah area di mana metode pencarian cerdas yang tidak lengkap dapat memecahkan masalah yang tidak dapat dipecahkan dalam waktu yang wajar dengan menggunakan pencarian yang melelahkan. Berikut adalah instruksi SIMPAN yang benar bagaimana menggunakan pengoptimal baru yang tidak lengkap (dalam hal ini CMA-ES). 1. Buka rumus Anda di Formula Editor 2. Tambahkan baris tunggal ini di bagian atas rumus Anda: OptimizerSetEngine (quotcmaequot) Anda juga dapat menggunakan quotspsoquot atau quottribquot di sini 3. (Opsional) Pilih target pengoptimalan Anda dalam Analisis Otomatis, Pengaturan, quotWalk - Forwardquot tab, bidang target Optimasi. Jika Anda melewati langkah ini maka akan mengoptimalkan CARMDD (pengembalian tahunan gabungan dibagi dengan penarikan maksimum). Sekarang jika Anda menjalankan pengoptimalan dengan menggunakan formula ini, akan menggunakan pengoptimal CMA-ES evolusioner baru (tidak lengkap). Bagaimana cara kerjanya Optimalisasi adalah proses menemukan minimum (atau maksimum) fungsi yang diberikan. Setiap sistem perdagangan dapat dianggap sebagai fungsi dari sejumlah argumen tertentu. Masukannya adalah parameter dan data kutipan. Outputnya adalah target pengoptimalan Anda (katakanlah CARMDD). Dan Anda mencari maksimal fungsi yang diberikan. Beberapa algoritma optimasi cerdas didasarkan pada sifat (perilaku hewan) - algoritma PSO, atau proses biologis - Algoritma genetika, dan beberapa didasarkan pada konsep matematis yang diturunkan oleh manusia - CMA-ES. Algoritma ini digunakan di berbagai bidang, termasuk keuangan. Masukkan data kuotot kuotasi atau quotCMA-ES financequot di Google dan Anda akan menemukan banyak info. Metode yang tidak lengkap (atau quotsmartquot) akan menemukan optimal global atau lokal. Tujuannya tentu saja adalah untuk menemukan yang global, namun jika ada satu puncak tajam dari kombinasi parameter zillions, metode yang tidak lengkap mungkin gagal menemukan puncak tunggal ini, namun dengan menganggapnya sebagai pedagang, sebaiknya tentukan satu puncak yang tajam tidak ada gunanya. Trading karena hasil itu akan menjadi tidak stabil (terlalu rapuh) dan tidak bisa ditiru dalam real trading. Dalam proses optimasi kita lebih mencari wilayah dataran tinggi dengan parameter stabil dan inilah area dimana metode cerdas bersinar. Seperti algoritma yang digunakan oleh pencarian yang tidak lengkap, terlihat seperti berikut: a) optimizer menghasilkan beberapa (biasanya acak) populasi awal dari set parameter b) backtest dilakukan oleh AmiBroker untuk setiap parameter yang ditetapkan dari populasi c) hasil backtests adalah Dievaluasi sesuai dengan logika algoritma dan populasi baru dihasilkan berdasarkan hasil evolusi, d) jika yang terbaik ditemukan - simpan dan lanjutkan ke langkah b) sampai kriteria berhenti terpenuhi Contoh kriteria penghentian dapat mencakup: a) mencapai yang ditentukan Iterasi maksimum b) berhenti jika kisaran nilai objektif terbaik dari generasi X terakhir adalah nol c) berhenti jika menambahkan vektor deviasi standar 0,1 pada sumbu sumbu utama tidak mengubah nilai nilai obyektif d) orang lain Untuk menggunakan metode cerdas (non - Lengkap) di AmiBroker Anda perlu menentukan mesin pengoptimasi yang ingin Anda gunakan dalam formula AFL menggunakan fungsi OptimizerSetEngine. Fungsi memilih mesin pengoptimalan eksternal yang ditentukan berdasarkan nama. AmiBroker saat ini masuk dengan 3 mesin: Standard Particle Swarm Optimizer (quotspsoquot), Tribes (quottribquot), dan CMA-ES (quotcmaequot) - nama di kawat gigi akan digunakan dalam panggilan OptimizerSetEngine. Selain memilih mesin pengoptimasi Anda mungkin ingin mengatur beberapa parameter internalnya. Untuk melakukannya gunakan fungsi OptimizerSetOption. Fungsi OptimizerSetOption (quotnamequot, value) Fungsi mengatur parameter tambahan untuk mesin pengoptimalan eksternal. Parameternya bergantung pada mesin. Ketiga pengoptimalan yang dikirim bersama AmiBroker (SPSO, Trib, CMAE) mendukung dua parameter: quotRunsquot (jumlah running) dan quotMaxEvalquot (evaluasi maksimum (tes) per satu putaran). Perilaku masing-masing parameter bergantung pada mesin, sehingga nilai yang sama dapat dan biasanya akan menghasilkan hasil yang berbeda dengan mesin yang berbeda. Perbedaan antara Runs dan MaxEval adalah sebagai berikut. Evaluasi (atau tes) adalah single backtest (atau evaluasi nilai fungsi objektif). RUN adalah salah satu algoritma lengkap (menemukan nilai optimal) - biasanya melibatkan banyak tes (evaluasi). Masing-masing menjalankan RESTARTS keseluruhan proses pengoptimalan dari awal yang baru (populasi acak awal yang baru). Oleh karena itu, setiap lari dapat menyebabkan ditemukannya tawaran lokal yang berbeda (jika tidak menemukan yang global). Jadi parameter Runs mendefinisikan jumlah algoritma berikutnya yang berjalan. MaxEval adalah jumlah maksimum evaluasi (bactests) dalam satu run tunggal. Jika masalahnya relatif sederhana dan 1000 tes cukup untuk menemukan nilai maksimal global, 5x1000 lebih cenderung menemukan maksimum secara global karena sedikit kemungkinan untuk terjebak dalam jumlah lokal, karena putaran berikutnya akan dimulai dari populasi awal acak yang berbeda. Memilih nilai parameter dapat Menjadi rumit Hal ini tergantung pada masalah yang sedang diuji, kompleksitasnya, dan lain-lain, dan lain-lain. Metode stokastik non-lengkap tidak memberi Anda jaminan untuk menemukan tawaran maksimal global, terlepas dari jumlah tes jika lebih kecil dari pada kelengkapan. Jawaban yang paling mudah adalah. Tentukan jumlah tes yang besar karena masuk akal untuk Anda dalam hal waktu yang dibutuhkan untuk menyelesaikannya. Saran sederhana lainnya adalah dengan mengalikan 10 jumlah tes dengan menambahkan dimensi baru. Hal itu dapat menyebabkan terlalu banyak jumlah tes yang diperlukan, namun cukup aman. Mesin yang dikirim dirancang agar mudah digunakan, oleh karena itu bebas dari nilai defaultautomatis digunakan sehingga pengoptimalan biasanya dapat dijalankan tanpa menentukan apapun (menerima default). Penting untuk dipahami bahwa semua metode pengoptimalan cerdas bekerja paling baik di ruang parameter kontinu dan fungsi tujuan yang relatif lancar. Jika ruang parameter adalah algoritma evolusi diskrit mungkin mengalami kesulitan untuk menemukan nilai optimum. Hal ini terutama berlaku untuk parameter biner (onoff) - metode ini tidak sesuai untuk metode pencarian yang menggunakan gradien perubahan fungsi objektif (seperti metode yang paling cerdas). Jika sistem trading Anda mengandung banyak parameter biner, Anda sebaiknya tidak menggunakan pengoptimal cerdas secara langsung pada mereka. Sebagai gantinya coba optimalkan hanya parameter kontinu menggunakan smart optimizer, dan ubah parameter biner secara manual atau melalui skrip eksternal. SPSO - Standard Particle Swarm Optimizer Standard Particle Swarm Optimizer didasarkan pada kode SPSO2007 yang seharusnya menghasilkan hasil yang baik dengan ketentuan bahwa parameter yang benar (yaitu Runs, MaxEval) disediakan untuk masalah tertentu. Memilih opsi yang tepat untuk pengoptimal PSO bisa jadi rumit karena hasilnya mungkin berbeda secara signifikan dari kasus ke kasus. SPSO. dll hadir dengan kode sumber lengkap di dalam subfolder kuadrat. Contoh kode untuk Standard Particle Swarm Optimizer: (temukan nilai optimum dalam 1000 tes dalam ruang pencarian kombinasi 10000) OptimizerSetEngine (quotspsoquot) OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotMaxEvalquot, 1000) sl Optimalkan (quotsquot, 26, 1, 100, 1 ) Belilah Cross (MACD (fa, sl), 0) Jual Cross (0, MACD (fa, sl)) TRIBES - Parameter Adaptive Particle Swarm Optimizer Tribes bersifat adaptif. , Versi parameter-kurang dari PSO (particle swarm optimization) non-exhaustive optimizer. Untuk latar belakang ilmiah lihat: particleswarm. infoTribes2006Cooren. pdf Secara teori, hal itu harus berkinerja lebih baik daripada PSO biasa, karena secara otomatis dapat menyesuaikan ukuran swarm dan strategi algoritma dengan masalah yang dipecahkan. Praktik menunjukkan bahwa kinerjanya sangat mirip dengan PSO. Plugin Tribes. DLL menerapkan varian quotTribes-Dquot (yaitu tanpa dimensi). Berdasarkan clerc. maurice. free. frpsoTribesTRIBES-D. zip oleh Maurice Clerc. Kode sumber asli yang digunakan dengan izin dari penulis Tribes. DLL hadir dengan kode sumber lengkap (di dalam folder quotADKquot) Parameter yang didukung: quotMaxEvalquot - jumlah evaluasi maksimum (backtests) per run (default 1000). Anda harus meningkatkan jumlah evaluasi dengan peningkatan jumlah dimensi (jumlah params optimasi). Default 1000 bagus untuk 2 atau maksimal 3 dimensi. QuotRunsquot - jumlah berjalan (restart). (Default 5) Anda dapat membiarkan jumlah run pada nilai default 5. Secara default jumlah running (atau restart) diatur ke 5. Untuk menggunakan suku optimizer, Anda hanya perlu menambahkan satu baris ke kode Anda: OptimizerSetOption (quotMaxEvalquot , 5000) 5000 evaluasi maks CMA-ES - Matriks Kovarian Matriks Adaptasi Optimalisasi Strategi Evolusioner CMA-ES (Adaptor Matriks Kovarian Strategi Evolusi) adalah pengoptimal canggih yang tidak menyeluruh. Untuk latar belakang ilmiah lihat: bionik. tu-berlin. deusernikocmaesintro. html Menurut tolok ukur ilmiah melebihi sembilan strategi evolusioner lain yang paling populer (seperti evolusi PSO, Genetik dan Diferensial). Bionik. tu-berlin. deusernikocec2005.html Plugin CMAE. DLL menerapkan varian pencarian kuaglobalquot dengan beberapa restart dengan peningkatan ukuran populasi CMAE. DLL dilengkapi dengan kode sumber lengkap (di dalam folder quotADKquot) Secara default jumlah run (atau restart) diatur Ke 5. Disarankan untuk membiarkan nomor default restart. Anda dapat memvariasikannya menggunakan panggilan OptimizerSetOption (quotRunsquot, N), di mana N berada di kisaran 1.,10. Menentukan lebih dari 10 kali berjalan tidak disarankan, meski memungkinkan. Perhatikan bahwa setiap run menggunakan TWICE ukuran populasi run sebelumnya sehingga tumbuh secara eksponensial. Karena itu dengan 10 berjalan Anda berakhir dengan populasi 210 lebih besar (1024 kali) daripada yang pertama dijalankan. Ada parameter lain quotMaxEvalquot. Nilai defaultnya adalah ZERO yang berarti bahwa plugin secara otomatis akan menghitung MaxEval yang dibutuhkan. Disarankan untuk TIDAK mendefinisikan MaxEval sendiri sebagai default bekerja dengan baik. Algoritma ini cukup cerdas untuk meminimalkan jumlah evaluasi yang dibutuhkan dan konvergen sangat cepat ke titik solusi, sehingga sering kali ia menemukan solusi lebih cepat daripada strategi lainnya. Adalah normal bahwa plugin akan melewatkan beberapa langkah evaluasi, jika mendeteksi solusi itu ditemukan, oleh karena itu Anda tidak perlu heran bahwa progress bar optimasi dapat bergerak sangat cepat di beberapa titik. Plugin ini juga memiliki kemampuan untuk meningkatkan jumlah langkah di atas nilai perkiraan semula jika diperlukan untuk menemukan solusinya. Karena sifatnya yang adaptif, sisa waktu pengambilan kuota andor quotnumber dari langkahquot yang ditampilkan oleh dialog kemajuan hanya merupakan perkiraan harga pada waktu kuota dan mungkin berbeda selama kursus pengoptimalan. Untuk menggunakan pengoptimal CMA-ES, Anda hanya perlu menambahkan satu baris ke kode Anda: Ini akan menjalankan pengoptimalan dengan pengaturan default yang bagus untuk kebanyakan kasus. Perlu dicatat, seperti yang terjadi pada banyak algoritma pencarian ruang angkasa, bahwa parameter quotstepquot yang menurun pada Optimalkan () panggilan funciton tidak secara signifikan mempengaruhi waktu pengoptimalan. Satu-satunya hal yang penting adalah masalah quotdimensionquot, yaitu jumlah parameter yang berbeda (jumlah fungsi mengoptimalkan panggilan). Jumlah quotstepsquot per parameter dapat ditetapkan tanpa mempengaruhi waktu pengoptimalan, jadi gunakan resolusi terbaik yang Anda inginkan. Secara teori algoritma tersebut harus bisa mencari solusi paling banyak pada 900 (N3) (N3) backtests dimana quotNquot adalah dimensi. Dalam prakteknya, konvergen BANYAK lebih cepat. Sebagai contoh, solusi di 3 (N3) dimensi parameter space (katakanlah 100100100 1 juta langkah lengkap) dapat ditemukan dalam langkah 500-900 CMA-ES saja. Pengoptimalan multi-threaded individual Mulai dari AmiBroker 5.70 disamping multiple-symbol multithreading. Anda bisa melakukan optimasi single-symbol multi-threaded. Untuk mengakses fungsi ini, klik panah drop down di sebelah tombol quotOptimizequot di jendela New Analysis dan pilih quot Individual Optimize quot. Optimizequot quotIndividual akan menggunakan semua inti prosesor yang tersedia untuk melakukan optimasi simbol tunggal, sehingga lebih cepat daripada pengoptimalan reguler. Dalam mode simbolquot quotCurrent maka akan melakukan optimasi pada satu simbol. Dalam mode quotoll simbolquot dan quotFilterquot maka akan memproses semua simbol secara berurutan, yaitu optimasi pertama yang lengkap untuk simbol pertama, lalu optimasi pada simbol kedua, dll. Keterbatasan: 1. Custom backtester TIDAK didukung (belum) 2. Mesin pengoptimalan yang cerdas TIDAK didukung - Hanya kerja optimasi EXHAUSTIVE. Akhirnya kita bisa menghilangkan batasan (1) - saat AmiBroker diubah jadi custom backtester tidak menggunakan OLE lagi. Tapi (2) mungkin di sini untuk tinggal lama.10.2a Pilihan Peluncuran rata-rata yang bergerak Jelajahi formula rata-rata pergerakan lag yang baru ditambahkan ke bawah pada bagian 10.5. Berikut adalah periode rata-rata umum yang digunakan untuk indikator moving average - MA crossover: 10 periode - Paling banyak digunakan untuk indikator tren berikut. Jika harga di atas 10 EMA, trennya dianggap naik dan turun, jika di bawahnya. 15 periode - Sebuah umpan silang lambat MA atau EMA untuk digunakan dengan periode 10 EMA untuk tren mengikuti sistem perdagangan. 21 periode - Alternatif ke 15 periode MA atau EMA dan menunjukkan status tren jangka menengah. 50 periode - Indikator tren jangka menengah. Dikombinasikan dengan moving average bergerak rendah memberikan pilihan yang baik untuk sistem perdagangan. 200 periode - Digunakan oleh pedagang jangka panjang untuk tetap berinvestasi atau keluar apakah harga di atas atau di bawah rata-rata ini. Pedagang intraday dan short term dapat menggabungkan beberapa dari rata-rata ini untuk membangun sistem perdagangan yang memberikan hasil yang dapat diterima dalam tren. Gunakan EMA untuk pembangkitan sinyal dan MA sebagai baseline slow average. 10.3 Kisaran Pembukaan Perdagangan Terobosan (ORB) Tidak seperti perdagangan berbasis rata-rata bergerak, yang secara intrinsik terkait dengan harga selama periode perdagangan, metode trading Opening Range, menggunakan periode awal hari untuk menentukan kisaran perdagangan. Awalnya, yang dimaksudkan sebagai sistem perdagangan intraday, tidak ada alasan, mengapa hal ini tidak dapat digunakan untuk perdagangan berjangka posisi dan jangka panjang dengan peraturan yang disesuaikan. Yang penting adalah mencatat fitur pentingnya: Dalam versi intraday dari trading Opening Range, kami akan mencatat tinggi atau rendahnya hari ini untuk 5 atau 10 atau 15 atau 20 atau 30 menit pertama atau 1 jam dan mengambil keduanya. Tinggi dan rendah sebagai tingkat pelemahan sisi atas dan downside. Jangka waktu yang Anda pilih adalah yang bisa Anda dapatkan dengan eksperimen. Anda akan mendapatkan hasil yang bagus, bahkan jika Anda hanya menggunakan 5,10 atau 15 menit saat jangkauan Anda keluar dari level. Konsep di balik ini adalah bahwa kisaran pembukaan pasar menentukan tingkat bullish dan bearish untuk trading. Di atas level tinggi, pasar bullish, dan di bawah level rendah, bearish. Dalam beberapa hal ini adalah rata-rata pasar untuk periode perdagangan. Untuk digunakan dalam perdagangan posisi, Anda bisa menggunakan rentang yang bisa mencakup 1-2 jam pada grafik per jam dan bahkan sehari untuk perdagangan posisi jangka panjang untuk menghitung tingkat jangkauan. Perdagangan panjang dimulai di atas tingkat tinggi, sementara perdagangan singkat dimulai di bawah tingkat rendah pada periode ini. Lihat grafik di bawah ini, dimana kita bisa menangkap tren dengan baik 122 poin dalam 3 trading. Dan lihat apa yang terjadi pada hari-hari terikat: 10.4 ORB Khusus - Menggunakan satu level Dalam metode ORB yang dijelaskan pada 8.3 di atas, Anda mungkin berpikir bahwa Anda kehilangan sebagian keuntungan perdagangan berdasarkan volatilitas yang menentukan tingkat pelarian jangkauan awal Anda. Nah, ada jawaban sederhana untuk itu. Beralih ke satu tingkat yang bisa menjadi salah satu dari berikut ini: Dengan hanya memperhitungkan rata-rata tinggi dan rendah periode yang dipilih, Anda dapat bekerja dengan satu tingkat di mana tingkat di atas rata-rata di atas rata-rata dan pendek berada di bawah tingkat rata-rata . Ini seperti rata-rata pasar untuk tujuan trading. Tingkat satu ORB 1 (HighLow) 2 dari n menit pertama. N5,10,15,20,30 menit atau 1 jam berdasarkan pilihan atau kontinu sepanjang hari. Bacalah ini dengan komentar lain yang diberikan di sana mengenai memperluas konsep untuk perdagangan posisi, di mana rata-rata Anda tinggi dan rendah bisa selama 1-2 jam atau bahkan satu hari dan mungkin seminggu dalam hal waktu yang lebih lama. Bersiaplah untuk mulai whipsaws di sekitar tingkat ORB saat pasar tidak memiliki arahan. Lihat grafik di bawah ini: Dan lihat whipsaws yang bisa terjadi. Ini bisa dihindari dengan berbagai teknik pembatalan kebisingan, yang akan kita bahas nanti. Jika Anda memiliki saran atau kontribusi, tolong kirimkan surat kepada saya di abnash1978yahoo. co. uk atau kirimkan komentar di forum 10.5 Pergerakan rata-rata dan penghilangan suara yang lebih responsif Rata-rata pergerakan tradisional dan eksponensial sederhana memberikan sinyal perdagangan yang tidak responsif seperti pedagang. Ingin, menyebabkan bagian penting dari perdagangan semakin mendekati saat menggunakan rata-rata ini. Tentu saja, bila ada tren panjang yang sedang berjalan, semua sistem perdagangan berbasis rata-rata bergerak akan berkinerja baik. Ada banyak informasi tentang moving average lag yang lebih rendah, dan yang mudah didapat di domain publik adalah moving average Hull. Saya telah membaca tentang Jurik juga, tapi saya tidak yakin apakah formula yang tepat tersedia. Diposting di bawah ini adalah AFL yang memberikan rata-rata pergerakan lag rendah yang telah dikombinasikan dengan rata-rata moving average 50 periode untuk menunjukkan bagaimana hal itu menghasilkan sinyal jual dan beli. Dan di bawah itu adalah AFL lain yang memungkinkan Anda untuk merencanakan berbagai jenis moving averages yang bisa menjadi bagian dari arsenal trading Anda. Keduanya berasal dari sumber publik di internet. Anda dapat dengan mudah membuat sistem perdagangan dengan menggunakan seperti yang ditunjukkan di bawah ini dengan sebuah salib 50MA di atas atau dua periode lainnya mengatakan, 10 dan 15 periode. TRADING SYSTEM AFL FREE Saya membuat AFL AR TRADING SYSTEM AFL GRATIS ini saya dapatkan FREE BEBAS GRATIS BEBAS GRATIS GRATIS FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREE FREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREEFREE FREE skend ((C-MA (C, nol)) MA (C, nol)) 100 Graph0sk Graph0BarColorIIf (skgt0,5,4) SECTIONBarin (quotemaquot) Lk EMA (Tutup, 22) Plot (lk, quot quot, colorBrightGreen, styleDots) GfxSelectFont (quottohomaboldquot, Status (quotpxheightquot) 16) GfxSetTextAlign ( 6) GfxSetTextColor (ColorRGB (10,250,250)) GfxSetBkMode (0) GfxTextOut (Nama (), Status (quotpxwidthquot) 2, Status (quotpxheightquot) 10) cxParam (quotcxposnquot, 1085,0,1200,1) cyParam (quotcyposnquot, 16,0 , 1000,1) Gfx SetBkColor (ColorRGB (200,50,100)) GfxSelectFont (quottohomaboldquot, 20,98, salah) GfxSetTextColor (warnaYellow) GfxSetTextColor (ColorHSB (100, 10, 400)) GfxTextOut (quotLTP. QuotCquot quot, cx, cy) DDayO TimeFrameGetPrice (quotOquot, inDaily) DHiDay TimeFrameGetPrice (quotHquot, inDaily) DLODay TimeFrameGetPrice (quotLquot, inDaily) gfr TimeFrameGetPrice (quotCquot, inDaily, -1) tutup Judul EncodeColor (colorWhite) quot AR TRADING SYSTEM quotEncodeColor ( ColorRGB (220,10,150)) quot quot Interval (2) quot quot Tanggal () EncodeColor (ColorRGB (200,150,120)) quot n Buka quot O quot, High. Quot H quot, Rendah. Quot L EncodeColor (colorGreen) klik Prevvious Day Close. Quot EncodeColor (colorGreen) gfr EncodeColor (colorYellow) quotn ToDay Open. Quot DDayO quot Tinggi. Quot DHiDay quot Rendah. (2), (1), colorBrightGreen, colorDarkRed (2), warna (1), warnaBrightGreen, colorDarkRed (2), warna (1), warnaBrightGreen, colorDarkRed ) HaLow Min (L, Min (HaClose, HaOpen)) HaOow Max (Ha, Max), HaOow Max (Ha, HaOpen)) HaLow Min (L, Min (HaClose, HaOpen)) PlotOHLC (HaOpen, HaHigh, HaLow, HaClose, quotquot. Colcci, styleCandle styleNoLabel) BKswitch ParamToggle (quotBackground Colorquot, quotOn, Offquot) OUTcolor ParamColor (quotOuter Panel Colorquot, colorBlack) INUPcolor ParamColor (panel Panel Masuk Upperquot, colorGrey40) INDNcolor ParamColor (panel Panel Masuk Lowerquot, colorBlack) TitleColor ParamColor (quotTitle Color quot, colorBlack) jika (NOT BKswitch) Warna SetChartBkColor (OUTcolor) dari border luar SetChartBkGradientFill (INUPcolor, INDNcolor, TitleCo lor) warna panel dalam SECTIONEND () SECTIONBEGIN (quotquot) SetBarsRequired (100000, 0) GraphXSpace 15 ea EMA (C, 10) eb EMA (C, 20) SetBarFillColor (IIf (ea gt eb, colorGreen, colorRed)) Beli e Sebuah gt eb AND TimeNum () gt 092000 DAN TimeNum () lt 150000 Jual eb gt ea ATAU TimeNum () gt 150000 Short 0 Cover 0 Beli ExRem (Beli, Jual) ExRem Beli (Buy, Buy) Short ExRem (Short, Cover) Cover ExRem (Cover, Short) FactorParam (quotFactorquot, 4,1,10,1) PdParam (quotatR Periodsquot, 10,1,100,1) Naik (HL) 2 (FactorATR (Pd)) Dn (HL) 2- (FactorATR Pd)) iATRATR (Pd) TrendUpTrendDownNull trend01 changeOfTrend0 flagflagh0 untuk (i 1 i ltBarCount i) TrendUpi Null TrendDowni Null if (CloseigtUpi-1) trendi1 jika (trendi-1 -1) changeOfTrend 1 else if (CloseiltDni-1) trendi-1 Jika (trendi-1 1) changeOfTrend 1 else if (trendi-11) trendi1 changeOfTrend 0 else if (trendi-1-1) trendi-1 changeOfTrend 0 Buy trend1 Selltrend-1 BuyExRem (Beli, Jual) SellExRem (Jual, Beli) ShortSell CoverBuy BuyPriceValueWhen (Buy, C) SellPriceValueWhen (Sell, C) ShortPriceValueWhen (Short, C) CoverPriceValueWhen (Cover, C) PlotShapes (IIf (Buy, shapeSquare, shapeNone), colorGreen, 0, L, Offset-40) PlotShapes (IIf (Buy, shapeSquare, shapeNone), colorLime, 0, L, Offset-50) PlotShapes (IIf (Pendek, shapeSquare, shapeNone), colorRed, 0, H, Offset40) PlotShapes (IIf (Buy, shapeUpArrow, shapeNone), colorWhite, 0, L, Offset-45) PlotShapes (IIf (Pendek, bentukDownArrow, shapeNone), colorWhite, 0, H, Offset-45) untuk (iBarCount-1igt1i--) jika (Buyi 1 ) Entri Ci sig quotBUYquot sl TrendSLi tar1 entri (masuk .0050) tar2 entry (entry .0092) tar3 entry (entry .0179) bars ii 0 if (Selli 1) sig quotSELLquot entry Ci sl TrendSLi tar1 entry - (entri .0050) Tar2 entry - (entry .0112) tar3 entry - (entry .0212) bars ii 0 Offset 20 Clr IIf (sig quotBUYquot, colorLime, colorRed) ssl IIf (bar BarCount-1, TrendSLBarCount-1, Ref (TrendSL, -1) ) Sl sslBarCount-1 Plot (LineArray (bar-Offset, tar1, BarCount, tar1,1), quotquot, Clr, styleLinestyleDots, Null, Null, Offset) Plot (LineArray (bar-Offset, tar2, BarCount, tar2,1) , Quotquot, Clr, styleLinestyleDots, Null, Null, Offset) Plot (Baris-Array), quotquot, colorDarkRed, Line, Array (bar-Offset, sl, BarCount, sl, 1), kuotot, warnaDarkRed, StyleLinestyleLine, Null, Null, Offset) Plot (LineArray (bar-Offset, entri, BarCount, entry, 1), quotquot, colorGreen, styleLinestyleLine, Null, Null, Offset) untuk (ibars i ltBarCounti) PlotText (quotquotsigquotquotentry, BarCount1, entry , Null, colorBlue) PlotText (quotT1quottar1, BarCount3, tar1, Null, Clr) Teks PlotTeksquottar2, Barcode, tar2, Null, Clr) 1) if (messageboard 1) GfxSelectFont (quotTahomaquot, 13, 100) GfxSetBkMode (1) GfxSetTextColor (colorWhite) jika (sig quotBUYquot) GfxSelectSolidBrush (colorGreen) ini adalah warna latar belakang kotak yang lain GfxSelectSolidBrush (colorRed) ini adalah kotak warna latar belakang pxHeight Status (quotpxchartheightquot) xx Status (quotpxchartwidthquot) Lef T 1100 lebar 310 x 5 x2 290 GfxSelectPen (warnaWhite, 4) warna yang lebih luas GfxRoundRect (x, y - 165, x2, y. 160, 90) GfxTextOut ((quotLast quot sig quot Sinyal tanda kutip (BarCount-bars-1) 160, y-160) GfxTextOut ((quot quot quot tanda kutip tunggal) Interval () 60 menit yang laluquot), 148, y-140) Format teks lokasi GfxTextOut ((quotquot WriteIf (sig quotBUYquot, sig quot quot, sig quot quot quot quot quot entry), 130, y-120) GfxTextOut ( (QuotccOP LOSS. Quot sl quot (quot WriteVal (IIf (sig quotSELLquot, entry-sl, sl-entry), 2.2) quot) quot), 130, y-100) GfxTextOut ((quotTGT: 1. quot tar1), 130 , Y -80) GfxTextOut ((quotTGT: 2. quot tar2), 130, y-60) GfxTextOut ((quotTGT: 3. quot tar3), 130, y-40) GfxTextOut ((quotCurrent PL. Quot WriteVal (IIf ( Sig quotBUYquot, (C-entry), (entry-C)), 2.2)), 130, y-22) Beli ExRem (Beli, Jual) Jual ExRem (Jual, Beli) bentuk Buy shapeUpArrow Sell formDownArrow PlotShapes (IIf (Buy , ShapeSquare, shapeNone), colorGreen, 0, L, Offset-40) PlotShapes (IIf (Buy, shapeSquare, shapeNone), colorLime, 0, L, Offset-50) PlotShapes (IIf (Buy, sha PeUpArrow, shapeNone), colorWhite, 0, L, Offset-45) PlotShapes (IIf (Jual, shapeSquare, shapeNone), colorRed, 0, H, Offset40) PlotShapes (IIf (Sell, shapeSquare, shapeNone), colorOrange, 0, H , Offset50) PlotShapes (IIf (Beli, bentukDownArrow, shapeNone), colorWhite, 0, H, Offset-45) PlotShapes (bentuk, IIf (Buy, colorGreen, colorRed), 0, IIf (Beli, Rendah, Tinggi) dist 2.5 ATR (5) untuk (i 0 i lt BarCount i) if (Buyi) PlotText (quotBuynquot Closei, i, Lowi - disti, colorWhite) if (Selli) PlotText (quotsellnquot Closei, i, Lowi disti, colorWhite) SECTIONBEGIN (quotemaquot) P ParamField (quotFypequot) Tipe ParamList (quotTypequot, quotWeightight, Simple, Exponential, Double Exponential, Tripple Exponential, Wildersquot) Periode89 Param (quotPeriods180quot, 180, 2, 300) Displacement2 Param (quotDisplacement2quot, 2, -50, 50) Plot (EMA (P, Periode89), DEFAULTNAME (), colorWhite, styleDots, 0, 0, Displacement2) BAGIANEND () rjlCross (Lk, tar1) golCross (tar1, Lk) PlotShapes (shapeHollowStarrjl, colorAqua, 0, H, - 20) PlotShapes (shapeHollowStargol, colorViolet, 0, L, 20) BAGIANEND () untuk (i 0 i lt BarCount i) if (bvei) PlotText (quotABnquot. I, L i - disti, colorWhite, colorDarkBlue) if (rfwi) PlotText (quotASnquot i, H i disti, colorWhite, colorRed) SECTIONBEGIN (quotdayquot) TimeFrameSet (inDaily) beralih sekarang ke daylight TimeFrameRestore () mengembalikan kerangka waktu ke Plot asli (TimeFrameExpand (Oo, inDaily), quotquot, colorYellow, 10304 styleNoLabel) cx Param (quotcxposnquot, 476,0,1200,1) cy Param (quotcyposnquot, 500,0,1000,10) GfxSelectFont (quot Arial quot, 14, 98 , False) GfxSetTextColor (ColorRGB (10,250,250)) GfxTextOut (quotVolume. Quot Volume quotquot, cx 20, cy 50) Fungsi SECTIONBEGIN (quottomquot) GetSecondNum () Waktu Sekarang (4) Detik detik (Waktu 100) Menit int (Waktu 100 100) Hours int (Time 10000 100) SecondNum int (Jam 60 60 Menit 60 Detik detik) kembali SecondNum RequestTimedRefresh (1) TimeFrame Interval () SecNumber GetSecondNum () Newperiod SecNumber TimeFrame 0 SecsLeft SecNumber - int (SecNumber TimeFrame) TimeFrame SecsToGo TimeFrame - SecsLeft xParam ( Quotxposnquot, 99,0,1000,1) yP Aram (quotyposnquot, 40,0,1000,1) GfxRoundRect (x615, y530, x738, y499, 0,0) GfxSelectSolidBrush (ColorRGB (230, 230, 230)) GfxSelectPen (ColorRGB (203, 25, 23), 3) Jika (NewPeriod) GfxSelectSolidBrush (colorYellow) GfxSelectPen (warnaYellow, 2) Katakanlah (quotNew periodquot) GfxSetBkMode (1) GfxSelectFont (quotArialquot, 13, 800, False) GfxSetTextColor (ColorRGB (220,10,150)) GfxTextOut (quotTimeleftquotquot. (GXXXXXXXXXXXXXXXX) (GIFT) GfxText (GIFG) (GHS) (GHS) GfxText (Ganda) , Y-25) SECTIONBEGIN (quotRibbonquot) uptrendPDI () gtMDI () DAN Sinyal () ltMACD () downtrendMDI () gtPDI () DAN Sinyal () gtMACD () Plot (1, tinggi tinggi pita dalam persen lebar pane Quotribbonquot, IIf (uptrend, colorLime, IIf (downtrend, colorRed, IIf (Sinyal () ltMACD (), colorLightGrey, colorLightGrey))), pilih color styleOwnScalestyleAreastyleNoLabel, -.05,50) BAGIANEND () Last edited by skumar4545 3 Januari 2014 Jam 11:22 pagi. Alasan: tambahkan img

No comments:

Post a Comment