Penggunaan Program Gabungan Dikatakan sebelumnya bahwa menurut aturan fungsi perdagangan MQL4 tidak dapat digunakan dalam indikator khusus, oleh karena itu untuk Expert Advisors otomatis atau skrip harus digunakan. Namun, teknologi hemat sumber daya yang digunakan untuk perhitungan dalam indikator (lihat Penciptaan Indikator Khusus) banyak digunakan saat membuat program perdagangan. Dalam kebanyakan kasus dalam indikator khusus, seseorang dapat secara efisien menghitung nilai elemen indikator yang diperlukan untuk pembentukan kriteria perdagangan dan pengambilan keputusan perdagangan di Expert Advisors. Perhitungan yang dilakukan pada indikator khusus secara teknis juga dapat diterapkan di Expert Advisors, namun hal ini dapat menyebabkan duplikasi perhitungan dalam program aplikasi yang berbeda dan pemborosan sumber daya yang tidak masuk akal, dan dalam beberapa kasus (ketika perhitungan intensif sumber daya yang intensif dilakukan) - untuk Sebuah keputusan perdagangan dibuat terlambat. Dalam hal ketika diperlukan untuk menggunakan hasil perhitungan indikator kustom dalam Expert Advisor atau script, fungsi iCustom () dapat digunakan. Fungsi iCustom () Perhitungan indikator custom yang diberikan. Indikator khusus harus dikompilasi (.ex4 file) dan terletak di direktori Terminalcatalogueexpertsindicators. Simbol - simbol nama keamanan, pada data indikator mana yang akan dihitung. NULL menunjukkan simbol saat ini. Jangka waktu - periode. Bisa menjadi salah satu periode bagan. 0 berarti periode grafik saat ini. Nama - nama indikator khusus . - Daftar parameter (jika diperlukan). Parameter Lulus harus sesuai dengan urutan menyatakan dan jenis variabel eksternal dari indikator kustom. Mode - Indeks dari garis indikator. Bisa dari - ke 7 dan harus sesuai dengan indeks yang digunakan oleh fungsi SetIndexBar manapun. Shift - Indeks nilai yang diperoleh dari buffer indikator (geser kembali relatif ke bar saat ini dengan jumlah bar yang ditentukan). Mari kita pertimbangkan bagaimana iCustom () dapat digunakan dalam praktek. Mari kita selesaikan masalah berikut: Soal 30. Strategi trading didasarkan pada data indikator rocseparate. mq4. Jika garis ROC dalam jangka waktu saat ini (oranye) melewati garis rata-rata merapikan (tingkat tebal rata-rata) di bawah tingkat tertentu dari bawah ke atas, ini adalah kriteria yang relevan untuk membeli (Buy terbuka dan Jual Tutup). Jika ada kondisi yang berlawanan, anggap ini kriteria yang relevan untuk dijual. Tuliskan kode yang menerapkan strategi ini. Prinsip pembangunan rimseparate custom sesuai peraturan rizal. mq4 dijelaskan secara rinci di bagian Custom Indicator ROC (Price Rate of Change). Ara. 131 mengilustrasikan dua titik, di mana garis ROC dalam rentang waktu saat ini (M15) melintasi laju garis perubahan yang merapikan. Pada titik A garis oranye menyilang yang merah dari bawah ke atas dan tempat persimpangan pertama berada di bawah level -0.001. Pada titik B garis oranye menyilang yang merah ke arah bawah dan titik silangnya berada di atas level 0,001. Fakta penyeberangan ini harus dideteksi di Expert Advisor dan dianggap sebagai sinyal untuk membeli (point A - close Sell dan open Buy) atau untuk menjual (point B - close Buy and open Sell). Ara. 131. Penyeberangan garis indikator khusus dianggap sebagai kriteria perdagangan. Saat memecahkan masalah tersebut Expert Advisor siap digunakan, mengubah urutan perhitungan kriteria trading di dalamnya. Dalam hal ini kita bisa mengambil sebagai dasar Expert Advisor tradingexpert. mq4 yang dijelaskan di bagian Simple Expert Advisor. EA shared. mq4 menghitung kriteria trading berdasarkan indikator custom akan terlihat loke ini: Mari kita simak amandemen apa yang telah dibuat di source code (tradingexpert. mq4). Bagian utama Expert Advisor yang digunakan sebagai dasar tidak berubah. Perubahan telah dilakukan dalam dua blok - blok 1-2 - dan blok 5-6. Pada kriteria blok 5-6 trading dihitung. Dalam EA yang dijelaskan strategi trading didasarkan pada dua kriteria trading - kriteria untuk membuka Buy and criterion to open Sell. Strategi yang digunakan dalam Expert Advisor memungkinkan kehadiran hanya satu order pasar terbuka, pending order tidak diperbolehkan. Strategi juga mengandaikan penutupan suatu perintah yang berlawanan ketika sebuah kriteria untuk membuka pemicu misalnya, jika kriteria untuk membuka order Beli relevan, artinya order Sell harus ditutup. Untuk penggunaan di EA bersama. mq4 hasil perhitungan yang dilakukan pada indikator kustom rocseparate. mq4, fungsi iCustom () harus dijalankan: Dalam kasus ini parameter formal yang ditentukan dalam iCustom () memanggil berikut ini: NULL - perhitungan dalam indikator adalah Dilakukan berdasarkan data keamanan saat ini dalam hal ini EA dilampirkan pada jendela EURUSD, sehingga data EURUSD akan digunakan (lihat Gambar 131) 0 - dalam data perhitungan dari jangka waktu saat ini digunakan dalam kasus ini, timeframe saat ini adalah M15, jadi data yang sesuai dengan M15 akan digunakan sebagai kutipan dari parameter customrocontractedeparatequot, di mana perhitungan akan dilakukan. H, P, B, A - daftar parameter yang dapat disesuaikan. Dalam kasus ini, indikator kustom rocseparate. mq4 memiliki parameter yang dapat disesuaikan (blok 2-3 dari rocseparate. mq4 kode). Agar pengguna dapat mengatur nilai parameter ini dari EA, mereka ditentukan dalam daftar parameter yang dilewatkan dari fungsi iCustom (). Dalam nilai Expert Advisor dari parameter ini dapat berbeda dari yang ditentukan dalam indikator. Dalam kasus seperti ini selama perhitungan indikator persis nilai yang dilewati ini akan digunakan. Parameter ini menunjukkan sebagai berikut: H - jumlah balok dalam sejarah perhitungan P - periode perhitungan MA B - jumlah bar untuk perhitungan tarif A - jumlah bar untuk smoothing. (Arti dari parameter ini dijelaskan secara rinci di bagian Custom Indicator ROC (Price Rate of Change) 1 (5) - garis indeks indikator. Dalam indikator kustom rocseparate. mq4 6 rangkaian indikator digunakan. ROC line in Jangka waktu saat ini (oranye) dibangun berdasarkan nilai Line1, dimana buffer dengan indeks 1 digunakan. Garis laju rata-rata yang diurangkan didasarkan pada nilai elemen array Line5, indeks buffer yang digunakan adalah 5. 0 - indeks nilai Diperoleh dari buffer indikator (bergeser kembali relatif ke bar saat ini dengan jumlah periode yang ditentukan).Dalam hal ini, nilai garis indikator pada nol bar digunakan, oleh karena itu indeks 0 ditentukan. Agar pengguna dapat Ubah parameter indikator yang dapat disesuaikan di EA secara manual, variabel eksternal ditentukan di blok 1a-1b (dari Expert Advisor). Pada blok 5-5a nilai parameter ini diberikan ke variabel lain dengan nama yang lebih pendek - hal ini dilakukan untuk kenyamanan Presentasi kode di blok 5a - 5b. Dengan demikian pengguna dapat menentukan parameter shared. mq4, dengan mana perhitungan pada indikator kustom rocseparate. mq4 akan dilakukan. Setelah eksekusi fungsi iCustom () akan mengembalikan nilai yang sesuai dengan nilai elemen tertentu dari rangkaian indikator yang ditentukan yang dihitung dalam indikator menggunakan nilai parameter yang dapat disesuaikan. Selama operasi praktis, mudah dilihat di sudut jendela indikator keamanan, elemen array digunakan pada Expert Advisor (lihat Gambar 131). Pada saat yang sama eksekusi iCustom () tidak terhubung dengan adanya indikator di jendela keamanan, begitu juga dengan nilai parameter yang dapat disesuaikan. Eksekusi iCustom () tidak memerlukan lampiran indikator yang sesuai ke jendela keamanan. Seperti halnya panggilan iCustom () dari program aplikasi apapun tidak mengakibatkan lampiran indikator yang sesuai ke jendela keamanan. Lampiran indikator teknis ke jendela keamanan juga tidak mengarah pada panggilan iCustom dalam program aplikasi apapun. Kriteria perdagangan di EA (blok 5-6) dihitung berdasarkan nilai elemen array yang diperoleh dengan menggunakan fungsi iCustom (). Misalnya, kriteria untuk membuka Buy and closing Sell dihitung dengan cara berikut: Jika nilai rata-rata dari garis rata-rata tingkat rata-rata yang paling akhir (L5) lebih rendah dari tingkat yang ditentukan (nilai parameter yang dapat disesuaikan Level 0.001) dan nilai terakhir yang diketahui Dari garis ROC dalam jangka waktu saat ini (L1) lebih besar dari garis rata-rata merapikan (L5), kriteria untuk membuka order Beli dan menutup order Sell dianggap relevan. Untuk konfirmasi relevansi kriteria berlawanan yang mencerminkan kondisi yang digunakan. Kriteria perdagangan yang diterima dalam contoh ini hanya digunakan untuk tujuan pendidikan dan tidak boleh dianggap sebagai pedoman saat melakukan trading pada akun sebenarnya. Rata-rata Rata-rata Indikator Teknik Rata-rata Bergerak menunjukkan nilai rata-rata instrumen rata-rata untuk jangka waktu tertentu. Ketika seseorang menghitung rata-rata bergerak, satu rata-rata mengeluarkan harga instrumen untuk jangka waktu ini. Seiring perubahan harga, rata-rata pergerakannya meningkat, atau menurun. Ada empat jenis rata-rata bergerak: Sederhana (juga disebut Aritmatika), Eksponensial. Merapikan dan tertimbang Moving Average dapat dihitung untuk kumpulan data sekuensial, termasuk harga pembukaan dan penutupan, harga tertinggi dan terendah, volume perdagangan atau indikator lainnya. Hal ini sering terjadi ketika double moving averages digunakan. Satu-satunya hal di mana rata-rata bergerak dari berbagai jenis berbeda satu sama lain, adalah ketika koefisien bobot, yang ditetapkan ke data terbaru, berbeda. Jika kita berbicara tentang Simple Moving Average. Semua harga periode waktu yang dimaksud sama nilainya. Exponential Moving Average dan Linear Weighted Moving Average melampirkan nilai lebih pada harga terbaru. Cara yang paling umum untuk menafsirkan rata-rata pergerakan harga adalah membandingkan dinamikanya dengan aksi harga. Ketika harga instrumen naik di atas rata-rata bergeraknya, sinyal beli muncul, jika harga turun di bawah rata-rata pergerakannya, yang kita miliki adalah sinyal jual. Sistem perdagangan ini, yang berbasis pada moving average, tidak dirancang untuk memberikan masuk ke pasar tepat di titik terendahnya, dan pintu keluarnya tepat di puncak. Hal ini memungkinkan untuk bertindak sesuai dengan tren berikut: untuk membeli segera setelah harga mencapai bagian bawah, dan untuk menjual segera setelah harga mencapai puncaknya. Moving averages mungkin juga diterapkan pada indikator. Di situlah interpretasi indikator moving averages sama dengan interpretasi rata-rata pergerakan harga: jika indikator naik di atas rata-rata pergerakannya, itu berarti pergerakan indikator naik cenderung berlanjut: jika indikator berada di bawah rata-rata pergerakannya, ini Berarti kemungkinan akan terus turun. Berikut adalah jenis rata-rata bergerak pada grafik: Rata-rata Moving Average Moving Average (SMMA) Rata-rata Bergerak Rata-rata Bergerak Rata-rata (SMMA) Anda dapat menguji sinyal perdagangan dari indikator ini dengan membuat Expert Advisor Di MQL5 Wizard. Perhitungan Simple Moving Average (SMA) Sederhana, dengan kata lain, rata-rata pergerakan aritmatika dihitung dengan menjumlahkan harga penutupan instrumen selama periode satu periode (misalnya 12 jam). Nilai ini kemudian dibagi dengan jumlah periode tersebut. SMA SUM (CLOSE (i), N) N SUM jumlah CLOSE (i) harga penutupan periode berjalan N jumlah periode perhitungan. Exponential Moving Average (EMA) Rata-rata pergerakan yang dipercepat secara eksponensial dihitung dengan menambahkan bagian tertentu dari harga penutupan saat ini ke nilai rata-rata pergerakan sebelumnya. Dengan rata-rata bergerak rata-rata merata, harga penutupan terbaru lebih bernilai. P-percent exponential moving average akan terlihat seperti: EMA (CLOSE (i) P) (EMA (i - 1) (1 - P)) TUTUP (i) harga penutupan saat ini EMA (i - 1) nilai Moving Average Dari periode sebelumnya P persentase menggunakan nilai harga. Rata-rata bergerak rata-rata dihitung menurut rumus ini: SMMA (i) Nilai rata-rata dari rata-rata bergerak merapikan ini dihitung sebagai rata-rata bergerak sederhana (SMA): SUM1 SUM (CLOSE (i), N) (SMMA1 (N-1) CLOSE (i)) N Berhasil rata-rata bergerak dihitung sesuai dengan rumus di bawah ini: PREVSUM SMMA (i - 1) N SMMA (i) (PREVSUM - SMMA (i - 1) TUTUP (i)) N SUM sum SUM1 jumlah total harga penutupan untuk periode N dihitung dari bar sebelumnya PREVSUM jumlah smoothed dari bar sebelumnya SMMA (i-1) merapikan moving average dari bar sebelumnya SMMA (i) merapikan moving average dari bar saat ini (Kecuali untuk yang pertama) TUTUP (i) harga n saat ini mendekati sm. Setelah konversi aritmatika, rumus tersebut dapat disederhanakan: SMMA (i) (SMMA (i - 1) (N - 1) CLOSE (i)) N Rata - rata Tertimbang Pita Bergerak (LWMA) Dalam hal rata - rata pergerakan tertimbang, data terakhir adalah Lebih banyak nilai daripada data awal lebih banyak. Rata-rata bergerak tertimbang dihitung dengan mengalikan masing-masing harga penutupan dalam rangkaian yang dipertimbangkan, dengan koefisien bobot tertentu: LWMA SUM (CLOSE (i) i, N) SUM (i, N) SUM sum CLOSE (i) harga tutup saat ini SUM (i, N) jumlah total koefisien bobot N periode smoothing. Saya baru mengkodekan, dan saya banyak belajar, namun saya telah menemukan sesuatu yang tidak dapat saya pahami saat ini. Saya mencoba memanggil hasil tes di salah satu indikator saya, ke ea, sehingga bisa menambahkannya ke tes sendiri sebelum melakukan perdagangan. Ea adalah cross rata-rata bergerak sederhana. Indikatornya adalah indikator tren atau mulai. Saya telah melampirkan kode indikator. Saya ingin membantu, dan jika mungkin dijelaskan begitu saja, saya bisa memusatkan perhatian pada bagaimana seharusnya dipasang di dalam indikator, agar bisa dikenali. Setelah saya memiliki indikator diurutkan, saya akan pindah ke ea. Indikatornya memiliki dua tes, di mana saya ingin menambahkan fungsi iCustom. Pada tahap ini, saya hanya ingin menambahkannya dalam satu ujian, tidak masalah, karena saya mencoba memahaminya. Siapa pun bersedia membantu dan menjelaskannya secara sederhana. Akan sangat bermanfaat - saya tidak dapat menemukan apapun on-line yang menjelaskannya jadi saya memahaminya. Hasil tes hanya bisa berupa quottruequot. Thanks in advance untuk Anda waktu. Mike iCustom mengizinkan Anda mengakses buffer Indikator Anda. Sesederhana itu. Misalnya, Anda menulis EA yang memiliki strategi berdasarkan 2 Indikator, Anda bisa membangun kode Indikator ke EA, itu mungkin tapi sedikit terlibat karena Indicator buffer tidak bekerja pada EA, Anda harus menggunakan array dan Tangani mereka dalam mode kuota seriquot. Alternatifnya adalah memiliki Indikator yang berjalan dan mengakses buffer mereka dari EA. Inilah yang iCustom fasilitasi. Tidak ada perubahan yang diperlukan untuk Indikator. EA hanya mengakses buffer yang dibutuhkannya pada nilai pergeseran yang dibutuhkannya. Dalam iCustom panggilan itu juga dapat melewati variabel eksternal yang diperlukan untuk setup Indikator seperti yang berlaku iCustom memungkinkan Anda untuk mengakses buffer Indikator Anda. Sesederhana itu. Misalnya, Anda menulis EA yang memiliki strategi berdasarkan 2 Indikator, Anda bisa membangun kode Indikator ke EA, itu mungkin tapi sedikit terlibat karena Indicator buffer tidak bekerja pada EA, Anda harus menggunakan array dan Tangani mereka dalam mode kuota seriquot. Alternatifnya adalah memiliki Indikator yang berjalan dan mengakses buffer mereka dari EA. Inilah yang iCustom fasilitasi. Tidak ada perubahan yang diperlukan untuk Indikator. EA hanya mengakses buffer yang dibutuhkannya pada nilai pergeseran yang dibutuhkannya. Dalam iCustom panggilan itu juga dapat melewati variabel eksternal yang diperlukan untuk setup Indikator seperti berlaku Terima kasih untuk itu RaptorUK, namun itu adalah pengkodean sebenarnya bahwa saya mengalami kesulitan dengan. Saya sangat baru mengenal MQL4, dan baru beberapa bulan melakukannya, dan saya masih belajar - jadi saya memerlukan penjelasan sederhana tentang pengkodean dan cara memasangnya di indikator.
No comments:
Post a Comment