Sistem perdagangan ini berdasarkan kepada penunjuk Iin_MA_Signal yang memberikan isyarat dengan keupayaan untuk mengubah jumlah perdagangan seterusnya bergantung kepada keputusan perdagangan sebelumnya. Isyarat perdagangan terbentuk apabila bar ditutup, jika terdapat perubahan arah trend yang ditunjukkan oleh label warna penunjuk tersebut.
Blok input untuk EA ini ditambah bagi menguruskan jumlah posisi yang dibuka:
input uint BuyTotalMMTriger=5; // Bilangan urus niaga Buy terakhir untuk mengira stop loss input uint BuyLossMMTriger=3; // Bilangan urus niaga Buy yang rugi untuk mengurangkan MM input uint SellTotalMMTriger=5;// Bilangan urus niaga Sell terakhir untuk mengira stop loss input uint SellLossMMTriger=3; // Bilangan urus niaga Sell yang rugi untuk mengurangkan MM input double SmallMM_=0.01; // Peratusan deposit dalam urus niaga sekiranya rugi input double MM=0.1 // Peratusan deposit dalam urus niaga semasa perdagangan biasa input MarginMode MMMode=LOT; // Kaedah menentukan nilai lot
Jika terdapat input seperti di atas dan memilih dari lima urus niaga terakhir, jika tiga daripadanya adalah rugi dalam satu arah, EA akan membuka urus niaga seterusnya dalam arah yang sama dengan jumlah 0.01 lot. Jika terdapat kurang dari tiga urus niaga rugi dari lima yang terakhir, jumlah posisi adalah 0.1.
EA ini adalah penyempurnaan lanjut dari Exp_Iin_MA_Signal. Blok input EA telah ditambah kepada kod dan blok pembukaan/penutupan posisi telah diubah:
//---- Pelaksanaan urus niaga //---- Menutup posisi long dengan nombor sihir BuyPositionClose_M(BUY_Close,Symbol(),Deviation_,BuyMagic); //---- Menutup posisi short dengan nombor sihir SellPositionClose_M(SELL_Close,Symbol(),Deviation_,SellMagic); double mm; //---- Membuka posisi long dengan nombor sihir if(BUY_Open) { mm=BuyTradeMMRecounterS(BuyMagic,BuyTotalMMTriger,BuyLossMMTriger,SmallMM_,MM); // menentukan jumlah posisi long bergantung kepada keputusan urus niaga sebelumnya BuyPositionOpen_M1(BUY_Open,Symbol(),UpSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,BuyMagic); } //---- Membuka posisi short dengan nombor sihir if(SELL_Open) { mm=SellTradeMMRecounterS(SellMagic,SellTotalMMTriger,SellLossMMTriger,SmallMM_,MM); // menentukan jumlah posisi short bergantung kepada keputusan urus niaga sebelumnya SellPositionOpen_M1(SELL_Open,Symbol(),DnSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,SellMagic); }
Untuk EA yang dihasilkan berfungsi dengan baik, fail penunjuk Iin_MA_Signal.ex5 yang telah disusun perlu tersedia di dalam folder <terminal_data_directory>\MQL5\Indicators.
Parameter input untuk Expert Advisor yang digunakan tanpa hentian semasa ujian ditunjukkan di bawah.

Fig. 1. Contoh urus niaga pada carta
Keputusan ujian GBPJPY H1 sepanjang tahun 2017:

Fig. 2. Carta keputusan ujian
Siaran berkaitan
- Panduan Lengkap MQL5 Wizard untuk Isyarat Dagangan Berdasarkan Morning/Evening Stars dan Stochastic
- MQL5 Wizard: Cipta Sistem Trading Berdasarkan Pola Morning/Evening Star dan RSI
- MQL5 Wizard: Cipta Isyarat Dagangan Menggunakan Corak Morning/Evening Star dan MFI
- Moving Average: EA Terbaik untuk MetaTrader 5
- MQL5 Wizard: Cipta Isyarat Dagangan Berdasarkan Corak Hammer/Hanging Man dan Stochastic