Pencipta idea: vitaly
Penulis kod MQL5: barabashkakvn
Strategi trading ini sangat mudah. Posisi BUY atau SELL dibuka dan dilindungi oleh pending Stop order pada jarak Delta 1. Kemudian, grid yang terdiri daripada Limit atau Stop pending orders akan dibuat pada jarak Delta 2 antara satu sama lain. Bilangan pending orders bagi setiap arah ditetapkan dalam Max Lines. Pending orders (Buy Limit, Sell Limit, Buy Stop dan Sell Stop) ditetapkan melalui satu fungsi PendingOrder, di mana jenis pending order (order_type), volume (volume), stop loss (sl) dan take profit (tp) akan dihantar.
//+------------------------------------------------------------------+ //| Pending order | //+------------------------------------------------------------------+ void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp) { sl=m_symbol.NormalizePrice(sl); tp=m_symbol.NormalizePrice(tp); if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0, m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp))) { if(m_trade.ResultOrder()==0) { Print("#1 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } else { Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } } else { Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } //--- }
Apabila mencapai sasaran Profit Close, tutup semua posisi dan buang semua pending orders. Anda juga boleh menutup semua posisi dan memadamkan pending orders jika kerugian melebihi Loss Close (jika anda menetapkan Loss Close kepada 0.0, parameter ini dinonaktifkan).
Operasi EA (membuka posisi dan menetapkan pending orders perlindungan) dilakukan dalam selang waktu bekerja dari Start hour hingga End hour (Start hour mungkin kurang daripada End hour atau melebihi waktunya).
Idea Utama
Menganalisis nilai ADX pada timeframe Work TimeFrame. Jika ADX berada di bawah 40, ini dianggap sebagai flat, dan pending orders Limit akan ditempatkan. Sebaliknya, pending orders Stop digunakan;
Jika DI+ lebih tinggi daripada DI-, beli, jika tidak, jual.
Hasil pengoptimuman terbaik bagi dua parameter (Current bar ADX dari 0 hingga 2, langkah 1 dan Work TimeFrame dari M1 hingga H1)
EURUSD, Current bar ADX 0, Work TimeFrame H1

USDJPY, Current bar ADX 2, Work TimeFrame M1

Dalam kes EURUSD, Current bar ADX 0, Work TimeFrame H1, tetapi parameter Loss Close ditetapkan kepada "0.0"

dan USDJPY, Current bar ADX 2, Work TimeFrame M1, tetapi parameter Loss Close ditetapkan kepada "0.0"

Siaran berkaitan
- MQL5 Wizard: Cipta Sistem Trading Berdasarkan Pola Morning/Evening Star dan RSI
- Panduan Lengkap MQL5 Wizard untuk Isyarat Dagangan Berdasarkan Morning/Evening Stars dan Stochastic
- MQL5 Wizard: Cipta Isyarat Dagangan Menggunakan Corak Morning/Evening Star dan MFI
- Menggunakan MQL5 Wizard untuk Signal Perdagangan '3 Black Crows/3 White Soldiers' + RSI
- MQL5 Wizard: Cipta EA Berdasarkan Pola Candlestick Bullish/Bearish Harami + Stochastic