Saturday 1 July 2017

Moving Average Afl Code


Gambar 1. Open price array Setiap array lain dihitung dari 6 array ini dengan menggunakan rumus yang dibangun ke dalam AFL. Array ini tidak tersimpan dalam database namun dihitung bila diperlukan. Setiap nilai individu dalam array memiliki tanggal yang terkait dengannya. Jika Anda memiliki opsi tip alat yang diaktifkan (Preferences - gt Miscellaneous Tab - gt Tip alat data harga), saat Anda memindahkan kursor Anda ke atas lilin di atas bagan lilin harian, sebuah kotak kecil berwarna kuning akan muncul. AFL kemudian melihat ke atas nilai volume terbuka, rendah, tinggi, dekat, dalam array yang sesuai dan menampilkannya di dalam tip alat. Pengolahan array - mengapa AFL begitu cepat Mari kita lihat bagaimana pernyataan berikut diproses: MyVariable (High Low) 2 Bila AFL sedang mengevaluasi pernyataan seperti ini (High Low) 2, Anda tidak perlu menafsirkan ulang kode ini untuk setiap baris. Sebagai gantinya, dibutuhkan ARRAY Tinggi dan ARRAY Rendah dan menambahkan elemen array yang sesuai dalam satu tahap. Dengan kata lain operator (dan operator lainnya juga) mengerjakan array sekaligus dan dijalankan dengan kecepatan kode penuh, maka array yang dihasilkan (setiap elemennya) dibagi 2 juga dalam satu tahap. Mari kita lihat rinciannya - lihat gambar 2. Bila mesin AFL terlihat pada (High Low) 2, pertama-tama mengambil array High (1) dan Low (2) dan menghasilkan (dalam single compiled step) array sementara (3). Maka itu menciptakan array akhir (4) dengan membagi setiap elemen dari array sementara menjadi dua. Hasil ini ditugaskan ke myVariable Fig 2. Langkah AFL saat memproses (High Low) 2 Moving averages, pernyataan bersyarat Mari kita pertimbangkan kode berikut ini: Cond1 Tutup gt MA (Close, 3) Cond2 Volume gt Ref (Volume, -1) Beli Cond1 dan Cond2 Jual High gt 1.30 Kode ini menghasilkan sinyal beli saat penutupan hari ini lebih tinggi dari rata-rata pergerakan 3 hari pada volume penutupan dan todays lebih tinggi dari volume kemarin. Ini juga menghasilkan sinyal jual saat high todays lebih tinggi dari 1,30. Jika dalam kode AFL Anda perlu melihat apakah harga penutupan lebih besar dari rata-rata pergerakan rata-rata 3 hari AFL yang pertama akan dijalankan melalui array dekat, buatlah sebuah array baru yang disebut MA (close, 3) untuk simbol yang dianalisis. Setiap sel di array baru kemudian dapat dibandingkan satu untuk satu dalam array dekat. Pada contoh sebuah array yang disebut Cond1 dibuat dengan cara ini. Untuk setiap sel dimana harga penutupan lebih besar dari nilai sel yang sesuai di MA (close, 3) nilai sel untuk array baru Cond1 diatur ke 1. Jika harga penutupan tidak lebih besar dari harga yang sesuai pada nilai close Di Cond1 diatur ke 0. AFL juga dapat melihat ke depan atau ke belakang sejumlah sel dalam array menggunakan fungsi Ref (lihat baris 6 dimana array sementara dibuat memegang volume hari sebelumnya) Pada baris 9, sebuah array baru yang disebut Cond2 telah dibuat. Dengan membandingkan nilai setiap sel dalam susunan volume dengan sel sebelumnya mengatur nilai sel Cond2 menjadi 1 jika benar dan 0 jika salah. Baris 10 menunjukkan sebuah array bernama Buy created dengan membandingkan nilai sel di Cond1 dengan nilai sel di Cond2. Jika sel di Cond1 memiliki 1 dan begitu juga sel yang sesuai di Cond2 maka 1 ditempatkan pada sel array Beli. Baris 11 menunjukkan sebuah array bernama Sell yang dibuat setiap kali nilai sel dalam array dekat lebih besar dari 1,30. Jelas Buy and Sell adalah array khusus yang hasilnya dapat ditampilkan di jendela Analyzer atau di layar dengan menggunakan nilai merah atau hijau sesuai kebutuhan. Mendapatkan sedikit lebih kompleks Contoh di atas sangat sederhana. Sekarang saya hanya akan menjelaskan 3 hal yang tampaknya menimbulkan kebingungan di kalangan pengguna: mereferensikan nilai yang dipilih (SelectedValue, BeginValue, EndValue, LastValue) Fungsi AMF AMA berfungsi Seperti yang tertulis di Tutorial: Panduan charting dasar Anda dapat memilih kutipan dari grafik Dan Anda bisa menandai From-To range. Bilah yang dipilih oleh garis vertikal disebut bar quotselectedquot sementara batang start dan end dari range disebut quotbeginquot dan quotendquot bars. AFL memiliki fungsi khusus yang memungkinkan nilai referensi dari array pada bar yang dipilih, start dan end. Fungsi ini disebut SelectedValue, BeginValue dan EndValue. Ada satu lagi fungsi yang disebut LastValue yang memungkinkan untuk mendapatkan nilai array di bar terakhir. Keempat fungsi ini mengambil elemen array pada bar yang diberikan dan mengembalikan NOMOR SINGLE mewakili nilai dari array pada titik yang diberikan. Hal ini memungkinkan untuk menghitung beberapa statistik mengenai titik-titik terpilih. Sebagai contoh: EndValue (Close) - BeginValue (Close) Akan memberi Anda perubahan dolar antara harga penutupan di kisaran-dari pilihan yang dipilih. Ketika nomor yang diambil oleh fungsi-fungsi ini dibandingkan dengan array atau operasi aritmatika lainnya yang melibatkan bilangan dan larik dilakukan, ia bekerja seperti jumlah yang membentang semua elemen array. Ini diilustrasikan pada tabel di bawah ini (baris 2, 6, 7). Tanda warna hijau quotbeginquot bar dan tanda warna merah quotendingquot bar. Bar pilihan ditandai dengan warna biru. Sekarang fungsi IIF (kondisi, truepart, falsepart). Ia bekerja sehingga mengembalikan nilai argumen kedua (truepart) atau ketiga (falsepart) tergantung pada kondisi. Seperti yang dapat Anda lihat pada tabel di atas pada baris 8, nilai-nilai berasal dari array Close (truepart) untuk bar ketika kondisi benar (1) dan berasal dari Open array (falsepart) untuk bar yang tersisa. Dalam hal ini array yang dikembalikan oleh fungsi IIF terdiri dari beberapa nilai dari Close dan beberapa nilai dari Open array. Perhatikan bahwa kedua truepart dan falsepart adalah array dan mereka dievaluasi terlepas dari kondisinya (jadi ini bukan pernyataan IF-THEN-ELSE biasa tapi fungsi yang mengembalikan array) Fungsi AMA (array, factor) tampaknya menyebabkan masalah yang paling banyak dengan Mengerti itu Tapi sebenarnya sangat sederhana. Ia bekerja secara rekursif. Artinya menggunakan nilai sebelumnya untuk perhitungan nilai sekarang. Ini memproses array bar by bar, dengan setiap langkahnya mengalikan sel yang diberikan dari argumen pertama (array) dengan sel yang diberikan dari argumen kedua (faktor) dan menambahkannya ke nilai AMA sebelumnya dikalikan dengan (1 faktor). Mari pertimbangkan kolom 3. Nilai AMA pada kolom 3 diberikan dengan mengalikan harga penutupan dari kolom 3 (1,23) menurut faktor (0,4). Daripada kita tambahkan nilai AMA sebelumnya (1.0363) dikalikan dengan (1-faktor 0,6). Hasilnya (dibulatkan menjadi 4 tempat) adalah 1,23 0,4 1,0363 0,6 1,1138. Jika Anda melihat angka di baris 12 Anda mungkin memperhatikan bahwa nilai ini terlihat seperti rata-rata bergerak mendekati. Dan itu benar. Kami benar-benar mempresentasikan bagaimana cara menghitung variable-period eksponensial moving average dengan menggunakan fungsi AMA. Dengan versi 4.40 AmiBroker membawa kemampuan untuk iterate melalui kutipan yang digunakan untuk sementara loop dan menambahkan if-else flow control statement. Perangkat tambahan ini memungkinkan untuk bekerja dengan cara KEDUA: gunakan ARRAY processing (dijelaskan di atas) untuk kecepatan dan kesederhanaan atau gunakan LOOPS untuk melakukan hal-hal yang rumit. Sebagai contoh bagaimana menerapkan periode variabel eksponensial rata-rata (dijelaskan di atas) dengan menggunakan perulangan lihat kode berikut: Periode. Beberapa perhitungan vaexp 0 Tutup 0 menginisialisasi nilai pertama untuk (i 1 i lt BarCount i) hitung nilai faktor pemulusan Faktor 2 (Periode i 1) hitung nilai elemen elemen ke-i menggunakan tutup bar ini (close i) dan Nilai rata-rata sebelumnya (vaexp i - 1) vaexp i Factor Close i (1 - Factor) vaexp i - 1 Seperti yang Anda lihat, kode ini lebih panjang tapi sebaliknya sangat mirip dengan bahasa pemrograman lainnya seperti CPascalBasic. Jadi orang dengan beberapa pengalaman dengan pemrograman mungkin merasa lebih mudah untuk dipahami. Jika Anda pemula saya sarankan untuk belajar pemrosesan array terlebih dahulu sebelum menggali barang perulangan yang lebih kompleks. Jika youre mengalami masalah coding AFL saya sarankan Anda menghasilkan array di contoh di Excel untuk diri sendiri. Jika itu masalah mendapat pertolongan dari seorang teman - apalagi kalau teman itu adalah seorang akuntan. Setelah Anda memahaminya, Anda dapat kode sistem apapun dari sebuah buku tentang perdagangan - atau membangunnya sendiri. --- Terima kasih khusus kepada Geoff Mulhall untuk artikel asli di buletin yang merupakan dasar dari tutorial ini --- AFL adalah bahasa pemrograman khusus yang digunakan untuk mendefinisikan dan membuat indikator, pemindaian, eksplorasi, tes balik dan tafsir guru. Elemen leksikal Bab ini menjelaskan berbagai jenis unit kata (token) yang dikenal oleh penerjemah bahasa AFL. Whitespace Whitespace adalah nama kolektif yang diberikan ke spasi (kosong), tab, karakter baris baru dan komentar. Ruang putih dapat berfungsi untuk menunjukkan di mana token mulai dan diakhiri, namun di luar fungsi ini, setiap spasi berlebih dibuang. Komentar adalah potongan teks yang digunakan untuk menganotasi sebuah program. Komentar untuk programmer hanya menggunakan mereka yang dilucuti dari kode sumber sebelum parsing. Ada dua cara untuk menggambarkan komentar: komentar seperti C dan komentar seperti C. Komentar C-like adalah urutan karakter yang ditempatkan setelah pasangan simbol. Komentar berakhir pada kejadian pertama pasangan setelah awal. Seluruh urutan, termasuk empat simbol pembatas komentar, digantikan oleh satu spasi. Komentar seperti C adalah komentar satu baris yang dimulai dengan menggunakan dua garis miring yang berdekatan () pada posisi mana pun di dalam garis dan berlanjut sampai baris berikutnya berikutnya. AFL tidak mengizinkan komentar bersarang. AFL mengenali lima kelas token: pengidentifikasi konstanta string-literal operator punctuators (juga dikenal sebagai pemisah) Identifier adalah nama yang sewenang-wenang dari setiap panjang yang diberikan pada fungsi dan variabel. Pengenal dapat berisi huruf (a-z, A-Z), karakter underscore (kuotot), dan digit (0-9). Karakter pertama harus berupa surat. Pengidentifikasi AFL TIDAK sensitif huruf. Konstanta adalah token yang mewakili nilai numerik atau karakter tetap. Konstanta numerik terdiri dari bilangan bulat desimal dan opsional: titik desimal dan pecahan desimal. Konstanta numerik negatif memiliki unary minus (-) yang diawali. Konstanta string, juga dikenal sebagai string literal. Membentuk kategori khusus konstanta yang digunakan untuk menangani urutan karakter yang tetap dan ditulis sebagai urutan dari sejumlah karakter yang dikelilingi oleh tanda kutip ganda: quot Ini secara harfiah adalah stringquot String null (kosong) ditulis dengan kuotot. Karakter di dalam tanda kutip ganda dapat mencakup urutan escape (quotnquot - urutan pelarian baris baru). Ekspresi Konstan adalah ungkapan yang selalu mengevaluasi konstanta. Mereka dievaluasi sama seperti ekspresi reguler. Punctuator (juga dikenal sebagai separator) di AFL adalah salah satu karakter berikut: (). . Tanda kurung (terbuka (dan dekat)) ekspresi kelompok, mengisolasi ekspresi kondisional dan menunjukkan pemanggilan fungsi dan parameter fungsi: dc (ab) menggantikan preseden normal a (b DAN c) OR (d DAN e) ekspresi kondisional func () fungsi tidak memanggil argumen Koma (,) memisahkan elemen dari daftar argumen fungsi Titik koma () adalah terminator pernyataan. Setiap ekspresi AFL legal yang diikuti oleh titik koma ditafsirkan sebagai sebuah pernyataan, yang dikenal sebagai pernyataan ekspresi. Ekspresi dievaluasi dan nilainya dibuang (kecuali Komentar Guru di mana nilai string ditulis ke jendela output) Titik (.) Adalah operator akses anggota. Ini digunakan untuk memanggil metode objek COM. Jika variabel myobj memegang objek, dengan menggunakan operator dot kita dapat memanggil metode (fungsi) objek myobj: Tanda sama () memisahkan deklarasi variabel dari daftar inisialisasi: x 5 Ini juga menunjukkan nilai default untuk parameter (lihat built-in Deskripsi fungsi): macd (fast 12 slow 26) nilai default untuk argumen cepat dan lambat) Struktur bahasa Setiap formula di AFL mengandung satu atau lebih pernyataan ekspresi. Setiap pernyataan HARUS diakhiri dengan titik koma (). Dengan cara ini Anda bisa memecah ekspresi panjang menjadi beberapa garis fisik (untuk mendapatkan kejelasan) dan AmiBroker akan tetap memperlakukannya seperti sebuah pernyataan tunggal sampai mengakhiri titik koma. Contoh: Identifier Identifier pada AFL digunakan untuk mengidentifikasi variabel dan fungsi. Ada beberapa pengenal yang telah ditentukan yang merujuk pada susunan dan fungsi built-in. Yang paling penting adalah pengenal array harga. Mereka mengidentifikasi bidang harga spesifik yang harus dioperasikan oleh formula. Pengenal array harga yang valid terbuka. Tinggi. rendah . Dekat Volume. Openint. Rata-rata. Pengenal array harga dapat disingkat seperti ditunjukkan pada tabel berikut. Perhatikan bahwa ini bukan kasus khusus. Simpan nilai operand kedua pada objek yang ditentukan oleh operan pertama (8220simple assignment8221). Operator tugas memberi nilai pada sebuah variabel: di mana hasilnya adalah variabel identifier dan expression adalah ekspresi numerik, array atau teks. Karena operator berperilaku seperti operator lain, ungkapan yang menggunakannya memiliki nilai selain menetapkan nilai tersebut ke dalam variabel. Ini berarti bahwa Anda dapat menugaskan operator penugasan sebagai berikut: j k l 0 j, k, dan l sama dengan nol setelah pernyataan contoh dijalankan. Perhatian: tolong jangan membingungkan operator penugasan () dengan pemeriksaan kesetaraan () Ini adalah dua operator yang berbeda dan Anda tidak boleh menggunakan tugas () untuk memeriksa persamaan. Jika (Nama () quotMSFTquot) SALAH. - Operator penugasan variabel digunakan sebagai pengganti cek kesetaraan if (Name () quotMSFTquot) CORRECT - operator kesetaraan yang digunakan dengan benar Ini adalah salah satu kesalahan pengkodean umum yang tercantum di sini. Operator aritmatika Rumus dapat berisi operator matematis berikut: Mendapat atribut bitwise inklusif dari operan pertama dan kedua menyimpan hasilnya pada objek yang ditentukan oleh operator tipe operan pertama () operator Tipe operator digunakan dengan cara berikut: typeof (operand) Tipe operator mengembalikan sebuah string yang menunjukkan jenis operand yang tidak terevaluasi. Operand adalah string, variabel, fungsi identifier, atau objek dimana tipe tersebut akan dikembalikan. Saat memberikan identifier, seharusnya disediakan sendiri, tanpa operator aritmatika, tanpa argumen tambahan dan tanpa kawat gigi. Jika Anda ingin memeriksa jenis nilai yang dikembalikan oleh fungsinya, Anda harus terlebih dahulu menetapkan nilai pengembalian ke variabel dan kemudian menggunakan typeof (variabel). Nilai pengembalian yang mungkin adalah: quotundefinedquot - identifier tidak didefinisikan quotnumberquot - operand mewakili sebuah bilangan (skalar) quotarrayquot - operand mewakili sebuah array quotstringquot - operand merupakan sebuah string quotfunctionquot - operand adalah fungsi pengenal fungsi penjamin fungsi - operand adalah user - Fungsi yang didefinisikan quotobjectquot - operand mewakili objek COM quotmemberquot - operand mewakili fungsi anggota atau properti objek COM quothandlequot - operand merupakan Windows handle quotunknownquot - tipe operand yang tidak diketahui (tidak boleh terjadi) jenis operator memungkinkan antara lain untuk mendeteksi variabel yang tidak terdefinisi dalam berikut Way if (typeof (somevar) undefined) ketika somevar tidak terdefinisi kode di sini akan mengeksekusi Contoh berikut kode COMMENTARY menunjukkan output dari typeof () pada beberapa situasi umum: x MACD () y LastValue (x) function testfun () return 1 Printf (typeof (test) n) printf variabel yang tidak terdefinisi (typeof (1) n) menyala (Printf (typeof (checking) n) string printf (tipeof (x) n) variabel array printf (tipeof (y) n) variabel skalar printf (tipeof (MACD) n) identifier fungsi printf (tipeof (testfun) n) Pengenal fungsi pengguna Operator didahulukan dan tanda kurung AFL mendukung tanda kurung dalam formula. Tanda kurung dapat digunakan untuk mengendalikan precedence operasi (urutan di mana operator dihitung). AmiBroker selalu melakukan operasi di dalam tanda kurung terdalam terlebih dahulu. Bila tanda kurung tidak digunakan, yang menjadi prioritas adalah sebagai berikut (prioritas lebih tinggi yang tercantum pertama): (tanpa tanda kurung) akan dihitung oleh AmiBroker sebagai quotL 2quot plus quotHquot, karena pembagian memiliki preseden yang lebih tinggi. Ini akan menghasilkan nilai yang jauh berbeda dari beberapa kata tentang operator incrementdecrement. Ada dua macam dari mereka: postfix dan awalan. Operator unary (dan -) disebut operator kenaikan atau pengurangan 8220prefix8221 saat penambahan atau penurunan operator muncul sebelum operan. Peningkatan dan penurunan postfix memiliki preseden yang lebih tinggi daripada operator increment increment and decrement. Ketika operator muncul sebelum operannya, operan bertambah atau dikurangi dan nilai barunya adalah hasil dari ekspresi. J i i akan bertambah terlebih dahulu dan hasilnya (nomor 6) akan ditugaskan ke j. Hasil dari kenaikan postfix atau operasi pengurangan adalah nilai ekspresi postfix sebelum penambahan atau pengurangan operator diterapkan. Jenis hasilnya sama dengan ekspresi postfix tapi bukan lagi nilai l. Setelah hasilnya diperoleh, nilai operan bertambah (atau decremented). Jij akan diberi nilai 5 (sebelum incrementation) dan kemudian saya akan bertambah menjadi 6. Mengakses elemen array: - operator subscript Pengenal array diikuti oleh ekspresi dalam tanda kurung siku () adalah representasi subscript dari elemen array obyek. Ini mewakili nilai elemen ekspresi elemen. Konstanta BarCount memberikan jumlah bar dalam array (seperti Close, High, Low, Open, Volume, dll). Elemen elemen diberi nomor dari 0 (nol) ke BarCount-1. BarCount TIDAK berubah selama formula Anda melanjutkan eksekusi, namun mungkin akan berubah antara eksekusi saat bar baru ditambahkan, faktor zoom berubah atau simbol diubah. Untuk mendapatkan bar pertama Anda bisa menggunakan array 0, untuk mendapatkan bar terakhir dari array Anda dapat menggunakan array BarCount - 1 Close 5 Merupakan elemen keenam (bar) dari array jarak dekat. Tutup 0 Merupakan bar pertama yang tersedia dari array jarak dekat. High BarCount - 1 Merupakan bar terakhir array Tinggi. Matriks dan operator Matriks Matriks adalah array dua dimensi angka. Untuk membuat matriks menggunakan: myvarname Matrix (baris, cols, initvalue) Untuk mengakses elemen matriks, gunakan: myvarname row col dimana baris adalah indeks baris (0. jumlah baris-1) dan col adalah indeks kolom (angka 0. Dari kolom-1) Matriks dan elemennya mendukung semua operasi aritmatika skalar (elementer) dan logika. Semua operator standar ini dilakukan pada elemen matriks. Untuk alasan itu misalnya untuk menambahkan dua matriks mereka harus ukuran yang sama (jumlah baris dan kolom harus sama). Jika mereka tidak sama terserah kepada Anda bagaimana melakukan perhitungan pada setiap elemen melalui loop. Jadi Anda bisa misalnya menambahkan, mengurangi, mengalikan, membagi dua matriks jika memiliki dimensi yang sama dengan satu panggilan. X Matriks (5. 6. 9) matriks 5 baris 6 kolom, nilai awal 9 y Matriks (5. 6. 10) matriks 5 baris 6 kolom, nilai awal 10 zy - x akan memberi Anda matriks 5 baris dan 6 kolom diisi dengan Elemen memegang nilai 1 (beda antara 10 dan 9). Semua operasi tersebut dilakukan ELEMENT-WISE. Anda juga dapat menerapkan operasi aritmatika dan logika pada nilai matriks dan skalar. Ini akan melakukan operasi elemen-bijaksana pada setiap elemen matriks sumber dan diberi nilai skalar. M Matriks (10. 10. 0) m akan menjadi matriks 10x10 yang diisi dengan z z z z z z sekarang juga matriks untuk (i 0 i lt 10 i) z i 4 i mengisi z dengan beberapa nilai lainnya, perhatikan bahwa m akan tetap tidak terpengaruh. Untuk (i 0 i lt 10 i) TRACEF (gg, g, gn i, mi 1, mi 4, zi 4) tambahan skalar (unsur bijak) z 3 m 5 untuk (i 0 i lt 10 i) TRACEF (gg , G, gn i, mi 1, mi 4, zi 4) Ada satu operator khusus yang hanya bekerja pada matriks - ini adalah produk matriks. Operator untuk produk matriks adalah (tanda pada). Produk matriks adalah cara aljabar linier untuk memperbanyak matriks. Jika Anda menulis CAB, ini mengalikan matriks A (n, k) dengan matriks B (k, m) untuk menghasilkan matriks C (n, m) sehingga jumlah kolom pada matriks A harus sama dengan jumlah baris pada matriks B. Untuk info lebih lanjut lihat: en. wikipedia. orgwikiMatrixmultiplication Presisi operator produk matriks sama dengan (sehingga memiliki kemiringan lebih tinggi daripada penambahan dan pengurangan). Matriks Matriks (1. 3) B (3. 2) matriks A 1, 4, 6 matriks B 2, 3 5, 8 7, 9 A 0 0 1 A 0 1 4 A 0 2 6 B 0 0 2 B 0 1 3 B 1 0 5 B 1 1 8 B 2 0 7 B 2 1 9 TRACEF (g g X 0 0, X 0 1) Pernyataan majemuk (Blok) Pernyataan majemuk terdiri dari pernyataan nol atau lebih yang dilingkupi kurung kurawal ( ). Pernyataan majemuk dapat digunakan di manapun pernyataan diharapkan. Pernyataan majemuk biasanya disebut 8220blocks.8221 (ini dipinjam dari bahasa C, pengguna bahasa pemrograman lain digunakan untuk menggunakan BEGIN for) if (Jumlah di 100) TRACE (Jumlah di atas 100) Saldo Saldo Jumlah lainnya Saldo Saldo - Jumlah Built - Dalam Fungsi Selain operator matematika, AmiBroker berisi lebih dari 70 fungsi built-in yang melakukan operasi matematika. Rumus berikut terdiri dari satu fungsi yang memberi akar kuadrat dari harga penutupan: Rumus berikut terdiri dari satu fungsi yang memberikan indikator RSI 14-periode: Rumus berikut terdiri dari dua fungsi. Hasilnya adalah perbedaan antara indikator MACD dan moving average eksponensial 9 periode MACD: Semua pemanggilan fungsi harus terdiri dari fungsi identifier (nama) diikuti oleh sepasang tanda kurung. Seperti telah dijelaskan dalam contoh sebelumnya, sebuah fungsi dapat dicantumkan dalam suatu fungsi. Fungsi nested dapat berfungsi sebagai fungsi utama array data parameter. Contoh berikut menunjukkan fungsi yang bersarang di dalam fungsi: Contoh pertama menghitung rata-rata pergerakan sederhana 10 periode dari Indeks Kekuatan Relatif 15-periode (RSI). Contoh kedua menghitung rata-rata pergerakan eksponensial 20 periode RSI 15 periode, dan kemudian menghitung rata-rata pergerakan sederhana 10 periode dari rata-rata pergerakan ini. Fungsi bersyarat IIF () Fungsi iif () digunakan untuk membuat tugas bersyarat. Ini berisi tiga parameter seperti yang ditunjukkan pada contoh berikut. Pernyataan quotiifquot di atas berbunyi (dalam bahasa Inggris) sebagai berikut: Jika penutupan hari ini lebih besar dari rata-rata moving average 10 hari yang mendekati hari ini, berikan RSI 9 hari ke variabel dynamicrsi, jika tidak, tetapkan RSI 14 hari. Rumus berikutnya memberikan volume ekstra positif148 ke variabel volresult jika mendekati lebih besar dari harga rata-rata. Jika tidak, kuotasi volume diberikan. Jika Anda hanya ingin sebuah ungkapan dievaluasi sebagai benar atau salah, itu bisa dilakukan tanpa menggunakan fungsi iif (). Rumus berikut akan menghasilkan 1 (true) atau 0 (false): Hal yang sama dilakukan dengan iif () memberikan hasil yang sama, namun rumusnya lebih panjang. Harap dicatat bahwa IIF adalah fungsi - sehingga hasil evaluasi dikembalikan oleh fungsi itu dan harus diberikan ke beberapa variabel. Saya selalu mengevaluasi TRUEPART dan FALSEPART, meskipun hanya mengembalikan satu dari keduanya. Karena itu, Anda harus memperhatikan efek samping yang tidak diinginkan. Fungsi IIF BUKAN pernyataan flow-control. Jika Anda membutuhkan kontrol arus (eksekusi kondisional beberapa bagian kode), Anda harus mencari pernyataan kondisional jika-lain yang dijelaskan nanti dalam dokumen ini. Contoh berikut menunjukkan satu kesalahan umum yang dibuat dengan fungsi IIF: IIf (kondisi, hasil 7. hasil 9) INI TIDAK BENAR Penggunaan yang benar adalah: hasil IIf (kondisi, 7. 9) 7 atau 9 dikembalikan dan diberikan ke variabel hasil tergantung pada Kondisi Untuk mempersingkat, menyederhanakan, meningkatkan, dan membuat rumusan formula yang rumit menjadi lebih mudah, Anda mungkin ingin menggunakan variabel. Sebenarnya dengan menggunakan variabel Anda bisa secara signifikan meningkatkan kecepatan perhitungan rumus. Jadi sangat disarankan untuk menggunakan variabel dan tidak ada batasan jumlah variabel yang dapat Anda definisikan. Variabel adalah identifier yang ditugaskan pada ekspresi atau konstanta. Jumlah variabel yang digunakan dalam formula tidak terbatas. Variabel harus diberikan sebelum variabel digunakan dalam rumus. Variabel tidak dapat ditetapkan dalam pemanggilan fungsi. Nama variabel yang ditentukan pengguna (identifiers) tidak dapat menduplikat nama yang sudah digunakan oleh fungsi (misalnya ma, rsi, cci, iif, dll.) Atau pengenal array yang telah ditentukan sebelumnya (misalnya terbuka, tinggi, rendah, dekat, sederhana, o, c, l, H, s, a). Variabel reserved AmiBroker menggunakan beberapa nama variabel reserved dalam rumusnya, misalnya di jendela Auto-Analysis Anda harus menetapkan nilai ke 2 variabel yang dinamai buy atau sell untuk menentukan kondisi di mana kondisi quotellquot dan quotellquot. Sebagai contoh (sistem yang membeli ketika MACD naik di atas 0 baris, dan menjual saat MACD turun di bawah garis 0) AmiBroker menggunakan nama variabel reserved berikut ini. Harap dicatat bahwa variabel yang ditandai sebagai usang TIDAK boleh digunakan dalam pengkodean baru. Hanya tersisa untuk kompatibilitas ke belakang dan formula baru harus menggunakan fungsi modern seperti Plot () untuk merencanakan indikator dan AddColumn () untuk menentukan kolom eksplorasi. Grafik N warna (usang) mendefinisikan indeks warna garis grafik N (indeks warna terkait dengan palet saat ini - lihat PreferensiColor) colorCustom1 0 colorCustom2 1 colorCustom3 2 colorCustom4 3 colorCustom5 4 colorCustom6 5 colorCustom7 6 colorCustom8 7 colorCustom9 8 colorCustom10 9 colorCustom11 10 ColorCustom12 11 colorCustom13 12 colorCustom14 13 colorCustom15 14 colorCustom16 15 colorBlack 16 warnaBrown 17 colorDarkOliveGreen 18 colorDarkGreen 19 colorDarkTeal 20 colorDarkBlue 21 colorIndigo 22 colorDarkGrey 23 colorDarkRed 24 colorOrange 25 colorDarkYellow 26 colorGreen 27 colorTeal 28 colorBlue 29 colorBlueGrey 30 colorGrey40 31 colorRed 32 colorLightOrange 33 colorLime 34 colorSeaGreen 35 ColorAqua 35 colorLightBlue 37 colorViolet 38 colorGrey50 39 colorPink 40 colorGold 41 warnaYellow 42 warnaBrightGreen 43 warnaTurquoise 44 warnaSkyblue 45 colorPlum 46 colorLightGrey 47 warnaRose 48 warnaTan 49 colorLightYellow 50 col OrPaleGreen 51 colorPaleTurquoise 52 colorPaleBlue 53 colorLavender 54 colorWhite 55 graph N barcolor (usang) mendefinisikan array yang memegang indeks palet untuk setiap batang grafik digambar N style (usang) mendefinisikan gaya grafik N. Style didefinisikan sebagai kombinasi (jumlah) dari satu atau lebih flag berikut: styleLine 1 - normal (garis) grafik (default) styleHistogram 2 - histogram chart styleThick 4 - gaya lemak (tebal )Dot 8 - termasuk titik gayaNoLine 16 - tidak ada gaya garisLog 32 - gaya skala semi logaritmik Gaya lilin 64 - candlestick styleBar 128 - gaya bagan bar tradisionalNoDraw 256 - tidak ada gambar (hanya menampilkan skala sumbu) styleStaircase 512 - tangga (kuadrat) bagan gayaSwingDots 1024 - titik tengah untuk gaya bagan tanggaNoRescale 2048 - tidak ada gaya rescaleNoLabel 4096 - tidak ada label nilai stylePointAndFigure 8192 - titik dan gambar (baru dalam 4.20): styleArea 16384 - area chart (histogram ekstra luas) styleOwnScale 32768 - plot menggunakan gaya penskalaan independenLeftAxisScale 65536 - plot menggunakan skala sumbu kiri (independen dari sumbu kanan) Tidak semua kombinasi flagal masuk akal, misalnya (641) (garis candlestick) akan menghasilkan candlestick chart (style64) Catatan pada chart candlestickbar: gaya ini digunakan dalam Arus O, H, L secara langsung selain graf N. Rumus chart harga candlestick biasa adalah graph0close graph0style64. Tetapi jika Anda ingin menarik sesuatu yang lain dari harga mendekati Anda harus menetapkan nilai baru ke array O, H, L yang telah ditentukan sebelumnya. Grafik N barcolor (usang) mendefinisikan array indeks warna untuk batang dan kandil pada grafik N ine (indeks warna terkait dengan palet saat ini - lihat PreferensiColor) PENGEMBANGAN AFL Reply admin May 5, 2012 at 3:15 pm SECTIONBEGIN ( ROC-Close) safeguard Ini dikembangkan oleh departemen Penelitian dan Pengembangan StockBangladesh jika Anda memerlukan bantuan apapun, silakan hubungi kami di amibrokerstockbangladesh preStrMid (safeguard, 21, 15) stockbangladeshperiods Param (Periods, 3, 1, 200, 1) stockbangladeshROCcloseROC (C, stockbangladeshperiods) Plot (ROC (C, StockBangladeshperiods), DEFAULTNAME (), ParamColor (Warna, ColorCycle), ParamStyle (Gaya)) pra StrMid (safeguard, 33, 15) StockBangladeshPriceUp LinRegSlope (StockBangladeshROCclose, StockBangladeshperiods) 0 printf (PriceUp fn, StockBangladeshPriceUp) SECTIONBEGIN (ROC-Volume) StockBangladeshperiods Param (Periode, 3, 1, 200, 1) Plot (ROC (V, StockBangladeshperiods), DEFAULTNAME (), ParamColor (Warna, warnaGreen), ParamStyle (Style)) StockBangladeshROCvolumeROC (V, StockBangladeshperiods) StockBangladeshVolumeUp LinRegSlope (StockBangladeshROCvolume, StockBangladeshperiods) 0 printf (VolumeUp fn, StockBangladeshVolumeUp) StockBangladeshBullishDiv TIDAK StockBangladeshPriceUP DAN StockBangladeshROCvolume StockBangladeshBearishDiv StockBangladeshPriceUP DAN TIDAK StockBangladeshVolumeUp Saring StockBangladeshBullishDiv OR StockBangladeshBearishDiv preStockBangladesh AddColumn (StockBangladeshBullishDiv, Bullish Divergence, 1.0, colorDefault , IIf (StockBangladeshBullishDiv, colorGreen, colorDefault)) AddColumn (StockBangladeshBearishDiv. Bearish Divergence, 1.0, colorDefault, IIf (StockBangladeshBearishDiv colorRed, colorDefault)) GfxSetOverlayMode (1) GfxSelectFont (Tahoma, Status (pxheight) 5) GfxSetTextAlign (6) penyelarasan tengah GfxSetTextColor (ColorRGB (200, 200, 200)) GfxSetBkMode (1 ) Transparent GfxTextOut (pre, Status (pxwidth) 2, Status (pxheight) 12) Balas admin 5 Mei 2012 di 21:50 dear Sir, ple. Ubah indikator di bawah mq4 ke afl8217s Balas reddi 2 November 2012 pukul 9:24 pm indikator propertichartwindow indikator indikator properti 8 indikator properticolor1 Indikator properti birucolor2 Indikator properti merahcolor3 Indikator properti birucolor4 Indikator properti merahcolor5 Indikator properti birucolor6 Indikator properti merahcolor7 Indikator properti biru8 Red 8212- masukan Parameter extern int ChannelPeriod9 Periode Channel Price extern double Risk0.30 faktor penyempitan saluran (082300,5) extern int Signal1 Modus sinyal display: 1-Sinyal amp Stop 0-only Stop Sinyal 2-saja extern int Line1 Tampilan mode garis: 0-no , 1-yes extern int ColorBar1 Tampilan mode bilah warna: 0-no, 1-yes extern int TimeFrame0 TimeFrame di min extern int Nbars1000 8212- buffer indikator ganda UpTrendBuffer double DownTrendBuffer ganda UpTrendSignal double DownTrendSignal double UpTrendLine double DownTrendLine double UpTrendBar double DownTrendBar 821282128212821282128212821282128212821282128 212821282128212821282128212821282128212 Kustom fungsi inisialisasi indikator 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 int init () string nama pendek 8212- Indikator jalur SetIndexBuffer (0, UpTrendBuffer) SetIndexBuffer (1, DownTrendBuffer) SetIndexBuffer (2, UpTrendSignal) SetIndexBuffer (3, DownTrendSignal) SetIndexBuffer (4, UpTrendLine) SetIndexBuffer (5, DownIndexStyle (2, DRAWARROW) SetIndexStyle (4, DRAWARROW) SetIndexStyle (4, DRAWLINE) SetIndexStyle (5, DRAWLINE) SetIndexStyle (5, DRAWAR) SetIndexStyle (4, DRAWAR) SetIndexStyle (4, DRAWAR) SetIndexStyle (4, SetIndexStyle(6,DRAWHISTOGRAM, STYLESOLID,1) SetIndexStyle(7,DRAWHISTOGRAM, STYLESOLID,1) SetIndexArrow(0,159) SetIndexArrow(1,159) SetIndexArrow(2,108) SetIndexArrow(3,108) 8212- name for DataWindow and indicator subwindow label shortname8221PriceChannelStop(8220ChannelPeriod8221)8221 IndicatorShortName(shortname) SetIndexLabel(0,8221UpTrend Stop8221) SetIndexLabe l(1,8221DownTrend Stop8221) SetIndexLabel(2,8221UpTrend Signal8221) SetIndexLabel(3,8221DownTrend Signal8221) SetIndexLabel(4,8221UpTrend Line8221) SetIndexLabel(5,8221DownTrend Line8221) SetIndexLabel(6,8221UpTrend Bar8221) SetIndexLabel(7,8221DownTrend Bar8221) 8212- SetIndexDrawBegin(0,ChannelPeriod) SetIndexDrawBegin(1,ChannelPeriod) SetIndexDrawBegin(2,ChannelPeriod) SetIndexDrawBegin(3,ChannelPeriod) SetIndexDrawBegin(4,ChannelPeriod) SetIndexDrawBegin(5,ChannelPeriod) SetIndexDrawBegin(6,ChannelPeriod) SetIndexDrawBegin(7,ChannelPeriod) 8212- return(0) 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 PriceChannelStopv6 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 int start() datetime TimeArray int i, shift, trend, y0 double high, low, price, sum, VolAverage, UpBar, DnBar double smax25000,smin25000,bsmax25000,bsmin25000,Mid25000,Vol25000 double LowArray, HighArray for (shiftNbars-1shiftgt0shift8211) UpTrendBuffershift0.0 DownTrendBuffershift0.0 UpTrendSignalshift0.0 DownTrendSignalshift0.0 UpTrendLineshiftEMPTYVALUE DownTrendLineshiftEMPTYVALUE UpTrendBarshift0.0 DownTrendBarshift0.0 Draw price channel boards calculation. Channel middle, half channel width, ArrayCopySeries(TimeArray, MODETIME, Symbol(),TimeFrame) ArrayCopySeries(LowArray, MODELOW, Symbol(),TimeFrame) ArrayCopySeries(HighArray, MODEHIGH, Symbol(),TimeFrame) for(i0,y0iltNbarsi) if (Timei0shift8211) Calculation channel stop values Signal area. any conditions to trend determination: 1. Price Channel breakout if(Riskgt0) if(Closeshiftgtbsmaxshift) trend1 if(Closeshiftbsmaxshift1) trend1 if(Closeshift0) if(Riskgt0 ampamp Closeshiftltbsminshift) bsminshiftbsminshift1 if(bsminshiftltbsminshift1) bsminshiftbsminshift1 if(trend0 ampamp Closeshiftgtbsmaxshift) bsmaxshiftbsmaxshift1 if(bsmaxshiftgtbsmaxshift1) bsmaxshiftbsmaxshift1 Drawing area UpBarbsmaxshift DnBarbsminshift if (trendgt0) if (Signalgt0 ampamp UpTrendBuffershift1-1.0) bsminshiftsminshift UpTrendSignalshiftbsminshift if(Linegt0) UpTrendLineshiftbsminshift else UpTrendBuffershiftbsminshift if(Linegt0) UpTrendLineshiftbsminshift UpTrendSignalshift-1 if(ColorBargt0) if(CloseshiftgtUpBar) UpTrendBarshiftHighshift DownTrendBarshiftLowshift else UpTrendBarshiftEMPTYVALUE DownTrendBarshiftEMPTYVALUE if (Signal2) UpTrendBuffershift0 DownTrendBuffershift-1.0 DownTrendLineshiftEMPTYVALUE if (trend0 ampamp DownTrendBuffershift1-1.0) bsmaxshiftsmaxshift DownTrendSignals hiftbsmaxshift if(Linegt0) DownTrendLineshiftbsmaxshift else DownTrendBuffershiftbsmaxshift if(Linegt0)DownTrendLineshiftbsmaxshift DownTrendSignalshift-1 if(ColorBargt0) if(CloseshiftBars) CountBarsBars SetIndexDrawBegin(0,Bars-CountBarsATP) SetIndexDrawBegin(1,Bars-CountBarsATP) int i, i2,loopbegin, countedbarsIndicatorCounted() double SsMax, SsMin, K, val1, val2, smin, smax, price static int alrt0 if(countedbarsltATP1) for(i1iltATPi) ExtMapBuffer1CountBars-i0.0 for(i1i1i8211) SsMax HighHighest(NULL,0,MODEHIGH, ATP, i-ATP1) SsMin Low Lowest (NULL,0,MODELOW, ATP, i-ATP1) smin SsMin-(SsMax-SsMin)Minima100 smax SsMax-(SsMax-SsMin)Maxima100 ExtMapBuffer1i-ATP1smax ExtMapBuffer2i-ATP-1smax if (ExtMapBuffer10 gt ExtMapBuffer20 ampamp ExtMapBuffer11 lt ExtMapBuffer21 ampamp alrt 1) alrt 1 Alert(quotTM. quotSymbol()quot quotPeriod()quot 8211 Changing Trend Direction Long nowquot) SendMail(quotFrom TMquot, quotTM. quotSymbol()quot quotPeriod()quot 8211 Changing Trend Direction Long nowquot) if (ExtMapBuffer10 ExtMapBuffer21 ampamp alrt-1) alrt -1 Alert(8220TM. 8220Symbol()8221 8220Period()8221 8211 Changing Trend Direction Short now8221) SendMail(8220From TM8221,8221TM. 8220Symbol()8221 8220Period()8221 8211 Changing Trend Direction Short now8221) property indicatorchartwindow property indicatorbuffers 3 property indicatorcolor1 Green property indicatorcolor2 Blue property indicatorcolor3 Red 8212- indicator parameters extern int ExtDepth34 extern color Linecolor Red extern color Targetcolor Blue extern bool DrawZZfalse extern bool ShowTargettrue int UpArrowCode 241 int DownArrowCode 242 color UpArrowColor Blue color DownArrowColor Red int UpArrowSize 3 int DownArrowSize 3 8212- indicator buffers double zzL double zzH double zz double target10,target20 8212821282128212821282 128212821282128212821282128212821282128212821282128212821282128212 Custom indicator initialization function 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 int init() IndicatorBuffers(3) 8212- drawing settings SetIndexStyle(2,DRAWARROW) SetIndexStyle(1,DRAWARROW) SetIndexStyle(0,DRAWSECTION) SetIndexArrow(2,159) SetIndexArrow(1,159) 8212- indicator buffers mapping if(DrawZZ) SetIndexBuffer(0,zz) SetIndexBuffer(1,zzH) SetIndexBuffer(2,zzL) SetIndexEmptyValue(0,0.0) SetIndexEmptyValue(1,0.0) SetIndexEmptyValue(2,0.0) return(0) int deinit() 8212- ObjectDelete(8220xpMA8221) ObjectDelete(8220Target18221) ObjectDelete(8220Target28221) ObjectDelete(8220TargetUp8221) ObjectDelete(8220TargetDown8221) ObjectDelete(8220TP18243) ObjectDelete(8220TP28243) ObjectDelete(8220R18243) ObjectDelete(8220R28243) ObjectDelete(8220R38243) ObjectDelete(8220R48243) ObjectDelete(8220LH8221) ObjectDelete(8220LL8221) ObjectDelete(8220Low8221) ObjectDelete(8220High8221) ObjectDelete(82200.6188243) ObjectDelete(82200.58243) ObjectDelete(82200.3828243) ObjectDelete(82200.2368243) Comment(8221 8220) 8212- return(0) 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 int start() int i, shift, pos, lasthighpos, lastlowpos, curhighpos, curlowpos double curlow, curhigh, lasthigh, lastlow double min, max ArrayInitialize(zz,0.0) ArrayInitialize(zzL,0.0) ArrayInitialize(zzH,0.0) lasthighposBars lastlowposBars lastlowLowBarslasthighHighBars for(shiftBars-ExtDepth shiftgt0 shift8211) curlowposLowest(NULL,0,MODELOW, ExtDepth, shift) curlowLowcurlowpos curhighposHighest(NULL,0,MODEHIGH, ExtDepth, shift) curhighHighcurhighpos 8212821282128212821282128212821282128212821282128212821282128212 if( curlowgtlastlow ) else if( lasthighposgtcurlowpos ) zzLcurlowposcurlow min100000 poslasthighpos for(ilasthighpos igtcurlowpos i8211) if (zzLi0.0) continue if (z zLiltmin) zzi0.0 zzposmin lastlowposcurlowpos lastlowcurlow 8212 high if( curhighcurhighpos ) zzHcurhighposcurhigh max-100000 poslastlowpos for(ilastlowpos igtcurhighpos i8211) if (zzHi0.0) continue if (zzHigtmax) zzi0.0 zzposmax lasthighposcurhighpos lasthighcurhigh double p, r4,r3,r2,r1 double R lasthigh 8211 lastlowrange if(lastlowposr4 )target1 curhigh (R 0.618) if(Close0gttarget1)target1 0 if(lasthighposltlastlowpos) p curhigh r4 p 8211 (R 0.618) r3 p 8211 (R 0.5) r2 p 8211 (R 0.382) r1 p 8211 (R 0.236) if(Close0ltr4 )target2 curlow 8211 (R 0.618) if(Close00 ampamp ShowTargettrue) drawLine(target1,8221TP18243, Targetcolor,2) drawLabel(8220TargetUp8221,target1,Targetcolor,7) drawTarget(8220Target18221,target1,Targetcolor,1) if(r4gtr2 ampamp Close0gtr4 ampamp target1gtr4) DrawObject(1, (target1curhigh)2) if(r4r2 ampamp target1gtr2) DrawObject(1, (target1curhigh)2) if(target2gt0 ampamp ShowTargettrue) drawLine(target2,8221TP28243, Targetcolor,2) drawLabel(8220Targ etDown8221,target2,Targetcolor,7) drawTarget(8220Target28221,target2,Targetcolor,2) if(r4ltr2 ampamp Close0ltr4 ampamp target2r2 ampamp Close0ltr2 ampamp target2ltr2) DrawObject(2, (target2curlow)2) void drawTarget(string name, double lvl, color Color, int num) string targetDoubleToStr(lvl, Digits) string verquotVequot ObjectCreate(name, OBJLABEL, 0, 0, 0) if(num1) ObjectSet(name, OBJPROPXDISTANCE, 470) ObjectSet(name, OBJPROPYDISTANCE, 2) ObjectSetText(name, quotTarget UP quottarget, 9, quotArialquot, Blue) if(num2) ObjectSet(name, OBJPROPXDISTANCE, 470) ObjectSet(name, OBJPROPYDISTANCE, 15) ObjectSetText(name, quotTarget DOWN quottarget, 9, quotArialquot, Blue) 8212821282128212821282128212821282128212821282128212821282128212821282128212821282128212 void drawLabel(string name, double lvl, color Color, int time) if(ObjectFind(name) 0) ObjectCreate(name, OBJTEXT, 0, Timetime, lvl) ObjectSetText(name, name, 8, quotArialquot, EMPTY) ObjectSet(name, OBJPROPCOLOR, Color) else ObjectMove(na me, 0, Timetime, lvl) void drawLine(double lvl, string name, color Col, int type) if(ObjectFind(name) 0) if(type 1) ObjectCreate(name, OBJHLINE, 0, Time0, lvl, Time0,lvl) else ObjectCreate(name, OBJGANNLINE, 0, Time15, lvl, Time0,lvl) ObjectSet(name, OBJPROPSTYLE, STYLESOLID) ObjectSet(name, OBJPROPCOLOR, Col) ObjectSet(name, OBJPROPWIDTH,1) if(type 1) ObjectCreate(name, OBJHLINE, 0, Time0, lvl, Time0,lvl) else ObjectCreate(name, OBJGANNLINE, 0, Time15, lvl, Time0,lvl) ObjectSet(name, OBJPROPSTYLE, STYLESOLID) ObjectSet(name, OBJPROPCOLOR, Col) ObjectSet(name, OBJPROPWIDTH,1) void DrawObject(int direction, double price) static int count 0 count string Obj quotquot Obj quotxpMAquot if (direction1) up arrow ObjectCreate(Obj, OBJARROW,0,Time0,price) ObjectSet(Obj, OBJPROPCOLOR, UpArrowColor) ObjectSet(Obj, OBJPROPARROWCODE, UpArrowCode) ObjectSet(Obj, OBJPROPWIDTH, UpArrowSize) if (direction2) down arrow ObjectCreate(Obj, OBJARROW,0,Time0,price) ObjectSet(Obj, OBJPROPCOLOR, DownArrowColor) Ob jectSet(Obj, OBJPROPARROWCODE, DownArrowCode) ObjectSet(Obj, OBJPROPWIDTH, DownArrowSize) Reply reddi November 2, 2012 at 9:53 pm thanks in advance hope u will do the same. thank u Reply rubaiyat November 7, 2012 at 8:23 am Dear admin would you please provide me a volume price analysis afl along with volume bar and fibonaci retracement. as like a afl that used by mr. kartik marar in stocknewsbd. Reply narendra jain November 27, 2012 at 9:10 am Sub:Amibroker Charts formula development for AUTOMATED TRADING Hi, this is to inform you that we are having an automated trading platform which works only through AMIBROKER. But it works with the arrows which gets ploted in the amibroker charts. for example:if it gives buy arrow then our platform places a buy order amp if it gives sell arrow then it sells our existing position. But with this, we are not getting handsome profit so, we want you to develop our charting. But we want the chartings to be develoved in such a way that no human involvement is required i. e.100 auto trading. If you do so then this is our requirement for formula development:- 1.when the AB chart gives a buy signal then my platform places a buy order now we want that the charting gives profit booking signal or square off position signal or exit position signal too according to the calculations of targets made by the chart. 2.if, in case, our 1st target doesnt gets achieve then our charting should also generate stop loss signal and trailing stop loss signal amp if market sustains above 1st target then again charting should generate 2nd buy signal and so on accordingly. 3. generation for sell signal as accordingly. So, these are our requirements for AB charting formula development as stated above. In short, we want to take benefit of both rising amp falling market(242157). For these, whatever nominal charges is required, we are ready to pay for it. Day To Day Income Reply Saifz December 27, 2012 at 11:23 pm Dear admin, do you have the latest version of VPA amp VSA afl of legendary Karthik Marar It8217ll be of great help, if you share it with us. Terima kasih. Reply Krishnaraj. K January 31, 2013 at 11:28 pm Please provide me the corrected version of the Foundation V 13.41 Version afl becaus e iam getting some syntax errors pls do help me in this regard as i value the indicator as a great one. Hope you will do the needful at least sent it by mail if possible also. Reply prasadaraokarri April 22, 2013 at 10:02 am sir, can you convert mq4 formula in to afl languageplease letme know the further details as soon as possible. Reply gangadhar May 3, 2013 at 10:01 pm I have 1,3,5,7,10,15,20 min and 1 hour Time frames, with buy amp sell signal. I want to see all trigger in one window . Regards Gangadhar K need aFL FOR CRUDE OIL Reply Gupta June 28, 2013 at 12:46 am Dear administrator, First of all i thank you for helping small traders like us. i also have a small request for my Afl.. its on 8230. Nick MA Swing system(ATR-14ampK-1) with TEMA-39 close AND EMA-49 close THE system rules are as fallows. 1)for buy price candle TEMA 39 should be above EMA 49 Nick System Buy signal (filtration additional). 2)for sell price candle TEMA 39 should be below EMA 49 Nick system sell signal (filtration additional). 3)stoploss will be a)Nick system BuySell signal 6 points above high for Sell and 6 points below low for Buy of the SAME candle. b)Reversal signal FOR BuySell 6 points above high for Sell and 6 points below low for Buy of the SAME candle. 4) targets 25 to 50 points (optional) Filtration are as fallows. 1)When Nick System Buy Sell signal APPEAR it should only Buy Sell at next candle . 2)In next candle it should only BuySell if it cross signals highlow 6 points ABOVE HIGH AND BELOW LOW.. Thanking you Gupta Your Blog follower Reply Mozammal Hoque October 1, 2013 at 12:55 pm Dear administrator, I need a volume amp money flow afl with exploration and buy - sell signal . Please provide me. Thanks for your support. Reply Andrea Bertini November 8, 2013 at 3:15 pm I need a free system scan with AmiBroker of about 300 asset management products, in a medium-to long-term, in order to determine the trends and signals of buying and selling, thanks Reply SHANKAR PAWAR November 18, 2013 at 10:13 pm I need a Regular Bearish AND BULLISH Divergence, afl with exploration and buy-sell signal.

No comments:

Post a Comment