Hai RickD, Bisakah Anda menulis kode untuk menutup semua pembelian saja atau menutup semua penjualan dengan jumlah dolar keuntungan dalam perdagangan keranjang. Terima kasih atas bantuan Anda. .
Hai RickD, Bisakah Anda menulis kode untuk menutup semua pembelian saja atau menutup semua penjualan dengan jumlah dolar keuntungan dalam perdagangan keranjang. Terima kasih atas bantuan Anda. .
Kode berikut memungkinkan untuk mengambil tiket dari pesanan yang ditutup terakhir dalam riwayat akun Kode yang Dimasukkan int GetLastOrderHist(int type = -1) { int ticket = -1; tanggal waktu dt = 0; int cnt = OrdersHistoryTotal(); for (int i=0; i lt; cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) lanjutkan;/jika (SimbolPesanan() != Simbol()) lanjutkan;/jika (OrderMagicNumber() != Sihir) lanjutkan; if (ketik != -1 JenisPesanan() != ketik) lanjutkan; if (WaktuTutupPesan() gt; dt) { dt = WaktuTutupPesan(); tiket = PesanTiket(); } } karcis pulang); }
Fungsi ini memungkinkan untuk mendapatkan tanggal hari berikutnya. Kode Dimasukkan void NextDay(int day, int month, int year) { datetime Time0 = CurTime(); datetime Besok = Waktu0 24*60*60; hari = WaktuHariTahun(Besok); bulan = WaktuBulan(Besok); tahun = WaktuTahun(Besok); }
Originally Posted by ;
Terima kasih yang sebesar-besarnya saya sampaikan kepada Bapak...
Oke. 1. Saya ingin membuka 3 perdagangan di 3 grafik yang berbeda hanya setelah memeriksa bahwa tidak ada perdagangan yang dibuka saat ini... 3. Kemudian saya ingin membuka 3 perdagangan yang sama dengan arah yang berlawanan. Kode yang Dimasukkan int Magic = ... int BuyCnt = 0; int JualCnt = 0; int cnt = JumlahPesanan(); for (int i=0; i lt; cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) lanjutkan; if (OrderSymbol() != Symbol()) lanjutkan; if (OrderMagicNumber() != Magic) lanjutkan; int tipe = TipePesanan(); if (ketik == OP_BUY) BuyCnt ; if (ketik == OP_SELL) SellCnt ; } if (BuyCnt gt; 0 || SellCnt gt; 0) return;/OrderSend(OP_BUY, .../OrderSend(OP_SELL, ... Jalankan kode ini pada 3 grafik berbeda yang Anda butuhkan. 2. Saya ingin memeriksa PL dan jika lebih besar dari 0, itu akan menutup semua terbuka dan pending order. Kode Dimasukkan if (AccountProfit() gt; 0) { DeleteOrders(); CloseOrders(); } void CloseOrders() { int cnt = OrdersTotal(); for (int i=cnt-1; i gt;= 0 ; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) lanjutkan; int type = OrderType(); if (type == OP_BUY) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), MarketInfo (OrderSymbol(), MODE_BID), 3); } if (type == OP_SELL) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3); } } } batal DeleteOrders() { int cnt = OrdersTotal(); for (int i=cnt-1; i gt;= 0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) lanjutkan; int type = OrderType( ); if (ketik == OP_BUYSTOP || ketik == OP_SELLSTOP || ketik == OP_BUYLIMIT || ketik == OP_SELLLIMIT) { OrderDelete(OrderTicket()); } } }Originally Posted by ;
Ini adalah utas yang sangat informatif..Tolong jangan berhenti..Lanjutkan mengajari kami yang baru mengenal pemrograman ini... Bagaimana cara membuat kode prosedur ini??? 1. Saya ingin membuka 3 perdagangan dalam 3 grafik berbeda hanya setelah memeriksa bahwa tidak ada perdagangan terbuka saat ini ... 2. Saya ingin memeriksa PL dan jika lebih besar dari 0, itu akan menutup semua terbuka dan pesanan tertunda. 3. Lalu saya ingin membuka 3 perdagangan yang sama dengan arah yang berlawanan. Terima kasih
Cara menutup semua order pasar: Kode yang Dimasukkan ke Slippage = 3; batal CloseOrders() { int cnt = OrdersTotal(); for (int i=cnt-1; igt;=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) lanjutkan;/jika (SimbolPesanan() != Simbol()) lanjutkan;/jika (OrderMagicNumber() != Sihir) lanjutkan; jika (TipePesanan() == OP_BUY) TutupPesanan(TiketPesanan(), BanyakPesanan(), Info Pasar(SimbolOrder(), MODE_BID), Slippage); jika (TipePesanan() == OP_JUAL) TutupPesanan(TiketPesanan(), BanyakPesanan(), Info Pasar(SimbolOrder(), MODE_ASK), Slippage); } } Cara menutup semua order dengan tipe yang telah ditentukan: Kode yang Dimasukkan void CloseOrders(int type) { int cnt = OrdersTotal(); for (int i=cnt-1; igt;=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) lanjutkan;/jika (SimbolPesanan() != Simbol()) lanjutkan;/jika (OrderMagicNumber() != Sihir) lanjutkan; if (TipePesanan() != ketik) lanjutkan; jika (TipePesanan() == OP_BUY) TutupPesanan(TiketPesanan(), BanyakPesanan(), Info Pasar(SimbolOrder(), MODE_BID), Slippage); jika (TipePesanan() == OP_JUAL) TutupPesanan(TiketPesanan(), BanyakPesanan(), Info Pasar(SimbolOrder(), MODE_ASK), Slippage); } }
Dapatkan OpenTime pesanan terakhir dengan tipe yang telah ditentukan. Fungsinya mencari perdagangan terbuka dan riwayatnya. -1 berarti tidak ada pesanan yang ditemukan. Kode yang dimasukkan datetime GetLastOpenTime(int type) { datetime tm = -1; int cnt = JumlahPesanan(); for (int i=0; ilt;cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) lanjutkan;/Opsional/if (OrderSymbol() != Symbol()) lanjutkan;/jika (OrderMagicNumber() != Sihir) lanjutkan; if (TipePesanan() != ketik) lanjutkan; tm = MathMax(tm, OrderOpenTime()); } cnt = OrdersHistoryTotal(); for (i=0; ilt;cnt; i ) { if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) lanjutkan;/Opsional/if (OrderSymbol() != Symbol()) lanjutkan;/jika (OrderMagicNumber() != Sihir) lanjutkan; if (TipePesanan() != ketik) lanjutkan; tm = MathMax(tm, OrderOpenTime()); } kembali (tm); }
Terima kasih RickD atas apa yang Anda berikan di sini. Sama seperti anggota FF baru saja mencopot harga undian pertama. Anda adalah harta yang nyata di sini Tolong teruskan utas ini