Saya punya pertanyaan tentang pemrograman MQL4.
Bagaimana cara menggambar garis horizontal pada penutupan atau pembukaan lilin?
Ada bantuan bagaimana melakukan ini?
Saya punya pertanyaan tentang pemrograman MQL4.
Bagaimana cara menggambar garis horizontal pada penutupan atau pembukaan lilin?
Ada bantuan bagaimana melakukan ini?
1 Attachment (s) Saya sudah dikodekan tetapi masih mendapat masalah, saya tidak bisa menggambar garis horizontal. Juga ada beberapa bar yang tidak menarikmenghitung volume tertinggi seperti dapat melihat lingkaran geen pada gambar. Bagaimana cara menggambar garis horizontal berdasarkan HighLow atau OpenClose? Bagaimana cara menggambar garis biru pada lilin Bull dan garis merah pada beruang lilin?
https://www.forexfabrikasi.com/gener...s-gbp-jpy.htmlKode yang dimasukkan #property indior_chart_window #property indior_buffers 2 #property indior_color1 Biru #property indior_color2 Red #property indior_width1 1 #property indior_width2 1 #property indior_style1 0 #property indior_style2 0 extern int NumberOfBars = 500; double HighLines # 91; # 93 ;, LowLines # 91; # 93 ;;/ ----------------------------------------------- ------------------- /| Fungsi inisialisasi indens kustom |/ ----------------------------------------------- ------------------- int init () {SetIndexBuffer (0, HighLines); SetIndexStyle (0, DRAW_LINE, 0,1, indior_color1); SetIndexLabel (0, HighLines); SetIndexEmptyValue (0, EMPTY_VALUE); SetIndexBuffer (1, LowLines); SetIndexStyle (1, DRAW_LINE, 0,1, indior_color2); SetIndexLabel (1, LowLines); SetIndexEmptyValue (1, EMPTY_VALUE); IndiorShortName (SnRV); kembali (0); }/ ---------------------------------------------- -------------------- /| Fungsi deinitialization deior kustom |/ ----------------------------------------------- ------------------- int deinit () {return (0); }/ ---------------------------------------------- -------------------- /| Fungsi iterasi perorangan kustom |/ ----------------------------------------------- ------------------- int start () {double HighestVolume; int Batas; int counted_bars = IndiorCounted (); jika (counted_barsgt; 0) counted_bars--; if (NumberOfBar == 0) NumberOfBars = Bar-counted_bars; Batasi = NumberOfBars; untuk (int i = 0; ilt; Batas; i ) {HighLines # 91; i # 93; = Volume # 91; i # 93 ;; {HighestVolume = Volume # 91; iHighest (NULL, 0, MODE_VOLUME, 20, i) # 93 ;; if (Volume # 91; i # 93; == HighestVolume) {HighLines # 91; i # 93; = 0; }}} kembalikan (0); }
2 Lampiran
pije76- Ini harus mendekati apa yang Anda inginkan. Jika bukan LMK.Originally Posted by ;
https://www.forexfabrikasi.com/attac...2975209326.ex4
https://www.forexfabrikasi.com/tradi...ec-2017-a.html
Wow ... banyak terima kasih banyak Cyber1! Ini yang saya inginkan ... Namun saya masih memiliki pertanyaan tentang bahasa MQL4. - Apa kode yang tepat untuk menghitung volume tertinggi dalam periode n? - Apa kode yang tepat untuk menggambar garis horizontal berdasarkan Tinggi atau Rendah atau Tinggi Rendah dan Terbuka atau Tutup atau Buka Tutup? - Apa kode yang tepat untuk menggambar garis LimeGreen jika lilin Banteng dan garis Merah jika lilin itu Beruang? Bisakah Anda mengirimkan file mql4 kepada saya? Atau mungkin Anda bisa menjelaskan kepada saya tentang kode Anda? Karena saya ingin belajar pemrograman MQL4 karena saya pemula di MQL4 dan saya ingin tahu logika di balik itu. Jadi saya bisa mengedit atau membuatnya sendiri di masa depan.
pije76 - Oke Anda ingin belajar, mari kita lihat bagaimana Anda melakukannya? Jika Anda terjebak beritahu saya. Pertama, ini hanya akan bekerja pada jangka waktu H1. Kami tidak akan menggunakan buffer, semua garis dan angka adalah objekOriginally Posted by ;
http://docs.mql4.com/objectspertama mendefinisikan array dua dimensi
http://docs.mql4.com/arrayVolAr ganda [500] [2]; kemudian di dalam tes loop utama Anda untuk Jam = 0 mengatur lagi untuk panjang loop = 24 sekarang isi array Anda dengan volume dan indeks lilin saat masih dalam jam = 0 kondisi mengurutkan array ArraySort (VolAr, WHOLE_ARRAY, 0, MODE_DESCEND); sekarang semua volume tertinggi akan berada di awal array mendefinisikan fungsi untuk menggambar garis tren dan angka-angka mengatur loop kedua dengan panjang sama dengan jumlah tertinggi yang ingin Anda tampilkan pada grafik dengan garis dll. dan memanggil fungsi garis tren imbang menggunakan indeks harga dan lilin sebagai parameter untuk menggambar garis tren
cyber1 tolong posting versi mql4 mengenai indior yang diposting: saya harus me-refresh grafik dari waktu ke waktu dengan mengubah jangka waktu untuk mendapatkan garis-garis yang telah diperbarui.Originally Posted by ;
Hai Cyber1, saya sudah mencoba menulis indior, tetapi saya tetap menggunakannya. Saya sangat pemula dalam pemrograman MQL4. Bisakah Anda membantu saya yang mana yang salah dengan kode saya? Kode yang dimasukkan #property indior_chart_window ekstern int NumberOfBars = 500; Eksternal int ControlOfBars = 24; extern int NumberOfHighs = 3; warna eksternal UpColor = Biru; warna eksternal DownColor = Merah;/ ----------------------------------------------- ------------------- /| Fungsi inisialisasi indens kustom |/ ----------------------------------------------- ------------------- int init () {return (0); }/ ---------------------------------------------- -------------------- /| Fungsi deinitialization deior kustom |/ ----------------------------------------------- ------------------- int deinit () {return (0); }/ ---------------------------------------------- -------------------- /| Fungsi iterasi perorangan kustom |/ ----------------------------------------------- ------------------- int start () {double HighestVolume # 91; NumberOfBars # 93; # 91; NumberOfHighs # 93 ;; bool BullCandle = true; int Batas; int counted_bars = IndiorCounted ();/---- bilah terhitung terakhir akan diceritakan jika (counted_barsgt; 0) counted_bars--;/selalu hitung bar sebelumnya jika (NumberOfBar == 0) NumberOfBars = Bars-counted_bars; Batasi = NumberOfBars;/Limit = NumberOfBars 1440Period (); untuk (int i = 0; ilt; Batasi; i ) {//Menghitung volume tertinggi HighestVolume = Volume # 91; iHighest (NULL, 0, MODE_VOLUME, ControlOfBars, i) # 93 ;; if (Volume # 91; i # 93; == HighestVolume)/Menyaring maksimum volume tertinggi untuk (int j = 0; jlt; NumberOfHighs; j ) {//Menyortir volume tertinggi ArraySort (HighestVolume, WHOLE_ARRAY, 0, MODE_DESCEND );/Menggambar garis jika (iClose (Simbol (), 0, i) - iOpen (Simbol (), 0, i) lt; 0) {BullCandle = false; istirahat; } if (BullCandle) {ObjectCreate (UpColor, OBJ_HLINE, 0, UpColor); ObjectSet (UpColor, OBJPROP_COLOR, UpColor); ObjectSet (UpColor, OBJPROP_STYLE, STYLE_DASHDOT); ObjectSet (UpColor, OBJPROP_WIDTH, 1); } else {ObjectCreate (DownColor, OBJ_HLINE, 0, DownColor); ObjectSet (DownColor, OBJPROP_COLOR, DownColor); ObjectSet (DownColor, OBJPROP_STYLE, STYLE_DASHDOT); ObjectSet (DownColor, OBJPROP_WIDTH, 1); }}} kembalikan (0); }Originally Posted by ;
Tidak ada yang istimewa, hanya bertindak sebagai SNR biasaOriginally Posted by ;
Terima kasih. Saya mengerti. Saya menggunakan volume yang lebih baik dalam ruangan ... dan saya suka ide ini juga.Originally Posted by ;