Automasi Pending Order dan Manajemen dengan RSI pada MetaTrader 4

Mike 2014.08.12 22:46 12 0 0
Lampiran

Automasi Pending Order Menggunakan RSI

  1. Gunakan RSI untuk mengatur pending order secara otomatis;
  2. Kurangi risiko di akhir pekan dan pulihkan posisi di minggu selanjutnya;
  3. Kirim informasi yang berguna melalui email.

Rekomendasi:

1. Atur testmode ke true untuk backtest, dan false untuk mode real:

extern bool testmode = false;//true: untuk backtest

2. Jika dalam mode test, set hanya satu dari array tradesymbol, contohnya:

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860";
extern string tradesymbol2 = "";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

Jika dalam mode akun real, set testmode ke false, dan konfigurasi tradesymbol seperti berikut (gunakan "," untuk memisahkan simbol, dan "_" untuk memisahkan parameter simbol):

extern string tradesymbol1 = "EURUSDm_802_2802_1602_200_860,USDCHFm_506_2606_1506_120_600";
extern string tradesymbol2 = "USDJPYm_460_2802_1302_100_320";
extern string tradesymbol3 = "";
extern string tradesymbol4 = "";
extern string tradesymbol5 = "";
extern string tradesymbol6 = "";

Contoh EURUSDm_802_2802_1602_200_860 berarti:

  • Simbol: EURUSDm (m berarti akun mini Exness, sesuaikan dengan simbol Anda)
  • Pending Pips: 802 (jarak pending)
  • Pips Tambahan Akhir Pekan: 2802 (memperlebar jarak di akhir pekan)
  • Pips Pembatalan: 1602 (jika jarak melebihi ini, tutup pending order)
  • Trailing Stop Loss: 200 (trailing stop loss)
  • Take Profit: 860 (take profit virtual)

3. Jika Anda ingin menghapus pending order di akhir pekan, set weekenddelete ke true, jika ingin memperlebar jarak pending dan memulihkannya di minggu depan, set ke false.

extern bool weekenddelete = false;//true: hapus false: modifikasi

4. Waktu mulai dan berakhir mode akhir pekan (5 berarti Jumat, 7 berarti Minggu, waktu dalam GMT, sesuaikan dengan waktu lokal Anda, parameter default berfungsi baik di Beijing Time):

// waktu perdagangan berakhir pada hari Jumat
extern int weekendbeginday = 5;
extern string weekendbegintime = "20:30";// Jumat 20:30
extern int weekendendday = 7;
extern string weekendendtime = "23:30";// Minggu 20:30

5. Semua simbol (mungkin bukan simbol perdagangan) yang ingin Anda kirimkan nilai RSI-nya (>70 atau <30) dan dilaporkan secara berkala kepada Anda. Pastikan Anda mengubah AUDJPYm jika akun Anda bukan akun mini.

string symbolsstr1 = "AUDJPYm,AUDCADm,AUDCHFm,AUDNZDm,AUDSGDm,AUDUSDm,CADCHFm,CADHKDm,CADJPYm,CHFJPYm,CHFPLNm,CHFSGDm,EURAUDm,EURBRLm,EURCADm,EURCHFm,EURDKKm,EURGBPm,EURHKDm,EURHUFm,EURJPYm,EURMXNm";
string symbolsstr2 = "GBPCHFm,GBPJPYm,GBPNZDm,GBPUSDm,HKDJPYm,HUFJPYm,MXNJPYm,NZDCADm,NZDCHFm,NZDJPYm,NZDSGDm,NZDUSDm,SGDJPYm,USDBRLm,USDCADm,USDCHFm,USDCZKm,USDDKKm,USDHKDm,USDHUFm,USDJPYm,USDMXNm";
string symbolsstr3 = "EURNOKm,EURNZDm,EURPLNm,EURRUBm,EURSEKm,EURSGDm,EURTRYm,EURUSDm,EURZARm,GBPAUDm,GBPCADm,USDNOKm,USDPLNm,USDRONm,USDRUBm,USDSEKm,USDSGDm,USDTRYm,USDZARm,XAGUSDm,XAUUSDm,ZARJPYm";
long sendmininterval = 3600;

6. Konfigurasi RSI:

//rsi
extern int rsitimeframe = PERIOD_H4;
extern int rsiperiod  = 14;
extern ENUM_APPLIED_PRICE rsiappliedprice = PRICE_CLOSE;
extern int rsishift = 0;
extern double rsiupperline = 70;
extern double rsilowerline = 30;

7. Gunakan magicweekendexpiration untuk mengidentifikasi mode akhir pekan, jika ada cara yang lebih baik silakan beri tahu saya.

int magicweekendexpiration = 1577836800;//2020-1-1 0:0:0 intvalue:1577836800

8. Lain-lain:

Jika modifikasi ke mode akhir pekan gagal, EA akan mengirim email dan mencoba hingga MAX_MODIFY_TRY_TIME (default 100) kali hingga berhasil.

Tidak ada stop loss yang diterapkan, dan jika order dengan sedikit kerugian (pembelian minimum atau penjualan maksimum) dari satu simbol melebihi pendingpips, EA akan menambahkan order lain untuk simbol yang sama.

Dalam mode tes, jika ekuitas kurang dari 95% dari saldo, EA akan mencatat status ke file peringatan.

if(((AccountEquity()/AccountBalance()) < 0.95))
        {
            WriteToWarningFile();
        }

Jika Anda menemukan bug atau memiliki saran, jangan ragu untuk memberi tahu saya.

Daftar
Komentar 0