Bagaimana untuk melukis kotak dalam MT4?
Halaman 1 daripada 1134 123 ... TerakhirTerakhir
Results 1 to 10 of 34

Thread: Bagaimana untuk melukis kotak dalam MT4?

  1. #1
    Pemula MT4 yang jelas di sini..

    Ingin tahu sama ada terdapat amalan terbaik untuk melukis kotak dalam MT4 untuk mengautomasikan dagangan pelarian.

    Sebarang bantuan amat dihargai.

    Hal

  2. #2
    Ps.: EA tidak sempurna, ia adalah beberapa ralat, seperti Tutup. Jika anda menggunakan Tutup[x] atau penunjuk yang menggunakan harga Tutup pada bar semasa anda akan mempunyai data yang tidak sah... Mengapa? dalam EA bar Semasa tidak mempunyai Nilai Tutup hanya Terbuka, Jadi jika anda menggunakan RSI dengan contoh, RSI[0] tidak akan memberikan nilai yang baik sehingga RSI[1], Kerana RSI menggunakan PRICE_CLOSE untuk mengira adalah barangan... . Jadi EA bagus tetapi untuk membantu kami mentakrifkan egie, ia mesti diuji secara langsung...

  3. #3
    Beberapa penjelasan perlu dilakukan:
    Quote Originally Posted by ;
    Saya telah melakukan seperti yang anda arahkan dan mengedit CI Compiled tanpa ralat dan apabila saya menggunakannya pada carta, saya melihat bahawa ia meniru secara identik dengan RSI(21) yang saya jalankan pada carta yang sama. Inilah yang saya boleh fahami setakat ini: Untuk CI, semua ini: #penunjuk_separate_tetingkap #penunjuk_penampan hartanah 1 #penunjuk_warna1 Merah digunakan untuk ini: berganda ExtMapBuffer1[];
    Salah (Baiklah untuk tidak mengelirukan anda): #penunjuk_separate_tetingkap lt;- Adakah CI akan menjadi #penunjuk_penampan harta 1 lt;- Cuma beritahu berapa banyak penimbal yang ada Kerana kadang-kadang anda akan mempunyai lebih banyak penimbal tetapi hanya 1 atau 2 untuk be draw... #property indicator_color1 Red lt;- Beritahu API untuk menggunakan merah untuk penampan baris pertama
    Quote Originally Posted by ;
    dan ini: extern int MyPeriod = 21; hanyalah pembolehubah luaran. ( Saya faham apa itu pembolehubah. Luaran menjadikannya supaya anda boleh menetapkannya dalam GUI kecil apabila ia bermula.) Ini di sini: int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); return(0); } Ini menyatakan perkara yang akan dilukis secara grafik dan berada dalam bahagian ”jalankan sekali pada permulaan”. Dalam kes ini, lukis garisan yang bermula pada 0 dan gunakan penimbal berikut untuk melukis dirinya sendiri [ buffer = ( bermula dari 0 ialah nilai ExtMapBuffer1) ]
    Salah: SetIndexBuffer(0,ExtMapBuffer1);lt;- 0 hanya untuk penimbal pertama yang akan dilukis, 1 akan menjadi yang kedua untuk digambar ( Dalam stokastik, anda mempunyai 0,1 kerana 2 baris) SetIndexStyle(0, DRAW_LINE);lt;- DRAW_LINE akan digunakan untuk penimbal yang ditakrifkan oleh 0 jadi ExtMapBuffer1
    Quote Originally Posted by ;
    for(int x=limit ; ​​x gt;=0 ; x--)* Untuk ( isytiharkan integer “x” yang sama dengan “had” dan “x” lebih besar daripada atau sama dengan sifar, kurangkan “x” dengan satu. ) Adakah ini menjadikannya supaya najis bermula pada 0 dan kembali dengan satu setiap kali. (?) */
    Ia pergi dari kiri ke kanan: jadi bar terakhir(Tertua) kepada yang paling terkini (0:Semasa)

  4. #4
    Saya telah terus mengusahakan perkara ini dan ia masuk akal! Saya menulis EA pertama saya dan saya fikir saya mencapai nasib pemula dengan cara yang besar! Terima kasih banyak atas arahan baik anda! Saya tidak boleh melakukannya tanpa anda. Saya tahu ini adalah permulaan perjalanan yang panjang. Saya tidak mengharapkan keajaiban serta-merta. Tetapi saya ke hadapan menguji keanehan alam semula jadi saya sekarang dan setakat ini ia berfungsi dengan hebat! (pada akaun demo FXDD) Saya memanggilnya sebagai keanehan kerana seseorang yang mempunyai sedikit pengalaman MQL4 tidak sepatutnya dapat menulis sesuatu yang sebenarnya berfungsi dengan baik dalam ujian ke hadapan. 180 pip dalam 24 jam terakhir. ujian FWD pada demo (nasib pemula, hanya satu hari.) http://www.venexys.com/HP002A2_FWD_DET_TEST_DAY001.gif
    http://www.venexys.com/HP002A2_FWD_TEST_RESULTS.htmhttp://www.venexys.com/HP002A2_FWD_TEST_RESULTS.htm

  5. #5
    Saya telah melakukan seperti yang anda arahkan dan mengedit CI Compiled tanpa ralat dan apabila saya menggunakannya pada carta, saya melihat bahawa ia meniru secara identik dengan RSI(21) yang saya jalankan pada carta yang sama. Inilah yang saya boleh fahami setakat ini: Untuk CI, semua ini: #penunjuk_separate_tetingkap #penunjuk_penampan hartanah 1 #penunjuk_warna1 Merah digunakan untuk ini: berganda ExtMapBuffer1[]; dan ini: extern int MyPeriod = 21; hanyalah pembolehubah luaran. ( Saya faham apa itu pembolehubah. Luaran menjadikannya supaya anda boleh menetapkannya dalam GUI kecil apabila ia bermula.) Ini di sini: int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); return(0); } Ini menyatakan perkara yang akan dilukis secara grafik dan berada dalam bahagian ”jalankan sekali pada permulaan”. Dalam kes ini, lukis garisan yang bermula pada 0 dan menggunakan penimbal berikut untuk melukis dirinya sendiri [ penimbal = ( bermula dari 0 ialah nilai ExtMapBuffer1) ] Kemudian kita pergi sepenuhnya ke bahagian ”mula” skrip dan di sini kita ada.... int start() { int limit = Bars-IndicatorCounted();*Isytihar pemalar integer yang bersamaan dengan hasil (Bilangan bar dalam carta yang dikira TOLAK jumlah bar yang tidak berubah selepas penunjuk dilancarkan terakhir) */for(int x=limit ; ​​x gt;=0 ; x --)* Untuk ( isytiharkan integer ”x” yang sama dengan ”had” dan ”x” lebih besar daripada atau sama dengan sifar, kurangkan ”x” sebanyak satu.) Adakah ini menjadikannya supaya najis bermula pada 0 dan pergi belakang satu setiap kali. (?) */{ ExtMapBuffer1[x]=iRSI(NULL,0,MyPeriod ,PRICE_CLOSE,x);* ExtMapBuffer1[x] sama dengan iRSI(......,x) */} Saya meneliti setiap baris kod perlahan-lahan untuk memahaminya dengan baik dan menukar penunjuk, warna, penimbal, dsb. seperti yang anda nasihatkan. Ia perlahan-lahan mula tenggelam. Saya pasti saya akan mempunyai lebih banyak soalan dalam masa yang singkat. Ini adalah penjelasan terperinci yang boleh diminta oleh sesiapa sahaja. Saya bersyukur kerana anda telah meluangkan masa untuk menerangkan butiran biasa ini kepada seorang pemula. Karma besar kepada anda! Terima kasih sekali lagi kawan! Hal

  6. #6
    Kini di bawah dua kali ganda ExtMapBuffer1[]; Tambah extern int MyPeriod = 21; extern digunakan untuk berinteraksi dengan penunjuk, apabila anda memasang CI anda mempunyai pop timbul, kemudian dalam tab input anda melihat pembolehubah luaran anda... Sekarang gantikan ExtMapBuffer1[x]=1; dengan: ExtMapBuffer1[x]= iRSI(NULL,0,MyPeriod ,PRICE_CLOSE,x) ; keluarkan : #penunjuk hartanah_minimum 0 #penunjuk hartanah_maksimum 2 Dan susun... Jika anda tidak melihat apa-apa. tidak mengapa. keluarkan penunjuk dan letakkan semula... Skala tidak berubah apabila anda menyusun. kerana nilai RSI tidak sesuai antara 0 dan 2... Ini dia... Sekarang anda mempunyai asas anda... Cuba ubah suai nilai, tambah penimbal, tukar warna, gunakan penunjuk lain (Sebaliknya RSI, gunakan iCCI), Apa yang anda perlu tahu ada di sana untuk bermula... Selepas akan lihat... jika anda mempunyai soalan lain, teruskan... : -) Selamat bercuti

  7. #7
    1 Lampiran Hei! ianya berhasil! saya mendapat garis merah rata saya. Terdapat banyak bahan dalam catatan terakhir ini untuk saya hadam. Saya akan mengulasnya beberapa kali untuk memahami dengan baik semua yang berlaku. Terima kasih kerana meluangkan masa untuk melakukan lelaki ini. Pasaran ditutup dan cuti sudah tiba. Semoga anda dan anda mempunyai Percutian yang hebat dan Selamat Tahun Baru! Hal
    https://www.justgetforex.com/attachm...1210488381.mq4

  8. #8
    Okey. jadi sambung semula Init lt;- program akan melaksanakan fungsi ini sekali sahaja (Apabila penunjuk dimuatkan) deInit lt;- program akan melaksanakan fungsi ini sekali sahaja (Apabila penunjuk dipunggah) Mulakan lt;- program akan melaksanakan fungsi ini setiap kali ia menerima data daripada pelayan. Sekarang, apakah penunjuk tersuai? Untuk menjadikannya pendek. Sebab utama adalah untuk membina penunjuk tersuai (CI buat masa ini) adalah untuk meletakkan idea dalam cara grafik (Dan ya anda boleh melakukan lebih banyak lagi, bunyi, eksport, baca/tulis fail, amaran, dll.). Tetapi sebelum ini... CI gunakan Array(Atau penimbal atau jadual) . Apakah mereka? Anda sepatutnya tahu apa itu pembolehubah (Jika tidak, baca tentangnya). Bayangkan anda ingin mengisytiharkan 100 pembolehubah (pembolehubah1, pembolehubah2, dll..). Ia akan mengambil banyak masa dan usaha untuk berbuat demikian... Jadi Array hanyalah gabungan berbilang pembolehubah di bawah satu nama (Sekali lagi, lebih daripada itu, tetapi buat masa ini sudah cukup). Bayangkan 100 kotak bersebelahan. yang pertama ialah 0, 1, kemudian 2, dsb... (Array bermula pada 0 hingga (saiz Array) -1) Jika anda ingin mendapatkan/menulis nilai dari Kotak #5 maka anda gunakan Box[4] ( Box [BoxSize-1] ) Biasanya, anda akan menentukan saiz penimbal apabila anda mengisytiharkannya. Kerana program ini tidak tahu berapa saiz yang anda mahukan! ___ Untuk membuat cerpen: program mesti memperuntukkan, dalam ingatan, ruang yang diperlukan oleh penimbal ( cth.: int buffer[2]={1,2}; akan mencipta 2 ruang jenis int dalam ingatan). Apabila anda mengisytiharkan pembolehubah (int test
    , program ini akan memperuntukkan 1 ruang jenis 'int' secara automatik untuk menerima maklumat. (Anda juga boleh mengembangkan atau menarik balik penimbal dalam kod anda: Tetapi buat masa ini lupakannya). ___ CI menunjukkan grafik. Kemudian anda mesti menggunakan Penampan untuk berbuat demikian. CI akan menggunakan Penampan yang anda suruh dia gunakan. Terdapat maksimum 8 penimbal untuk digunakan untuk penunjuk (Tetapi anda boleh menggunakan banyak jadual, anda akan lihat kemudian). Setiap kotak (untuk membuat contoh penerangan) sama dengan 1 lilin pada grafik. Penampan[0] dijajarkan dengan Lilin #0 dan seterusnya... Bermula dari kanan ke kiri(Terbaru hingga yang paling lama) Garisan dilukis dari satu kotak ke kotak yang lain: jika anda mempunyai 10 dalam kotak[0] dan 5 dalam kotak[1], garisan akan pergi dari kanan ke kiri, dari 10 hingga 5(Barisan atas). Untuk demo pertama kami hanya akan meletakkan 1 sebagai nilai dalam penunjuk (garis rata). Di sini kita pergi: Mula-mula kita meletakkan '#property', sifat CI #property indicator_separate_window #property indicator_minimum 0 #property indicator_maksimum 2 #property indicator_buffers 1 #property indicator_color1 Merah 'indicator_minimum' dan 'indicator_maksimum' akan menentukan skala(Valu). hak CI). Jika anda mengalih keluar 'indicator_minimum' dan 'indicator_maximum', anda akan mendapat nilai Tinggi dan rendah daripada nilai dalam Penampan CI untuk menskalakannya. (dengan hanya 1 sebagai nilai seperti demonya jika anda tidak meletakkan min/maks anda tidak akan melihat garis rata) 'indicator_buffers' digunakan untuk memberitahu program berapa banyak penimbal yang akan kami gunakan untuk mengeluarkan grafik (berapa banyak baris yang kami mahu: maks 8). 'indicator_color1' adalah mudah, adalah untuk memberitahu warna yang anda inginkan untuk garisan anda. Di bawah semua '#property' anda letakkan dua kali ganda ExtMapBuffer1[]; 'ExtMapBuffer1' ialah nama lalai yang diletakkan oleh wizard , tetapi saya menukarnya setiap kali; Mari kita katakan Penampan[]; Dalam kes ini, anda tidak perlu menyatakan berapa banyak ruang yang kami perlukan(Buffer[x]
    , kerana ia akan dilakukan pada fungsi 'Init'; Dalam fungsi init yang anda letakkan: SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); 'SetIndexStyle' digunakan untuk menentukan jenis grafik(garisan, histogram, dll...) 0 mewakili penimbal pertama yang anda mulakan, ia akan mengambil 'indicator_color1', dan #1 akan menggunakan 'indicator_color2', dll untuk mengaitkan warna... Susunan yang anda letakkan penampan tidak begitu penting, tetapi ia akan menariknya satu demi satu, jadi 0 akan berada di bawah 1, jadi 2 akan berada di atas 1, dsb. Sekarang bayangkan MACD, jika garis MACD berada di belakang histogram! Ia hanya soal keterlihatan.(Tetapi ia mestilah dari 0 hingga x) 'SetIndexBuffer' kaitkan 'ExtMapBuffer1' kepada 0 dan gunakan ini untuk mengenal pasti penimbal dan menggunakannya untuk melukis garisan pada CI. Jadi itu sahaja. anda mempunyai pengisytiharan asas anda... Sekarang mari gunakannya... Masukkan fungsi 'mula': int limit = Bars-IndicatorCounted(); for(int x=limit ; ​​x gt;=0 ; x--){ ExtMapBuffer1[x]=1; } Selesai... Untuk sebarang maklumat tentang fungsi atau perkara lain. Klik dua kali padanya kemudian 'F1' Cubalah... dan beritahu saya jika ia berkesan... anda akan mendapat talian rata anda...

  9. #9
    Terpaksa membacanya beberapa kali tetapi saya rasa saya faham perkara ini pada ketika ini. Jangan ragu untuk meneruskan sesuka hati.

  10. #10
    Dengan cara ini, beritahu saya apabila anda membaca dan memahami. Jadi saya boleh teruskan... saya akan tunggu sebelum pergi dan seterusnya dan seterusnya....

Kebenaran Posting

  • Anda tidak boleh menghantar thread baru
  • Anda tidak boleh membalas kiriman
  • Anda tidak boleh mengedit siaran anda
  • Anda tidak boleh menyiarkan lampiran
  •  
  • Kod BB Hidup
  • Smilies Hidup
  • Kod [IMG] adalah Hidup
  • Kod [VIDEO] adalah Hidup
  • Kod HTML Tidak Hidup
Polisi Kuki
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.