วัตถุประสงค์ของ EA
EA นี้ถูกออกแบบมาเพื่อใช้กับ Custom ที่แสดงลูกศรซื้อลงขาย ทำงานได้กับทุกตัวบ่งชี้ ยกเว้นตัวบ่งชี้ที่มีพารามิเตอร์เป็นสตริง
ชื่อของตัวบ่งชี้ Custom จะถูกกำหนดในพารามิเตอร์ของ EA และมีรายชื่อพารามิเตอร์สำหรับตัวบ่งชี้รวมถึงหมายเลขของบัฟเฟอร์ที่ใช้ในการวาดลูกศรซื้อลงขาย

แม้ว่าจะใช้รายการพารามิเตอร์เป็นสตริง แต่ยังสามารถปรับแต่งถึงห้าพารามิเตอร์ของตัวบ่งชี้ได้ โดยสามารถใช้ค่าใดๆ ของตัวแปร Opt_1_Value - Opt_5_Value แทนตัวแปรในรายการ iCustomParam

พารามิเตอร์ของ Expert Advisor
- TimeFrame - เวลาเฟรมที่ EA ทำงาน: 0 - เวลาเฟรมของกราฟที่ EA ทำงานอยู่ หรือที่เลือกในตัวทดสอบ หรือค่าที่เฉพาะเจาะจง เช่น 1, 5, 15, 30, 60, 240, 1440...
- iCustomName - ชื่อของตัวบ่งชี้ Custom
- iCustomParam - รายการพารามิเตอร์ที่คั่นด้วย "/" สำหรับตัวแปร boolean ให้ใช้ 1 แทน true, 0 แทน false หากพารามิเตอร์ของตัวบ่งชี้มีตัวแปรเป็นสตริง EA จะไม่ทำงาน!
- iBuyBufIndex - ดัชนีของบัฟเฟอร์ที่ใช้สำหรับลูกศรซื้อ
- iSellBufIndex - ดัชนีของบัฟเฟอร์ที่ใช้สำหรับลูกศรขาย
- iShift - การเลื่อนของตัวบ่งชี้ 1 - ทำงานบนแท่งที่สร้างขึ้นแล้ว, 0 - บนแท่งที่กำลังสร้าง (ไม่แนะนำ) สามารถกรอกค่า 2, 3, 4...
- Opt_1_Use - เปิดใช้งานการใช้ตัวแปร 1 สำหรับการปรับแต่ง เมื่อเปิดใช้งานตัวแปรที่จะปรับแต่งแทนค่าจาก iCustomParam จะใช้ค่าของตัวแปร Opt_X_Value
- Opt_1_Index - ดัชนีของตัวแปร 1 ที่จะปรับแต่งในอาร์เรย์พารามิเตอร์ (ใน iCustomParam)
- Opt_1_Value - ค่าของตัวแปร 1 ที่จะปรับแต่ง
- Opt_2_Use - เปิดใช้งานการใช้ตัวแปร 2 สำหรับการปรับแต่ง
- Opt_2_Index - ดัชนีของตัวแปร 2 ที่จะปรับแต่งในอาร์เรย์พารามิเตอร์
- Opt_2_Value - ค่าของตัวแปร 2 ที่จะปรับแต่ง
- Opt_3_Use - เปิดใช้งานการใช้ตัวแปร 3 สำหรับการปรับแต่ง
- Opt_3_Index - ดัชนีของตัวแปร 3 ที่จะปรับแต่งในอาร์เรย์พารามิเตอร์
- Opt_3_Value - ค่าของตัวแปร 3 ที่จะปรับแต่ง
- Opt_4_Use - เปิดใช้งานการใช้ตัวแปร 4 สำหรับการปรับแต่ง
- Opt_4_Index - ดัชนีของตัวแปร 4 ที่จะปรับแต่งในอาร์เรย์พารามิเตอร์
- Opt_4_Value - ค่าของตัวแปร 4 ที่จะปรับแต่ง
- Opt_5_Use - เปิดใช้งานการใช้ตัวแปร 5 สำหรับการปรับแต่ง
- Opt_5_Index - ดัชนีของตัวแปร 5 ที่จะปรับแต่งในอาร์เรย์พารามิเตอร์
- Opt_5_Value - ค่าของตัวแปร 5 ที่จะปรับแต่ง
- MMMethod - วิธีการจัดการเงิน: 0-Lots, 1-part (Risk) ของมาร์จินว่าง, 2-part (Risk) ของมาร์จินว่างที่ปรับตาม MeansStep
- Lots - จำนวนล็อตเมื่อใช้ MMMethod=0
- Risk - ความเสี่ยง ค่าที่อิงจากเงินทุนเมื่อ FixedLot=false
- MeansType - ประเภทของเงินที่ใช้ในการคำนวณล็อต
- MeansStep - ขั้นตอนของเงิน ใช้เมื่อ MMMethod=2
- LotsDigits - จำนวนตำแหน่งทศนิยมในค่าล็อต
- Slippage - การเบี่ยงเบนที่อนุญาตจากราคา
- StopLoss - การหยุดขาดทุน
- TakeProfit - การทำกำไร
- Magic_N - หมายเลขเวทย์มนต์
- MaxOrdersCount - จำนวนคำสั่งที่เปิดสูงสุดที่อนุญาต -1 ไม่จำกัด
- MaxBuyCount - จำนวนคำสั่งซื้อที่เปิดสูงสุดที่อนุญาต -1 ไม่จำกัด
- MaxSellCount - จำนวนคำสั่งขายที่เปิดสูงสุดที่อนุญาต -1 ไม่จำกัด
- SleepBars - เวลาหยุดหลังเปิดคำสั่งเป็นจำนวนแท่งของเวลาเฟรมที่ทำงาน
- CancelSleeping - การเปิดใช้งานการยกเลิกเวลาหยุดเมื่อเปิดคำสั่งในทิศทางตรงข้าม
- CloseOnRev - ปิดคำสั่งในทิศทางตรงข้ามก่อนการเปิด
- TrailingStop_Use - การเปิดใช้งานฟังก์ชัน trailing stop
- TrailingStopStart - กำไรของคำสั่งเพื่อเปิดใช้งาน trailing stop
- TrailingStop - ระดับ trailing stop
- BreakEven_Use - การเปิดใช้งานฟังก์ชัน breakeven
- BreakEvenStart - กำไรของคำสั่งเพื่อเปิดใช้งาน breakeven
- BreakEvenLevel - ระดับที่จะวางการหยุดขาดทุนจากราคาการเปิดใช้งาน breakeven
หมายเหตุ
ในไฟล์เก็บข้อมูลของผู้เชี่ยวชาญมีไฟล์ test_example.set ที่เป็นตัวอย่างการตั้งค่าสำหรับการใช้ตัวบ่งชี้ ind_Test (การตัดกันของสอง MA) และตัวแปรที่สามารถปรับแต่งได้ ตัวบ่งชี้ ind_Test แนบไว้
เวอร์ชัน 2
1. เพิ่มความสามารถในการใช้ตัวบ่งชี้ต่างๆ สำหรับสัญญาณการเปิดและปิด สัญญาณการเปิดจะเริ่มต้นด้วยคำนำหน้า _O_ สำหรับสัญญาณการปิด - ด้วยคำนำหน้า _C_
มีสามโหมดที่เป็นไปได้ในการใช้ตัวบ่งชี้เปิดและปิด (กำหนดโดยตัวแปร _OС_Mode):
- โหมด 1 - ไม่ใช้ตัวบ่งชี้ในการปิด การปิดสามารถทำได้โดยการหยุดขาดทุนและการทำกำไรเท่านั้น
- โหมด 2 - ไม่ใช้ตัวบ่งชี้ในการปิด นอกจากการปิดโดยการหยุดขาดทุนและการทำกำไรแล้ว ยังสามารถปิดคำสั่งตรงข้ามได้โดยใช้สัญญาณการเปิด การหยุดขาดทุนและการทำกำไรสามารถปิดได้โดยการตั้งค่าเป็น 0 สำหรับตัวแปร StopLoss และ/หรือ TakeProfit (ใช้กับทุกโหมด)
- โหมด 3 - ใช้สัญญาณการปิดแยกต่างหากจากตัวบ่งชี้การปิด (_C_) ในโหมดนี้สามารถใช้โหมดเพิ่มเติมในการคัดลอกพารามิเตอร์ของตัวบ่งชี้การเปิดไปยังพารามิเตอร์ของตัวบ่งชี้การปิด (ตัวแปร C_UseOpenParam) ในเวลาเดียวกันจะมีการคัดลอกชื่อของตัวบ่งชี้และพารามิเตอร์
2. สามารถใช้ไม่เพียงแต่ตัวบ่งชี้ที่มีลูกศร แต่ยังตัวบ่งชี้ที่มีเส้นได้เช่นกัน สามารถใช้สองเส้น (การตัดกันของเส้นหลักและเส้นสัญญาณ) และเส้นเดียว - การตัดกันกับระดับ ใช้ตัวแปร _O_Mode (และ _С_Mode ในบล็อกการปิด) เพื่อเลือกประเภทตัวบ่งชี้
- โหมด 1 - ตัวบ่งชี้วาดลูกศร _O_M1_iBuyBufIndex และ _O_M1_iSellBufIndex ใช้ในการระบุหมายเลขบัฟเฟอร์ และในบล็อกการปิด - _C_M1_iCloseBuyBufIndex และ _C_M1_iCloseSellBufIndex
- โหมด 2 - ใช้เส้นหลักและเส้นสัญญาณของตัวบ่งชี้ หากเส้นหลักตัดเส้นสัญญาณจากด้านล่าง - สัญญาณสำหรับการเปิดซื้อหรือปิดขาย _O_M2_iMainBufIndex, _O_M2_iSignalBufIndex และ _C_M2_iMainBufIndex, _C_M2_iSignalBufIndex ใช้ในการระบุบัฟเฟอร์
- โหมด 3 - ใช้เส้นตัวบ่งชี้เส้นเดียว หมายเลขบัฟเฟอร์ถูกระบุในตัวแปร _O_M3_iBufIndex (หรือ _С_M3_iBufIndex ในบล็อกการปิด) ตัวแปร _O_M3_BuyLevel และ _O_M3_SellLevel (_O_M3_CloseBuyLevel และ _C_M3_CloseSellLevel ในบล็อกการปิด) ใช้ในการระบุค่าเลเวล การตัดกันของระดับซื้อจากด้านล่าง - ซื้อ, การตัดกันของระดับขายจากด้านบน - ขาย
เวอร์ชัน 3
เพิ่มโหมด _O_Mode อื่น (และ _S_Mode)
โหมด 4 - Extremum โดยสามจุด ใช้เส้นตัวบ่งชี้เส้นเดียว หมายเลขบัฟเฟอร์ถูกระบุในตัวแปร _O_M4_iBufIndex (หรือ _С_M4_iBufIndex ในบล็อกการปิด)

เวอร์ชัน 4
1. เพิ่มการทำงานกับคำสั่งที่รอดำเนินการ
2. เพิ่มตัวแบ่งส่วนในหน้าต่างคุณสมบัติ (จากตัวแปรสตริง)
การเลือกประเภทคำสั่งจะดำเนินการโดยตัวแปร OrdType : 0 - ตลาด, 1 - หยุด, 2 - จำกัด (ตัวแปรนี้อยู่ในส่วน "คำสั่ง")
ส่วนของตัวแปร "Pending orders" สำหรับการจัดการการทำงานของคำสั่งที่รอดำเนินการ:
- PendLevel - ระดับจากราคาตลาดปัจจุบันเพื่อวางคำสั่งที่รอดำเนินการ
- PendPromPrice - ราคาที่จะวางคำสั่งที่รอดำเนินการจะคำนวณจากราคาของแท่งศูนย์ หาก PendPromPrice=0 - จากราคาปิด (สอดคล้องกับราคาตลาดปัจจุบัน), 1 - จากราคาที่เปิดของแท่ง
- PendNewSigMode - วิธีการควบคุมคำสั่งที่รอดำเนินการเมื่อมีสัญญาณการซื้อขายใหม่: 0 - หากมีคำสั่งถูกวางแล้ว จะไม่ดำเนินการเมื่อมีสัญญาณการซื้อขายใหม่, 1 - แทนที่คำสั่งเมื่อมีสัญญาณใหม่, 2 - เมื่อมีสัญญาณใหม่ คำสั่งจะถูกแทนที่เฉพาะใน "ระดับที่ดีกว่า" - ซื้อหยุดเฉพาะลง, ซื้อจำกัดเฉพาะขึ้น, ขายหยุดเฉพาะขึ้น, ขายจำกัดเฉพาะลง
- PendPriceFollow - โหมดการติดตามราคา คำสั่งจะถูกปรับทุกครั้งที่มีการเปลี่ยนแปลงของตัวแปร PendPromPrice คำสั่งจะถูกแทนที่เฉพาะใน "ราคาที่ดีกว่า" (ดูคำอธิบายของตัวแปร PendNewSigMode)
- PendDelete - ลบคำสั่งที่รอดำเนินการเมื่อมีสัญญาณการซื้อขายตรงข้าม ที่ค่าผิดพลาด สามารถมีคำสั่งที่รอดำเนินการสองคำสั่งในทิศทางที่แตกต่างกันพร้อมกันได้
- PendExpiration - เวลาหมดอายุของคำสั่งในนาที (ค่าต่ำสุดคือ 11 นาที)
โพสต์ที่เกี่ยวข้อง
- MQL5 Wizard: ระบบเทรดสัญญาณจาก Hammer/Hanging Man + MFI บน MetaTrader 5
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- MQL5 Wizard: สร้างสัญญาณการเทรดจาก Bullish Harami/Bearish Harami พร้อม MFI
- MQL5 Wizard: สร้างสัญญาณเทรดจาก Bullish Harami/Bearish Harami + Stochastic สำหรับ MetaTrader 5
- สร้างระบบเทรด MQL5 ด้วย Bullish/Bearish Meeting Lines + RSI