Unstable
|
|
Platform
|
MT 4
|
ปรับปรุงครั้งสุดท้ายเมื่อ
: ๑๓ เมษายน พ.ศ.๒๕๖๕
|
|
ไม่รับประกันความเสียหาอันเนื่องมาจากการทำงานของ EA ชุดนี้
|
สำหรับค่าต่างๆ ที่จะใช้กำหนดการทำงานของ My MA100 BB10 Fractals PSAR MACE RSI Thai EA ในเบื้องต้นแนะนำให้ใช้ค่าที่กำหนดมากับ EA (default) เนื่องจากเป็นค่าที่ผู้เขียนทดสอบแล้วน่าจะเป็นค่าที่ช่วยรักษาทุนให้คงอยู่ ไม่ล้างพอร์ทง่าย แต่อย่างไรก็ดี บทความชุดนี้เราจะมาดูความหมายของค่าพารามิเตอร์ต่างๆ ที่ผู้เขียนกำหนดไว้ ว่ามีความหมายอย่างไรกับการทำงานของตัว EA ซึ่งค่าพารามิเตอร์ต่างๆ ของ EA ชุดนี้มีดังนี้
UseAutoSelectAsset
สำหรับกำหนดให้ EA เลือกสินทรัพย์หรือคู่เงินใหม่อัตโนมัติ หากสินทรัพย์หรือคู่เงินที่อยู่ในหน้าจอกราฟของ MT4 ในขณะนั้นไม่มีเงื่อนไขที่ EA จะเปิดคำสั่งซื้อ/ขาย โดยสินทรัพย์หรือคู่เงินที่ EA เลือกมาใหม่ จะเป็นสินทรัพย์หรือคู่เงินที่แสดงอยู่ในกรอบ Market Watch ของ MT4 ที่กำลังใช้งานอยู่ในขณะนั้นเท่านั้น ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA เลือกสินทรัพย์หรือคู่เงินใหม่อัตโนมมัติ
NoRepleatAsset
พารามิเตอร์ตัวนี้ไม้ไว้เพื่อใช้กำหับ กรณีที่เราต้องการให้ EA สามารถเปิดคำสั่งซื้อ/ขาย ได้หลายคำสั่ง โดยใช้เป็นเงื่อนไขว่าจะอนุญาตให้ EA เปิดคำสั่งซื้อ/ขายในสินทรัพย์หรือคู่เงินเดิม หรือไม่ ค่าที่ตั้งมาให้ (default) คือ True หมายถึง ไม่อนุญาตให้ EA เปิดคำสั่งซื้อ/ขายบนคู่เงินหรือสินทรัพย์ที่มีการเปิดคำสั่งซื้อ/ขายค้างอยู่
UseTrendReversals
โดยปรกติ EA จะใช้เส้น Moving Average (MA) ๒ เส้นคือ MA 100 และ MA10 (เส้นกลาง Bollinger Band) ในการบอกเทรนหรือทิศทางการไหลของค่าเงิน รวมเงื่อนไขอื่นๆ แต่ในกรณีเงื่อนไขอื่นๆ เกิดการกลับทางหมด แต่เส้น MA ยังไม่กลับทาง ซึ่งเป็นช่วงที่ค่าเงินกำลังจะเปลี่ยนทางแต่ยังไม่สมบูรณ์ หรือเรียกอีกอย่างว่า เปิดคำสั่งซื้อ/ขาย/สวนเทรน พารามิเตอร์ตัวนี้จะเป็นตัวกำหนดว่า จะยอมให้ EA เปิดคำสั่งซื้อ/ขายสวนเทรนหรือไม่ ค่าที่ตั้งมาให้ (default) คือ False หมายถึง ไม่อนุญาตให้เปิดคำสั่งซื้อ/ขายสวนเทรน
MinimumLotSize
MY MA100 BB10 Fractals PSAR MACD RIS Thai EA เป็น EA ที่คำนวนหาขนาดล็อต (lot size) ให้อัตโนมัติ แต่ถ้าค่าที่คำนวณได้ต่ำกว่าค่าที่กำหนดไว้ใน MinimumLotSize ตัว EA จะใช้ค่าดังกล่าวในการกำหนดขนาดล็อตต่ำสุด (ผู้ใช้ต้องทำการกำหนดขนาดล็ตต่ำสุดตามประเภทบัญชีที่ผู้ใช้เปิดอยู่เอง บัญชีเทรดบางประเภทจะใช้ขนาดล็อตมากกว่า ๐.๐๑ ค่าที่ตั้งมาให้ (default) คือ 0.01
MaximumRisk
พารามิเตอร์ตัวนี้หมายถึงระดับความเสี่ยงในการเปิดคำสั่งซื้อ/ขายที่เรายอมรับได้ คิดเป็นเปอร์เซ็นต์ของเงินทุนที่เรามีอยู่ 1 หมายถึง ยอมเสี่ยง 100 % ของเงินทุน , 0.01 หมายถึงยอมเสี่ยง 1 % ของเงินทุน ค่าที่ตั้งมาให้ (default) คือ 0.05 หมายถึง ยอมเสี่ยง ๕ เปอร์เซ็น์ของเงินทุน
RiskRewardRatio
พารามิเตอร์ตัวนี้เป็นค่าอัตรส่วนระหว่างความเสี่ยง (Risk) ๑ หน่วย ต่อ(หาร)ผลตอบแทนที่เราหวังว่าจะได้รับ (Reward) ซึ่ง EA จะใช้คำนวณหาระยะเป้าหมายกำไร (Take Profit : TP) โดยเทียบกับระยะตัดขาดทุน (Stop Loss : SL) ค่าที่ตั้งมาให้ (default) คือ 0.25 หมายถึง กำหนดให้ EA ตั้ง ระยะเป้าหมายกำไร หรือ Take Profit ขนาด 4 เท่าของ ระยะตัดขาดทุน หรือ Stop Loss
MaxTrade
ใช้สำหรับกำหนดจำนวนคำสั่งซื้อ/ขาย (Position) ที่ EA จะทำการเปิดได้ จริงๆ แล้ว EA ชุดนี้สามารถเปิดคำสั่งซื้อขายได้ไม่จำกัด (ขึ้นอยู่กับข้อจำกัดของแต่ละโบรกเกอร์) แต่ EA จะเปิดคำสั่งซื้อ/ขายถัดไปก็ต่อเมื่อคำสั่งซื้อ/ขายที่เปิดล่าสุดมีกำไรตามระดับที่ EA ตั้งไว้แล้วเท่านั้น ค่าที่ตั้งมาให้ (default) คือ 5 หมายถึง เปิดคำสั่งซื้อ/ขายได้ไม่เกิน ๕ คำสั่ง (Order)
TakeProfit
โดยปรกติ EA ชุดนี้สามารถกำหนดระยะเป้าหมายกำไรให้อัตโนมัติ ตามเงื่อนไขที่ระบุในพารามิเตอร์ RiskRewardRatio กรณีกำหนดค่าของพารามิเตอร์ TakeProfit เป็น ๐ แต่ถ้าหากผู้นำไปใช้งานกำหนดเป็นค่าอื่นๆ (เป็นระยะจำนวน pip นับจากจุดที่เปิดคำสั่งซื้อขาย) EA จะนำค่าที่ระบุไว้ไปกำหนดระยะเป้าหมายกำไรของคำสั่งซื้อ/ขายที่จะเปิดขึ้นใหม่ ค่าที่ตั้งมาให้ (default) คือ 0 หมายถึง ไม่กำหนดระยะเป้าหมายกำไร หรือให้ EA คำนวณให้อัตโมัติ
UseAutoTakeProfit
เป็นพารามิเตอร์สำหรับกำหนดให้ EA คำนวณระยะเป้าหมายกำไร (TP) ให้อัตโนมัติ โดยมีเงื่อนไขว่าค่าของพารามิเตอร์ TakeProfit ที่กล่าวมาข้างต้นจะต้องกำหนดค่าเป็น ๐ เท่านั้น ถ้ากำหนดเป็นค่าอื่นๆ EA จะใช้ค่านั้นๆ แทน แต่ถ้าพารมิเตอร์ UseAutoTakeProfit ถูกกำหนดค่าเป็น False จะหมายถึง การกำหนดให้ EA ไม่ต้องกำหนดค่า Take Profit ในคำสั่งซื้อ/ขายที่จะเปิดขึ้นใหม่ ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA คำนวณหาค่า Take Profit อัตโนมัติเมื่อทำการเปิดคำสั่งซื้อ/ขายใหม่
UseTrailingTakeProfit
เป็นพารามิเตอร์ที่จะกำหนดให้ EA ทำการเลื่อนระยะเป้าหมายกำไรใหม่หรือไม่ (Traling Take Profit) ซึ่งกลไกในการเลื่อนระยะเป้าหมายกำไรจะทำงานก็ต่อเมื่อในคำสั่งซื้อ/ขายที่เปิดอยู่มีการตั้ง Take Profit ไว้เท่านั้น ถ้าเป็น ๐ กลไกดังกล่าวจะไม่ทำงาน ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA ทำการเลื่อนระยะเป้าหมายกำไรออกไปถ้าราคาวิ่งเข้าใกล้ Take Profit
StopLoss
เป็นการกำหนค่าของระยะตัดขาดทุนที่น้อยที่สุดจากจุดที่เปิดคำสั่งซื้อ/ขาย หน่วยเป็น pip โดยปรกติ EA จะคำนวณระยะตัดขาดทุน หรือ Stop Loss ให้อัตโนมัติ แต่ถ้าผลที่คำนวณได้น้อยกว่าที่กำหนดไว้ในพารามิเตอร์ StopLoss กลไกของ EA จะนำค่าดังกล่าวไปกำหนดเป็นค่า Stop Loss ของคำสั่งซื้อ/ขาย ค่าที่ตั้งมาให้ (default) คือ 250
CalculateNewStopLoss
โดยปรกติแล้วเวลาเปิดคำสั่งซื้อ/ขาย EA ชุดนี้ จะไม่กำหนดค่า Stop Loss ให้ถ้าผู้ใช้งานกำหนดค่าพารามิเตอร์ CalculateNewStopLoss เป็น False ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA คำนวณค่า Stop Loss ให้ทุกครั้งที่เปิดคำสั่งซื้อ/ขาย
UseCandleTrailingStop
EA ชุดนี้เป็น EA ทีทำการเลื่อนระยะตัดขาดทุนหรือ Trailing Stop Loss ให้อัตโนมัติ แต่เป็นการเลื่อนระยะตัดขาดทุนโดยดูจากตำแหน่งของ Fractal แต่ EA ชุดนี้ยังมีกลไกเลื่อนระยะตัดขาดทุนอีกแบบหนึ่งคือดูจากแท่งราคา ซึ่งพารามิเตอร์ UseCandleTrailingStop จะเป็นตัวกำหนดให้กลไกการเลื่อนระยะตัดขาดทุนแบบที่สองทำงานหรือไม่ ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA ทำการเลื่อนระยะตัดขาดทุนโดยดูจากแท่งราคาด้วย แต่ถ้าผู้ใช้งานรู้สึกว่า จะทำให้ EA ปิดเร็วเกินไปก็สามารถยกเลิกการเลื่อนระยะตัดขาดทุนที่ดูจากแท่งราคานี้ได้ โดยการกำหนดค่าให้เป็น False
สำหรับค่าพารามิเตอร์ต่างๆ ของ EA ตามที่กล่าวมาในข้างต้น จะเป็นค่าที่ยึด Time Frame D1 เป็นหลัก หากนำไปใช้กับ Time Frame อื่นๆ ผู้นำไปใช้อาจจะปรับแต่งค่าใหม่ให้เหมาะสมพฤติกรรมการเทรดของท่านได้
สำหรับค่าพารามิเตอร์ต่างๆ ของ EA ตามที่กล่าวมาในข้างต้น จะเป็นค่าที่ยึด Time Frame D1 เป็นหลัก หากนำไปใช้กับ Time Frame อื่นๆ ผู้นำไปใช้อาจจะปรับแต่งค่าใหม่ให้เหมาะสมพฤติกรรมการเทรดของท่านได้
วิธีการเรียกกรอบหน้าต่างปรับแต่งค่าพารามิเตอร์ของ EA
ขออนญาตทบทวนวิธีการเรียกกรอบสำหรับปรับแต่งค่าพารามิเตอร์ต่างๆ ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA ซึ่งสามารถทำได้โดยการคลิ๊กปุ่มขวาของเมาส์บนหน้าจอกราฟของโปรแกรม MT4 แล้วเลือกที่หัวข้อ Expert Advisors และ Properties จากเมนูที่ปรากฎขึ้นตามลำดับ
การเขียนคำสั่งรับค่าพารามิเตอร์ของ MQL4
ในการเขียนชุดคำสั่งสำหรับรับค่าจากไดอะล็อก Properties ของ Expert Advisors บนโปรแกรม MT4 จะทำได้โดยการใช้คำสั่ง input ตามด้วยชนิดของตัวแปรทีี่ต้องการรับค่า ชื่อตัวแปร เครื่องหมายเท่ากับและค่าเริ่มต้น ซึ่งใน EA ชุดนี้จะมีคำสั่ง Input ทั้งหมดดังนี้
//--- input parameters
input bool UseAutoSelectAsset =True; //กำหนดให้ EA เลือกสินทรัพย์อัตโนมัติ
input bool NoRepleatAsset =True; //ไม่ให้เปิด Order ในคู่เงินซ้ำเดิม
input bool UseTrendReversals =False; //ใช้เงื่อนไขการกลับเทรนในการเปิด order ด่วย
input double MinimumLotSize =0.01; //ขนาดล็อตต่ำสุดที่ต้องการ
input double MaximumRisk =0.05; //เปอร์เซ็นต์ความเสี่ยงที่ยอมรับได้
input double RiskRewardRatio =0.25; //อัตตราการทำกำไร (Take Profit) ต่้อความเสี่ยง 1 หน่วย (Stop Loss)
input int MaxTrade =5; //จำนวนคำสั่งซื้อ/ขายสูงสุด
input double TakeProfit =0; //จำนวน pip ที่ต้องการปิด order เมื่อมีกำไร
input bool UseAutoTakeProfit =True; //กำหนดให้ EA ตั้ง TP อัตโนมัติ
input bool UseTrailingTakeProfit =True; //กำหนดให้ EA เลื่อน TP ห่างออกไปเมื่อราคาเข้าใกล้ TP เดิม
input double StopLoss =250; //จำนวน pip ที่ต้องการปิด order เมื่อขาดทุน
input bool CalculateNewStopLoss =True; //ให้โปรแกรมคำนวน Stop Loss ใหม่
input bool UseCandleTrailingStop =True; //ใช้การทำ Trailing Stop
บทความที่เกี่ยวข้อง