Freeman: EA สำหรับ MetaTrader 5 ที่ต้องรู้สำหรับนักเทรด

Mike 2018.10.26 03:27 16 0 0
ไฟล์แนบ

ผู้เสนอแนวคิด - vgs

ผู้เขียนโค้ด mq5 - barabashkakvn

หมายเหตุ: ใช้กับบัญชี Hedge เท่านั้น! ห้ามใช้ Netting!

Stop loss และ take profit จะถูกคำนวณ dynamically ตามค่า iATR (Average True Range, ATR) - ค่าตัวชี้วัดในแท่งที่ 0 จะถูกคูณกับอัตราส่วน Stop Loss (เพื่อคำนวณ stop loss) และ Take Profit (เพื่อคำนวณ take profit).

หากมีตำแหน่งเปิดมากกว่าหนึ่งและไม่มีคำสั่งล็อค ให้ตรวจสอบความเป็นไปได้ในการเฉลี่ยตำแหน่ง:

  • ถ้ามีตำแหน่ง BUY และราคา Ask ปัจจุบันต่ำกว่าราคาเปิดของตำแหน่ง BUY ด้วยระยะทางที่เท่ากับหรือมากกว่า Distance ให้เปิดตำแหน่ง BUY ใหม่.
  • ถ้ามีตำแหน่ง SELL และราคา Bid ปัจจุบันสูงกว่าราคาเปิดของตำแหน่ง SELL ด้วยระยะทางที่เท่ากับหรือมากกว่า Distance ให้เปิดตำแหน่ง SELL ใหม่.

Distance จะถูกปรับให้เป็นค่าเริ่มต้นสำหรับคู่สกุลเงินสี่หลัก.

ปริมาณของตำแหน่งที่เปิดสามารถเป็นค่าคงที่หรือคำนวณแบบไดนามิก:

  • ปริมาณตำแหน่งคงที่ - Lots จะต้องมากกว่า 0.0 ในขณะที่ Risk เท่ากับ 0.0; Lots จะเป็นตัวกำหนดปริมาณตำแหน่ง (lots)
  • ปริมาณตำแหน่งแบบไดนามิก - Lots จะเป็น 0.0 ในขณะที่ Risk มากกว่า 0.0; Risk จะเป็นตัวกำหนดความเสี่ยงต่อการซื้อขาย

Trailing จะทำงานเป็นการเคลื่อนที่ของ stop loss ไปยังระดับ breakeven (ในระหว่างการปรับตำแหน่งครั้งแรก) และเป็น trailing (สำหรับการปรับตำแหน่งถัดไป). Trailing Stop คือระยะทางขั้นต่ำจากราคาไปยัง stop loss หลังจากการปรับตำแหน่ง, Trailing Step คือขั้นตอน trailing. ทั้งสองค่าจะถูกปรับให้เป็นค่าเริ่มต้นสำหรับคู่สกุลเงินสี่หลัก.

พารามิเตอร์ Bars Control กำหนดการทำงานของ EA: เมื่อมีแท่งใหม่เกิดขึ้นเท่านั้น ("true") หรือภายในแท่ง ("false").

การสร้างสัญญาณการซื้อขาย

พารามิเตอร์ทั่วไปสำหรับสัญญาณการซื้อขาย: Current Bar คือแท่งปัจจุบัน.

ตัวกรองแนวโน้ม

ตัวกรองแนวโน้มจะเปรียบเทียบค่า iMA (Moving Average, MA) ในแท่งปัจจุบัน (Current Bar) กับค่าของแท่งก่อนหน้า (Current Bar - 1)

ระยะทางขั้นต่ำระหว่างราคาและตัวชี้วัด MA. สำหรับการเปิด BUY, MA จะต้องอยู่ต่ำกว่าราคา, ขณะที่สำหรับการเปิด SELL, MA จะต้องอยู่สูงกว่าราคา.

ตัวกรอง RSI

ตัวกรอง RSI จะอิงจากการเปรียบเทียบค่า iRSI (Relative Strength Index, RSI) ในแท่งปัจจุบัน (Current Bar) กับระดับ RSI level UP และ RSI level DOWN. สำหรับสัญญาณเปิดตำแหน่ง SELL, RSI จะต้องสูงกว่า RSI level UP, ขณะที่สำหรับเปิดตำแหน่ง BUY, จะต้องต่ำกว่า RSI level DOWN.

การล็อค

หากมีตำแหน่งเปิดและราคาที่ปิดล่าสุดในทิศทางเดียวกันถูกปิดด้วยการขาดทุน นี่คือเงื่อนไขเบื้องต้นสำหรับการล็อค. มาตรวจสอบกัน:

  • ถ้ามีตำแหน่ง BUY และตำแหน่ง BUY ก่อนหน้านี้ถูกปิดด้วยการขาดทุน ขณะที่ราคา Ask ปัจจุบันอยู่ห่างเท่ากับหรือมากกว่า Distance จากตำแหน่ง BUY นี้, ให้เปิดตำแหน่ง BUY ใหม่. ไม่สำคัญว่าจะสูงหรือต่ำ - ค่าระยะทางจะถูกนำมาเป็นค่าที่แน่นอน.
  • ถ้ามีตำแหน่ง SELL และตำแหน่ง SELL ก่อนหน้านี้ถูกปิดด้วยการขาดทุน ขณะที่ราคา Bid ปัจจุบันอยู่ห่างเท่ากับหรือมากกว่า Distance จากตำแหน่ง SELL นี้, ให้เปิดตำแหน่ง SELL ใหม่. ไม่สำคัญว่าจะสูงหรือต่ำ - ค่าระยะทางจะถูกนำมาเป็นค่าที่แน่นอน.

การตรวจจับช่วงเวลาการปิดตำแหน่งจะถูกดำเนินการใน OnTradeTransaction.

EURUSD, M15:

freeman

รายการ
ความคิดเห็น 0