Memahami CRITICAL ATR_Trailing dalam MetaTrader 5

Mike 2012.10.10 22:00 13 0 0
Lampiran

EA (Expert Advisor) ini berfungsi untuk menggerakkan Stop Loss bagi posisi terbuka mengikuti sempadan saluran yang dibina menggunakan ATR_Trailing. Stop Loss hanya akan diubah apabila bar berubah berdasarkan data dari bar yang baru ditutup, jika Stop Loss dihalakan kepada harga semasa.

EA ini juga membolehkan anda untuk memaparkan indikator yang digunakan secara langsung pada carta semasa tanpa perlu memasang indikator secara manual. Ini sangat memudahkan, kerana indikator akan dipaparkan secara automatik selepas EA dipasang pada carta. Parameter input untuk indikator sentiasa sama dengan parameter pada EA.

Di bawah ini adalah kod yang membolehkan anda melaksanakan ciri ini:

//+------------------------------------------------------------------+
//| Penyertaan kelas CChart dalam EA                              |
//+------------------------------------------------------------------+
#include <Charts\Chart.mqh>
//---- deklarasi pembolehubah global sebagai jenis CChart
CChart cchart;
//+------------------------------------------------------------------+
//| Fungsi inisialisasi EA                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---- mendapatkan handle indikator ATR_Trailing
   InpInd_Handle=iCustom(Symbol(),PERIOD_CURRENT,"ATR_Trailing",Period_ATR,Sell_Factor,Buy_Factor);
   if(InpInd_Handle==INVALID_HANDLE) Print(" Gagal mendapatkan handle indikator ATR_Trailing");

//--- menetapkan kod ralat kepada sifar
   ResetLastError();

//--- objek cchart bekerja dengan carta semasa (ID=0), EA dipasang pada carta tersebut
   cchart.Attach(0);

//---- menambah indikator ATR_Trailing pada carta  
   if(!cchart.IndicatorAdd(0,InpInd_Handle)) Print(" Gagal menambah indikator ATR_Trailing pada carta");

 

Parameter input EA:

//+----------------------------------------------+
//| Parameter input EA              |
//+----------------------------------------------+
input int Period_ATR=14;  //Tempoh ATR
input double Sell_Factor=2.0;
input double Buy_Factor=2.0;
input uint Deviation=10;  //slippage

Imej:

Carta kerja Exp_ATR_Trailing

Carta kerja Exp_ATR_Trailing 

Senarai
Komen 0