Masalah Dengan Menetapkan Elemen Array 2D
Results 1 to 3 of 3

Thread: Masalah Dengan Menetapkan Elemen Array 2D

  1. #1
    Terlampir adalah bagian dari Penasihat Ahli yang telah saya kerjakan untuk mempelajari egi perdagangan, tetapi saya mengalami kesulitan dengan keterbatasan MQL4 ketika berhadapan dengan array. Yang saya inginkan adalah menggunakan array untuk menyimpan informasi mengenai situasi yang saya buka dan tambahan untuk mendefinisikan kembali nilai-nilai elemen. Yang ingin saya terapkan adalah serangkaian 3 fungsi yang merekonstruksi koleksi pesanan terbuka. Ini bisa dilakukan setelah penutupan atau setiap pembukaan posisi. Fungsi selanjutnya adalah mengurutkan pesanan terbuka sesuai dengan harga pembukaan masing-masing. Fungsi sekuensial akan mengevaluasi kembali nilai stop loss dan take profit. Nilai-nilai untuk mencegah kerugian dan membuat nilai keuntungan harus didasarkan pada harga pengantar pesanan. Saya menginginkan EA untuk mengeksekusi stop loss dan mengambil nilai profit. Saya sadar ada risiko untuk membentuk EA dengan cara ini dan dengan melakukannya, saya ingin melanjutkan.





    Double OrderStack [7] [9];/Arahkan susunan informasi


    if ((OrderStack [TotalOrders 1] [1] lt; Bid) (TotalOrders lt; 2))/Membuka posisi Jual baru dengan harga yang lebih menguntungkan
    //3
    TicketNum = OrderSend (Simbol (), OP_SELL, LotSize2, Bid, 3,0,0, CommentString, 0,0, Red);/Buka pesanan ini.
    Jika (TicketNumlt; 0)
    //4
    Print (Error Opening Trade: Kode Kesalahan =, GetLastError () ,, Lotsize:, Lots);
    //3
    lain
    //4
    if (OrderSelect (TicketNum, SELECT_BY_TICKET))
    //5
    Print (Pesanan Jual Dibuka pada Harga:, OrderOpenPrice ());
    OrderFlagS = 1;/Digunakan oleh fungsi EA utama untuk komentar
    Terminal();/Panggilan ke fungsi yang menghasilkan susunan data urutan terbuka
    //4
    //3
    //2
    }/1
    }/0

    //------------------------------------------------ --------------------
    //Terminal.mqh
    //------------------------------------------------ ------------------------------ 1 -
    //Memesan fungsi akuntansi
    //Variabel global:
    //OrderStack [7] [9]
    //Array pesanan terbaru yang diketahui
    //Indeks pertama = nomor urut
    //[] [0] tidak didefinisikan
    //[] [1] memesan harga terbuka (abs. Nilai harga)
    //[] [2] StopLoss dari pesanan ini (perut) Nilai harga)
    //[] [3] TakeProfit dari pesanan ini (perut) Nilai harga)
    //[] [4] nomor urut
    //[] [5] volume pesanan dalam lot (abs. Nilai harga)
    //[] [6] formulir pemesanan 0 = B, 1 = S, 2 = BL, 3 = SL, 4 = BS, 5 = SS
    //[] [7] memesan angka ajaib
    //[] [8] 0/1 aksesibilitas komentar
    //Mas_Tip [6]
    //Array jumlah pesanan dari segala macam
    //[] formulir pemesanan: 0 = B, 1 = S, 2 = BL, 3 = SL, 4 = BS, 5 = SS
    //------------------------------------------------ ------------------------------ 2 -
    Deck ganda ()
    //1
    int Mas_Tip [6];
    int Qnt = 0;
    int I;

    //Counter pesanan
    //------------------------------------------------ ------------------------------ 3 -

    ArrayInitialize (OrderStack, 0,0);/Nilkan pilihan
    ArrayInitialize (Mas_Tip, 0);/Zeroize the array
    //------------------------------------------------ ------------------------------ 4 -
    untuk (I = 0; I lt; OrdersTotal (); I )/Untuk market dan pending orders
    //2
    if ((OrderSelect (I, SELECT_BY_POS) == true) (OrderSymbol () == Symbol ()))
    //Saat ada yang berikutnya. . Dan pasangan mata uang kami
    //3
    //------------------------------------------------ --------------------- 5 -
    Qnt ;/Jumlah pesanan
    OrderStack [Qnt] [1] = OrderOpenPrice ();/Pesan harga terbuka
    OrderStack [Qnt] [2] = OrderStopLoss ();/harga SL
    OrderStack [Qnt] [3] = OrderTakeProfit ();/harga TP
    OrderStack [Qnt] [4] = OrderTicket ();/Jumlah order
    OrderStack [Qnt] [5] = OrderLots ();/Jumlah lot
    Mas_Tip [OrderType ()] ;/Jumlah pesanan dari tipe
    OrderStack [Qnt] [6] = OrderType ();/Jenis pesanan
    OrderStack [Qnt] [7] = OrderMagicNumber ();/Nomor ajaib
    if (OrderComment () ==)
    //4
    OrderStack [Qnt] [8] = 0;/Jika sama sekali tidak ada komentar
    //3
    lain
    //4
    OrderStack [Qnt] [8] = 1;/Jika ada komentar
    //3
    //2
    //------------------------------------------------ --------------------- 6 -

    OrderStack [0] [0] = Qnt;/Jumlah pesanan

    //------------------------------------------------ ------------------------------ 7 -

    FillStack (OrderStack, Trend_Up);/Call to function yang mengurutkan data perdagangan terbuka berdasarkan arah tren dan harga perdagangan awal
    kembali (0);
    //1

    //0
    //------------------------------------------------ ------------------------------ 8 -




    //
    //Perintah yang Ada Menyortir Fungsi
    //

    double SortStack (double OrderStack [7] [9], bool Trend_Up)/Fungsi untuk mengurutkan susunan pesanan yang direkonstruksi di
    //pesanan berdasarkan harga pembukaan pesanan awal
    //1
    int I, TotalOrders;
    TotalOrders = OrderStack [0] [0];

    if (Trend_Up == true)
    //2
    ArraySort (OrderStack [TotalOrders] [1], TotalOrders, 1, MODE_DECEND);
    //1
    if (Trend_Up == false)
    //2
    ArraySort (OrderStack [TotalOrders] [1], TotalOrders, 1, MODE_ASCEND);
    //1
    FillStack (OrderStack, Trend_Up);/Panggilan ke fungsi yang menentukan parameter perdagangan untuk merugikan
    //perdagangan pasar ke dalam susunan pesanan
    kembali (0);
    //0

    //
    //Catat Fungsi Parameter Perdagangan Pasar Negatif
    //

    FillStack ganda (double OrderStack [7] [9], bool Trend_Up)/Menentukan Parameter Perdagangan Pasar Negatif
    //berdasarkan pesanan awal dari Bollinger band piercing

    //1

    Harga ganda;

    PriceIn = OrderStack [1] [1];
    //2
    if (Trend_Up == true)
    //3
    OrderStack [1] [2] = Harga Di - StopLossVal;/Kolom 2, Kolom Stop Loss Entry
    OrderStack [1] [3] = Harga Dalam 0,0030;/Kolom 3, Ambil Kolom Masuk Profit
    OrderStack [2] [1] = PriceIn - 0,0010;/Kolom 1, Harga Beli Pesanan Pasar Bawah Rata-Rata
    OrderStack [2] [3] = Harga Di - 0,0005;/Kolom 3, Ambil Untung untuk Entri Pasar Turun Rata
    //2
    if (Trend_Up == false)
    //3
    OrderStack [1] [2] = Harga Di StopLossVal;/Kolom 2, Kolom Stop Loss Entry
    OrderStack [1] [3] = Harga Di - 0,0030;/Kolom 3, Ambil Kolom Masuk Profit
    OrderStack [2] [1] = Harga 0,0010;/Kolom 1, Harga Beli Pesanan Pasar Bawah Rata-Rata
    OrderStack [2] [3] = Harga Di 0,0005;/Kolom 3, Ambil Untung untuk Entri Pasar Turun Rata
    //2
    //1
    kembali (0);
    //0




    Masalah yang saya hadapi dengan mengimplementasikan EA ini adalah bahwa kompiler memberi saya pesan kesalahan tentang ”item array tidak dapat ditugaskan” untuk kode dalam fungsi FillStack () saya. Apa yang membingungkan adalah bahwa hal itu terlihat seperti apa yang sedang dilakukan dari fungsi Terminal () di atas fungsi FillStack () saya. Saya berharap salah satu programmer yang berpengalaman dapat memberi saya obat untuk bug ini.
    Sulit untuk percaya bahwa dengan semua persamaan yang MQL4 memiliki C bahwa kemampuan untuk menetapkan nilai ke elemen array seperti C tidak akan ada di MQL4 juga. Terima kasih.

  2. #2

    Quote Originally Posted by ;
    OrderStack [0] [0] = Qnt;/Jumlah pesanan TotalOrders = OrderStack [0] [0];
    halo, hanya atan yang memesan area untuk sembilan ganda untuk saran yang dapat disimpan dalam 1 bilangan bulat, seperti yang terungkap dalam teks kutipan Anda adalah administrasi jarak yang buruk. Lakukan riset dan temukan berbagai fungsi dari file bantuan MetaEditor (Navigator) dan selalu ingat bahwa semakin banyak info yang mengapung di seputar kodekomputer Anda.

  3. #3
    Kesalahan ini menunjukkan bahwa menulis ke array hanya baca. Karena posting ini sudah tua saya mengasumsikan bahwa Anda tidak memposting tindak lanjut dan menemukan solusi atau menemukan solusi alternatif. Kode Disisipkan dual OrderStack # 91; 7 # 93; # 91; 9 # 93; void function (dual array # 91; # 93; # 91; # 93; -RRB- Alert (ukuran jangkauan, ArraySize (kisaran)); range # 91; 0 # 93; # 91; 0 # 93; = EURUSD;/kesalahan tidak diizinkan untuk menulis Kunci untuk membacamenulis array dilewatkan untuk melayani adalah dalam pernyataan. Blok kode tidak akan melalui kesalahan. Kode yang disisipkan double OrderStack # 91; 7 # 93; # 91; 9 # 93; void fungsi (# 91; color = Purple # 93; dual # 91;color # 93; # 91; b # 93; #

Similar Threads

  1. Butuh bantuan dengan 'array di luar jangkauan'
    By hubenhodhi93 in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 12
    Postingan Terakhir: 08-01-2022 22:29, 10:29 PM
  2. Dua Dimensi Array vs Satu Dimensi Array
    By Watica in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 12
    Postingan Terakhir: 09-01-2009 09:33, 09:33 AM
  3. Masalah Dengan Menetapkan Elemen Array 2D
    By me in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 2
    Postingan Terakhir: 03-07-2009 15:19, 03:19 PM
  4. MT4 - Masalah Array Indikator.
    By ahyokisvicente in forum Pendidikan Forex
    Balasan: 0
    Postingan Terakhir: 02-16-2009 12:11, 12:11 PM
  5. MT4 - Masalah Array Indikator.
    By ahyokisvicente in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 0
    Postingan Terakhir: 02-16-2009 12:11, 12:11 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.