Exp_ATR_Trailing เป็น Expert Advisor ที่ช่วยจัดการการเคลื่อนที่ของ Stop Loss ของตำแหน่งที่เปิดอยู่ตามขอบของช่องที่สร้างขึ้นจาก ATR_Trailing โดย Stop Loss จะถูกปรับเปลี่ยนเฉพาะเมื่อมีการเปลี่ยนแปลงแท่งเทียนใหม่จากข้อมูลของแท่งเทียนที่ปิดในกรณีที่ Stop Loss จะถูกตั้งไว้ที่ราคาปัจจุบัน
ฟังก์ชันของ Expert Advisor นี้ยังอนุญาตให้แสดงตัวชี้วัดที่ใช้ภายในบนกราฟปัจจุบันได้โดยตรงจาก Expert Advisor โดยไม่ต้องติดตั้งตัวชี้วัดนั้นบนกราฟด้วยตนเอง ซึ่งถือว่าสะดวกมาก เพราะตัวชี้วัดจะถูกแสดงบนกราฟโดยอัตโนมัติหลังจากที่ติดตั้ง Expert Advisor บนกราฟแล้ว ตัวชี้วัดนี้จะมีพารามิเตอร์นำเข้าที่เหมือนกับของ Expert Advisor เอง
ด้านล่างนี้คือโค้ดที่ให้ผู้ใช้สามารถใช้ฟีเจอร์นี้ได้:
//+------------------------------------------------------------------+ //| การรวมคลาส CChart ใน Expert | //+------------------------------------------------------------------+ #include <Charts\Chart.mqh> //---- ประกาศตัวแปรทั่วไประดับ CChart CChart cchart; //+------------------------------------------------------------------+ //| ฟังก์ชันเริ่มต้นของ Expert | //+------------------------------------------------------------------+ int OnInit() { //---- รับ handle ของตัวชี้วัด ATR_Trailing InpInd_Handle=iCustom(Symbol(),PERIOD_CURRENT,"ATR_Trailing",Period_ATR,Sell_Factor,Buy_Factor); if(InpInd_Handle==INVALID_HANDLE) Print(" ไม่สามารถรับ handle ของตัวชี้วัด ATR_Trailing ได้"); //--- รีเซ็ตโค้ดข้อผิดพลาดเป็นศูนย์ ResetLastError(); //--- cchart object ทำงานกับกราฟปัจจุบัน (ID=0) ที่ Expert ถูกติดตั้งอยู่ cchart.Attach(0); //---- เพิ่มตัวชี้วัด ATR_Trailing บนกราฟ if(!cchart.IndicatorAdd(0,InpInd_Handle)) Print(" ไม่สามารถเพิ่มตัวชี้วัด ATR_Trailing บนกราฟได้");
พารามิเตอร์นำเข้าสำหรับ Expert Advisor:
//+----------------------------------------------+ //| พารามิเตอร์นำเข้าสำหรับ Expert Advisor | //+----------------------------------------------+ input int Period_ATR=14; // ระยะเวลา ATR input double Sell_Factor=2.0; input double Buy_Factor=2.0; input uint Deviation=10; // การลื่นไถล
ภาพ:

กราฟการทำงานของ Exp_ATR_Trailing
ความคิดเห็น 0