EA VR-Moving: Sistem Trading Berasaskan Moving Average untuk MetaTrader 5

Mike 2018.06.16 19:15 22 0 0
Lampiran

Idea oleh: Vladimir Pastushak.

Kod MQL5 oleh: Vladimir Karputov.

EA ini beroperasi berdasarkan indikator Moving Average, di mana semua fungsi persediaan dan perdagangan telah dilaksanakan sebagai kelas trading CMoving dalam fail berasingan bernama Moving.mqh.


Input

  • magic number - pengenalan unik untuk EA;
  • Lots - ukuran posisi (ukuran posisi di atas sifar atau saiz risiko di atas sifar boleh ditentukan);
  • Risk - risiko dalam peratusan margin percuma setiap perdagangan (ukuran posisi di atas sifar atau saiz risiko di atas sifar boleh ditentukan);
  • MA: period - indikator Moving Average: Kerangka waktu;
  • MA: averaging period - indikator Moving Average: Tempoh purata;
  • MA: horizontal shift - indikator Moving Average: Pemindahan mendatar;
  • MA: smoothing type - indikator Moving Average: Kaedah purata;
  • MA: type of price - indikator Moving Average: Jenis harga yang digunakan untuk mengira indikator;
  • Take Profit - Tahap Take Profit (untuk kes apabila satu posisi dibuka);
  • Lot multiplier for a series of Positions - meningkatkan jumlah posisi untuk siri posisi;
  • Distance from Moving Average - jarak dari indikator Moving Average;
  • Additive in the presence of the general profit - menambah indent, jika terdapat keuntungan umum.

EA ini menggunakan prinsip swing dengan kemungkinan untuk meningkatkan jumlah lot; strategi mudah digunakan untuk operasinya:

  • Jika harga berada di atas indikator Moving Average dengan Distance from Moving Average yang telah ditetapkan, kita akan membuka posisi BUY;
  • Jika harga bergerak turun dari indikator Moving Average dengan Distance from Moving Average yang telah ditetapkan, kita akan membuka posisi SELL dengan lot yang sama;
  • Jika harga bergerak naik dari posisi BUY dengan harga tertinggi pada Distance from Moving Average yang telah ditetapkan, kita akan membuka posisi BUY seterusnya;
  • Jika harga bergerak turun dari posisi BUY dengan harga terendah pada Distance from Moving Average yang telah ditetapkan, kita akan membuka posisi SELL seterusnya;


Kelas CMoving

Parameter pengaturan
Initialization

Inisialisasi utama - parameter berikut ditetapkan:

  • symbol - nama simbol yang akan digunakan oleh EA
  • magic - pengenalan unik untuk EA
  • slippage - slippage.
GetFlag
Mengembalikan status bendera inisialisasi. Ia digunakan sebagai fungsi tambahan ketika memanggil dari EA asas untuk memeriksa status pembolehubah dalaman m_init kelas CMoving.
LotsOrRisk
Menentukan jenis pengiraan lot posisi: Sama ada secara manual (parameter lots di atas sifar) atau dalam peratusan margin percuma setiap perdagangan (parameter risk di atas sifar).
CreateMA
Membuat indikator Moving Average.
TakeProfit
Menentukan parameter Take Profit.
Multiplier
Menentukan parameter peningkatan lot.
DistanceMA
Menentukan jarak dari indikator Moving Average.
ProfitPlus
Menentukan indent tambahan pada keuntungan umum.
Fungsi utama
Processing
Fungsi utama, di mana semua pengiraan dilakukan.
Fungsi kelas dengan pengakses perlindungan
RefreshRates
Memperbaharui harga untuk simbol.
CheckVolumeValue
Memeriksa ketepatan jumlah posisi yang dimasukkan (pemeriksaan digunakan ketika menentukan ukuran posisi secara manual).
IsFillingTypeAllowed
Memeriksa mod pengisian pesanan.
iMAGet
Mendapatkan nilai indikator Moving Average pada bar yang mempunyai indeks index.
CalculateAllPositions

Mendapatkan maklumat tentang posisi per panggilan:

  • count_buys - bilangan posisi BUY;
  • price_highest_buy - harga posisi BUY tertinggi;
  • price_lowest_buy - harga posisi BUY terendah;
  • lot_highest_buy - jumlah posisi BUY tertinggi;
  • lot_lowest_buy - jumlah posisi BUY terendah;
  • total_lots_buy - jumlah keseluruhan posisi BUY;
  • count_sells - bilangan posisi SELL;
  • price_lowest_sell - harga posisi SELL terendah;
  • price_highest_sell - harga posisi SELL tertinggi;
  • lot_lowest_sell - jumlah posisi SELL terendah;
  • lot_highest_sell - jumlah posisi SELL tertinggi;
  • total_lots_sell - jumlah keseluruhan posisi SELL.
Prices
Mendapatkan harga rujukan untuk posisi BUY dan SELL, dengan mempertimbangkan Distance from Moving Average yang telah ditetapkan.
LotCheck
Memeriksa dan menormalkan jumlah posisi (digunakan ketika menentukan ukuran posisi secara manual).
OpenBuy
Membuka posisi BUY.
OpenSell
Membuka posisi SELL.
PrintResult
Mencetak hasil operasi perdagangan untuk membuka posisi.
SetTakeProfit
Menetapkan tahap Take Profit untuk posisi atau menghapus semua tahap Take Profit dan Stop Loss (di mana parameter delete_take_profit sama dengan "true").
CompareDoubles
Membandingkan dua nombor nyata untuk kesamaan.
AwerageTakeProfit
Mengira dan menetapkan tahap Take Profit tunggal untuk posisi jenis tertentu pos_type.

GBPUSD, H1, "Setiap tick berdasarkan tick sebenar."

VR---MUVING

Senarai
Komen 0