Fungsi kustom MQL4
Results 1 to 8 of 8

Thread: Fungsi kustom MQL4

  1. #1
    Halo teman-teman,

    Saya mencoba melakukan fungsi kustom saya sendiri untuk menunjukkan kepada saya Pesanan terbuka (Beli Jual). Kode ini berfungsi, tetapi tidak memiliki beberapa hal.

    Kode yang dimasukkan membatalkan OpenOrders () {BuyOrdersOpen = 0; SellOrdersOpen = 0; TotalOrders int; TotalOrders = OrdersTotal (); untuk (int iii = TotalOrders-1; iiigt; = 0; iii--) {OrderSelect (iii, SELECT_BY_POS); if (OrderSymbol ()! = Symbol ()) melanjutkan; if (OrderType () == OP_BUY) {BuyOrdersOpen = BuyOrdersOpen 1; } if (OrderType () == OP_SELL) {SellOrdersOpen = SellOrdersOpen 1; }}} Masalah saya sejauh ini adalah saya bekerja dengan variabel global untuk mendapatkan hasil dari fungsi (BuyOrdersOpen, SellOrdersOpen). Saya tahu saya entah bagaimana dapat membuat fungsi mengembalikan nilai-nilai dan memiliki nilai-nilai yang tersedia, jika saya memanggil fungsi dengan benar. Namun tidak tahu bagaimana menuju ke sana ...

    Adakah yang bisa membantu saya?

  2. #2
    Masalah dengan fungsi MQL (dan bahasa lainnya) adalah bahwa mereka hanya mengembalikan nilai tunggal. Saya menemukan diri saya dalam teka-teki yang sama dari waktu ke waktu. Menggunakan global bukanlah pilihan yang buruk mengingat beberapa alternatif. Beberapa akan menyarankan menggunakan 2 fungsi, satu yang mengembalikan jumlah Beli dan satu lagi untuk penjualan. Tapi itu berarti memanggil keduanya setiap kali ditambah duplikasi kode. Saya telah melihat beberapa orang mengembalikan satu nilai sebagai nilai fungsi dan lainnya sebagai kode global - jelek dan tidak masuk akal.

  3. #3

    Quote Originally Posted by ;
    Halo teman-teman, saya mencoba melakukan fungsi kustom saya sendiri untuk menunjukkan saya membuka Pesanan (Beli Jual). Kode ini berfungsi, tetapi tidak memiliki beberapa hal. [code] batal OpenOrders () {BuyOrdersOpen = 0; SellOrdersOpen = 0; TotalOrders int; TotalOrders = OrdersTotal (); untuk (int iii = TotalOrders-1; iiigt; = 0; iii--) {OrderSelect (iii, SELECT_BY_POS); if (OrderSymbol ()! = Symbol ()) melanjutkan; if (OrderType () == OP_BUY) {BuyOrdersOpen = BuyOrdersOpen 1; } if (OrderType () == OP_SELL) {...
    lihat kembali file bantuan. Anda sekarang telah mengajukan beberapa pertanyaan pemrograman yang sangat pemula belakangan ini. mungkin Anda harus meletakkan mql dan melakukan beberapa bacaan ringan tentang sesuatu seperti qbasic atau python atau sesuatu di sepanjang baris itu ... atau jika Anda dapat menemukan tutorial C yang layak. Anda tidak bisa terus datang ke sini untuk menanyakan apa yang terdengar seperti pertanyaan pekerjaan rumah. mql sangat sial untuk mencoba belajar bagaimana melakukan sesuatu yang berhubungan dengan kode. itu setengah seperti c dan setengah sesuatu yang abstrak, dan file bantuan dalam bahasa Inggris rusak yang biasanya tidak masuk akal. baca tentang bahasa lain. bermain dengannya. lalu kembali ke mql. maka Anda mungkin memiliki beberapa pertanyaan khusus mql daripada membenturkan kepala Anda ke dasar-dasar dan meminta semua orang di sini. seorang programmer yang baik tidak harus tahu setiap fungsi kecil yang disediakan oleh bahasa. mereka hanya perlu memahami dasar-dasar bagaimana bahasa beroperasi, dan kemudian tahu bagaimana menemukan dalam file bantuan (dan online) secara spesifik semua hal lain yang dapat dilakukan. Anda perlu mempelajari dan memahami dasar-dasarnya ... mql bukan tempat untuk memulai. sial, mungkin bahkan sesuatu seperti robotbattle akan menjadi starter. setidaknya mungkin semi-menarik (dan kemudian perang inti jika Anda benar-benar masuk ke hal-hal dan maju dari pemula rookie ke yang sedikit lebih maju). sunting: dan untuk mengikuti dari codemeister .... lihat juga variabel yang lewat dengan referensi atau berdasarkan nilai.

  4. #4
    Mungkin saya hanya sekolah tua - saya belajar C sebelum saya belajar MQL - tetapi solusi untuk masalah ini sudah ada sejak ... well C, saya kira.
    http://docs.mql4.com/basis/variables/formal

  5. #5

    Quote Originally Posted by ;
    Halo teman-teman, saya mencoba melakukan fungsi kustom saya sendiri untuk menunjukkan saya membuka Pesanan (Beli Jual). Kode ini berfungsi, tetapi tidak memiliki beberapa hal.
    Sesuatu seperti ini (melewati parameter dengan referensi) dan mengembalikan total? Dengan cara ini Anda mendapatkan ketiga nilai: buyopenorders, sellopenorders (dengan referensi dari daftar parameter) dan nilai totalopenorders dikembalikan dari fungsi. Perhatikan juga perubahan pada lekukan. Tujuan lekukan adalah untuk menunjukkan di mana blok kode mulai dan berakhir (seperti loop atau jika blok) untuk inspeksi visual yang mudah. Pastikan kurung keriting Anda membingkai blok dengan benar. Benar artinya braket keriting berbaris (dibenarkan kiri) dengan terkait untuk loop atau jika blok. Kode di dalam blok (di dalam kurung keriting) diberi indentasi. Kode yang dimasukkan ke dalam OpenOrders (int BuyOrdersOpen, int SellOrdersOpen) {BuyOrdersOpen = 0; SellOrdersOpen = 0; int TotalOrders = OrdersTotal (); untuk (int iii = TotalOrders-1; iiigt; = 0; iii--) {OrderSelect (iii, SELECT_BY_POS); if (OrderSymbol ()! = Symbol ()) melanjutkan; if (OrderType () == OP_BUY) {BuyOrdersOpen = 1; } if (OrderType () == OP_SELL) {SellOrdersOpen = 1; }} mengembalikan TotalOrders; }

  6. #6

    Quote Originally Posted by ;
    Masalah dengan fungsi MQL (dan bahasa lainnya) adalah bahwa mereka hanya mengembalikan nilai tunggal. Saya menemukan diri saya dalam teka-teki yang sama dari waktu ke waktu. Menggunakan global bukanlah pilihan yang buruk mengingat beberapa alternatif. Beberapa akan menyarankan menggunakan 2 fungsi, satu yang mengembalikan jumlah Beli dan satu lagi untuk penjualan. Tapi itu berarti memanggil keduanya setiap kali ditambah duplikasi kode. Saya telah melihat beberapa orang mengembalikan satu nilai sebagai nilai fungsi dan lainnya sebagai kode global - jelek dan tidak masuk akal.
    Saya mendengar keprihatinan itu. Saya cenderung berpikir bahwa kode berulang (khususnya loop) sering merupakan ide yang buruk. MT4 tidak cukup efisien karena tidak perlu membuatnya kurang efisien. Namun, melewati parameter dengan referensi dapat membuat membacamemahami kode lebih sulit untuk beberapa atau dalam beberapa kasus. Jika hal ini dilakukan maka mungkin layak hit kinerja, atau penggunaan variabel global yang saya lebih suka mengulangi loop. Preferensi saya adalah melakukan satu loop kapan pun memungkinkan dan memberikan referensi seperti pada kode di atas. Global juga berfungsi tetapi kemudian menjadi kurang jelas apa fungsi yang dapat digunakan kembali dan apa itu kode rapuh. Bukannya saya tidak menggunakan variabel global sering dengan desain. Kadang-kadang membuat kode dapat digunakan kembali atau digeneralisasi adalah upaya lebih dari nilainya. Saya tidak menggunakan kembali semuanya.

  7. #7

    Quote Originally Posted by ;
    Sesuatu seperti ini (melewati parameter dengan referensi) dan mengembalikan total? Dengan cara ini Anda mendapatkan ketiga nilai: buyopenorders, sellopenorders (dengan referensi dari daftar parameter) dan nilai totalopenorders dikembalikan dari fungsi. Perhatikan juga perubahan pada lekukan. Tujuan lekukan adalah untuk menunjukkan di mana blok kode mulai dan berakhir (seperti loop atau jika blok) untuk inspeksi visual yang mudah. Pastikan kurung keriting Anda membingkai blok dengan benar. Dengan benar berarti braket keriting berbaris (dibenarkan kiri) dengan terkait untuk ...
    Saya kira Anda tidak terlalu menyukai konsep 'ajarlah seorang pria untuk menangkap ikan' dan lebih dari sekadar memberikan ikan kepada siapa saja yang bertanya. dan lekukan itu menyakitkan kepalaku. saya tahu banyak yang melakukannya seperti itu, tetapi saya lebih menyukai gaya 1TBS. setelah beberapa ribu baris kode dalam 1TBS mereka yang membuka kawat gigi akan benar-benar ditambahkan ke banyak baris sia-sia yang menghambat keterbacaan secara signifikan. hanya pengamatan kosong karena utas ini sekarang pada dasarnya selesai. lekukan kr harus keluar hari ini (menurut saya setidaknya).

  8. #8

    Quote Originally Posted by ;
    Saya kira Anda tidak terlalu menyukai konsep 'ajarlah seorang pria untuk menangkap ikan' dan lebih dari sekadar memberikan ikan kepada siapa saja yang bertanya.
    Saya semua tentang mengajar seseorang untuk memancing, tetapi saya merasa dia melakukan upaya jujur ​​berdasarkan kode apa yang diposting dan apa yang diminta. Dia tahu apa yang tidak dia ketahui dan tidak terlalu sombong untuk meminta bantuan.
    Quote Originally Posted by ;
    dan lekukan itu menyakitkan kepalaku. saya tahu banyak yang melakukannya seperti itu, tetapi saya lebih menyukai gaya 1TBS. setelah beberapa ribu baris kode dalam 1TBS mereka yang membuka kawat gigi akan benar-benar ditambahkan ke banyak baris sia-sia yang menghambat keterbacaan secara signifikan. hanya pengamatan kosong karena utas ini sekarang pada dasarnya selesai. lekukan kr harus keluar hari ini (menurut saya setidaknya).
    Saya juga lebih suka 1TBS karena ekonomi layar tetapi karena Mike mengalami kesulitan hanya berbaris kurung, saya tidak ingin meledakkan pikirannya.

Similar Threads

  1. Pertanyaan Fungsi MT4
    By yohyibubu in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 1
    Postingan Terakhir: 01-01-2023 12:12, 12:12 PM
  2. Fungsi Cek Simbol
    By huchet in forum Pertanyaan Newbie
    Balasan: 8
    Postingan Terakhir: 11-17-2021 10:55, 10:55 AM
  3. 3 Fungsi Pemrograman Fungsi?
    By ehycaox97 in forum Analisis Teknis
    Balasan: 10
    Postingan Terakhir: 09-20-2021 06:14, 06:14 AM
  4. 3 Fungsi Pemrograman Fungsi?
    By ehycaox97 in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 10
    Postingan Terakhir: 08-31-2009 10:15, 10:15 AM
  5. Fungsi Cek Simbol
    By huchet in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 8
    Postingan Terakhir: 03-09-2009 19:28, 07:28 PM

Izin Posting

  • Anda tidak boleh memposting thread baru
  • Anda tidak boleh memposting balasan
  • Anda tidak boleh memposting lampiran
  • Anda tidak boleh menyunting postingan Anda
  •  
  • Kode BB Aktif
  • Smilies Aktif
  • Kode [IMG] Aktif
  • Kode [VIDEO] Aktif
  • Kode HTML tidak aktif
This website uses cookies
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.