เทคนิคการเทรด

เทคนิคต่างในการเทรด ได้รวบรวมให้กับเทรดเดอร์ไว้ที่นี่


การเขียน EA เบิ้ลล็อต | FxPro Quant

คะแนนโดย admin

เส้น

การเขียน EA เบิ้ลล็อต

(( การเขียน EA โดยใช้ FxPro Quant ))

ในบทความก่อนหน้าเราเขียนเรื่องการเทรดเพื่อตั้งเวลาเทรด และกำหนดให้เทรดเฉพาะเวลาที่เราเลือก ในวันนี้จะเป็นบทความสุดท้ายเรื่องของการเขียน EA เรื่องสุดท้ายเป็นเรื่องแถมให้สำหรับคนที่ต้องการเขียน EA โดยใช้ Fxpro Quant โดยวันนี้เราจะมาเขียน EA ยอดนิยม คือ EA Martingale ครับ สำหรับการเขียน EA Martingale โดยการเขียนโค๊ดจะมีความยากง่ายแตกต่างจากการเขียน โดย Fxpro Quant อย่างไรก็ตามมันก็สามารถเขียนได้ทั้งคู่และสามารถใช้การได้

สำหรับคนที่เขียนโค๊ดไม่เป็นการมี Fxpro Quant จึงช่วยท่านได้ ทำให้ท่านมีตัวเลือกไม่ต้องไปจ้างโปรแกรมเมอร์ และยังสามารถเขียนออกแบบระบบเอง ไม่ต้องไปจ้างเขาแก้คำสั่งให้มันเสียเงินเสียทอง เรียกว่า FXpro Quant นั้นช่วยเราได้มากจริง ๆ สำหรับการทดสอบระบบ เพราะปกติถ้าจะไปจ้างเขียน EA เพื่ดทดสอบระบบจะต้องเสียเงินมากมายและมันไม่จบภายในครั้งเดียวหรอกครับ แถมไม่พอระบบของเราก็จะมีโปรแกรมเมอร์คนหนึ่งหล่ะที่รู้ แล้วถ้าหากว่ามันทำกำไรได้หล่ะ  แล้วเราก็ไม่อยากจะเปิดเผยระบบของเรา นั่นแหละครับข้อดีของ Fxpro

เรามาดูรายละเอียดการเขียน EA Martingale โดยใช้ Fxpro Quant กันซึ่งประกอบด้วย หลักการของ EA Martingale โดยเราจะทำการส่งคำสั่งเฉพาะฝั่ง Buy เท่านั้น และอาจจะไม่ได้ทำการเบิ้ลลอท ไปมากนักโดยอาจจะทำการเบิ้ลเพียงแค่ 3 ชั้น เพื่อแสดงให้เป็นตัวอย่างเท่านั้น

หลักการ Martingale

  1. ส่งคำสั่ง Buy โดยใช้ Stochastic เมื่อ Stochastic อยู่ในพื้นที่ Oversold หรือต่ำกว่าระดับ 20 ซึ่งเป็นจุดที่ราคาถูก และใช้ Time Frame H1
  2. หลังจากนั้น เมื่อเข้าเทรดแล้วปรากกฏว่า ราคายังเคลื่อนไหวไปในทิศทางตรงกันข้ามกับเรา ให้เราส่งออเดอร์ที่ 2 โดยระยะห่างที่เราจะกำหนดให้ส่งออเดอร์ที่ 2 คือ 15 pip ต่ำกว่าออเดอร์แรก
  3. กรณีที่กำไร ถ้าไม่มีออเดอร์ที่ 1 ให้ Close All
  4. กรณีที่เปิดออเดอร์ที่ 2 และ ออเดอร์ที่ 3 และ Equity สูงกว่า Balance กี่เหรียญก็ให้ Close All ซึ่งก็คือหลักการของ EA Martingale ทั่วไป

ต้องแจ้งให้ทราบก่อนว่า เราจะเทรดค่าเงิน EURUSD ใน Time Frame 1 ชั่วโมงและจะทำ Martingale แค่ 3 ชั้นเท่านั้นเพราะว่าการทำเยอะจะทำให้งง สำหรับตัวอย่าง โดยกระบวนการสำหรับการเพิ่มออเดอร์ก็แค่ทำซ้ำกัน ซึ่งคิดว่าไม่จำเป็นและท่านสามารถไปทำเองได้ รวมทั้งออเดอร์ฝั่ง Sell ก็สามารถเขียนคำสั่งฝั่งตรงข้ามและทดสอบเองได้เช่นกัน

การเขียนคำสั่ง

เรามาเริ่มเขียนคำสั่งด้วยคำสั่งแรก โดยให้ Stochastic อยู่ต่ำกว่า 20 แล้วส่งออเดอร์ Buy ออเดอร์แรก และกำหนด Take Profit ไว้ที่ 30 Pip กัน โดยที่จะมี Node ที่เป็นองค์ประกอบดังต่อไปนี้

Stochastic ค่า 7,3,5 สำหรับ Time Frame 1 ชั่วโมง โดยทำการเปรียเทียบว่า ถ้า Stochastic ไม่ว่าเส้น Main Line หรือเส้น Signal Line อยู่ต่ำกว่า 20 จะเปิดออเดอร์ Buy ที่ Lot 0.1 พร้อมกับ Take Profit จำนวน 15 Pip เพราะถ้าไม่ใส่ Take Profit EA จะเปิดออเดอร์เพียงออเดอร์เดียวและไม่มีจุดสิ้นสุดเพราะว่ามันไม่สามารถปิดออเดอร์เองได้

เมื่อเราส่งคำสั่ง Buy และ Take Profit แล้ว คำสั่งต่อไปก็คือ เราต้องเปิดออเดอร์ที่ 2 โดยมีหลักการอยู่ว่า ต้องอยู่ห่างจากออเดอร์แรกจำนว 15 pip เช่นกัน โดยเราจะต้องนำข้อมูลของออเดอร์แรกมาใช้ประโยชน์ ซึ่งเรียกว่า Node Order data

หลักการคือ เมื่อ Bid เคลื่อนไหวต่ำกว่า ราคาเปิดของออเดอร์แรก ลบด้วย 15 ถึงจะให้เปิดออเดอร์ที่ 2 ดังคำสั่งต่อไปนี้

การเปิดคำสั่ง เราต้องทำการแปลงเลข 15 ระยะห่างจากออเดอร์แรกให้เป็นหน่วย pip เสียก่อนโดยเลือก Transform Node จาก Math Basic แล้วทำการแปลงเลขเหมือนกับวงกลมด้านซ้ายในภาพข้างบน แล้วเราก็ลากคำสั่ง Buy มาลงและกำหนดให้มันเรียก Magic No ว่า 2

ในคำสั่งที่ 2 เราทำการ Copy โดยลากคลุมดำ ทั้งโหนดไว้เสร็จแล้วกด CTRL+C และกด CTRL+V มันจะวางโหนดที่เราเป็นชุดคำสั่งของออเดอร์ 2 ไว้ข้างบนทำให้เราไม่ต้องเขียนใหม่ แค่เราทำการเปลี่ยนเลข Magic Number ก็เพียงพอแล้ว  และลากมาวาง เพื่อให้ได้ออเดอร์ที่ 3

หลังจากนั้นเราจะต้องมาเขียนชุดคำสั่งสำหรับปิดออเดอร์ เพราะชุดคำสั่ง 3 ชุดนั้นเป็นชุดคำสั่งเปิดออเดอร์ การปิดออเดอร์นั้นเราจะใช้คำสั่ง Close All เมื่อเงื่อนไขถูกต้อง ถ้าจะเอาง่าย ๆ ก็คือ Equity จะต้องมากกว่า Balance สมมุติว่า 2 USD ก็แล้วกัน เพราะว่า หลักการ Martingale คือการแก้ออเดอร์ที่ผิด กำไรแค่ 2 USD ก็เพียงพอแล้ว โดยมีชุดคำสั่งดังนี้

การปิดออเดอร์จะต้องปิดแยกกันเพราะว่า magic คนละ magic ไม่สามารถข้ามการทำงานได้ โดยหลักการบวก 2 แล้วค่อยปิดหมด ก็คือ เราต้องบวกยอดเข้าไปใน Balance 2 เหรียญและถ้า Equity มากกว่าหรือเท่ากับ 2 เหรียญมันก็จะปิดให้ทันที โดยออเดอร์แรกจะปิดโดย Take Profit ออเดอร์ 2 ปิดโดย Close All เช่นเดียวกับ ออเดอร์ 3

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

 

เส้น


การเขียน EA ตั้งเวลาเทรด | Fxpro Quant

คะแนนโดย admin

เส้น

การเขียน EA ตั้งเวลาเทรด | Fxpro Quant

(( การเขียน EA โดยใช้ FxPro Quant ))

หลังจากที่ได้เขียน EA กันมาแล้วเมื่อวานเราทำการเขียน Lot ของ EA โดยที่ Lot ของ EA นั้นทำการกำหนดจากค่าของ Indicator ที่เรากำหนดได้แก่ Stochastic ซึ่งการกำหนด Lot ของ EA นั้นยังมีอีกหลายแบบ เช่น การเขียน Lot ของ EA โดยใช้หลักการ Martingale ซึ่ง Fxpro Quant ก็สามารถทำได้เช่นเดียวกัน เพียงแต่วิธีการเขียนอาจจะแตกต่างกัน สำหรับบทความวันนี้จะนำเสนอการเขียน EA โดยตั้งเวลาเทรด

การตั้งเวลาเทรดนั้นเป็นที่นิยมสำหรับการเขียน EA ที่มีหลักการเทรดแบบ Scalping เนื่องจากเราต้องการให้มันเทรดเฉพาะช่วงเวลาใดเวลาหนึ่งที่เรากำหนดเท่านั้น  ตัวอย่างเช่น ให้เทรด ตี 5 – 6 โมงเช้าของทุกวันศุกร์ หรือ กำหนดเป็นเวลาช่วงเวลาไหนก็ได้ ตามที่เราต้องการ  หลักการของ EA ประเภทนี้ มี 2 รูปแบบ คือ ต้องการหลบข่าว เพื่อเทรดช่วงใดช่วงหนึ่ง หรือ เพื่อต้องการเทรดช่วงเวลาตลาดที่มีความจำเพาะ เช่น การเลือกตลาดสหรัฐอเมริกา เนื่องจากช่วงตลาดเปิดใหม่จะมีความผันผวนสูง  โดยก่อนที่เราจะเขียน EA เรามาดูหลักการและวิธีการซื้อขาย EA ที่จะใช้สำหรับกลยุทธ์การตั้งเวลาเทรดกันก่อน

หลักการ

เนื่องจาก EA ที่ตั้งเวลาเทรดหมายความว่า ถ้าหากเราไม่ตั้งเวลาเทรดในช่วงอื่น มันจะทำการเทรดบ่อยมากนั่นเอง ผมเลยจะยกตัวอย่าง EA ที่เรากำลังจะเขียนเป็น EA Scalping ซึ่งเทรดตลอดเวลา โดย Time Frame ที่เราเลือก คือ Time Frame 1 ชั่วโมง เพื่อให้เทรดชั่วโมงละ 1 ครั้ง โดยหลักการปิดเปิดออเดอร์จะเป็นดังนี้

  1. Time Frame ที่เลือกคือ 1H ค่าเงิน EURUSD
  2. Indicator สำหรับกำหนดการเทรด คือ Average True Range หรือ ATR
  3. กำหนด Stop loss และ Take Profit แน่นอน แต่ว่า Risk กว้างกว่า Reward
  4. มีการใส่ Trailing Stop เมื่อออเดอร์มีกำไร
  5. มีการปิดเมื่อแท่งเทียน จบแท่ง เพื่อป้องกันไม่ให้มีออเดอร์เลยข้ามวัน
  6. เงื่อนไขการเข้าเทรด คือ MA fast > MA Slow

โดยการเทรดครั้งนี้จะทำเป็นตัวอย่าง  โดยการส่งแค่คำสั่ง Buy เท่านั้น สำหรับคำสั่ง Sell ท่านผู้อ่านสามารถนำไปประยุกต์กลับด้านกันได้

 

การเขียน EA โดย Fxpro Quant

เราจะมาเริ่มตั้งแต่เงื่อนไขแรกไปจนเงื่อนไขสุดท้ายกันเลยครับ

ภาพที่ 1 หลักการเลือกเวลา

ช่วงเวลาสำหรับกราฟที่ใช้คือ 1 ชั่วโมง โดยช่วงเวลาที่ดีคือช่วงเวลาที่มีความผันผวนสูงสุด ซึ่งผมก็ได้ทำ highlight ไว้แล้วว่าช่วงเวลาไหน ซึ่งถ้าหากผู้อ่านได้ทันสังเกตุจะเห็นว่า ในวงกลมสีแดงเป็นรอยต่อระหว่างวันกันทั้งนั้นเลยครับ ดังนั้น นอกจากเราจำกำหนดให้เทรดค่าเงิน EURUSD แล้วและเลือก Time Frame ไว้แล้ว เรายังเลือกใช้ ค่า ATR 14 ที่ Time Frame 1H โดยเลือกช่วงเวลาข้ามวัน ตามวงกลมที่ระบุ โดยกำหนดให้ 4 ชั่วโมงก่อนหน้าและหลังจากวันใหม่ นั่นก็คือเวลา 20 – 4 หรือคิดเป็นเวลา 8 ชั่วโมง โดยเราจะหาจังหวะเข้าเทรดจากระยะเวลา 8 ชั่วโมงนี้

โดยกำหนดในภาพคำสั่งผ่าน Fxpro Quant ดังนี้

ภาพที่ 2 แสดงคำสั่ง is time

เราเลือก Is time Node มาจาก Library และด้านขวามือ ให้เริ่มจาก Start Hour ที่ 20 หรือประมาณ 2 ทุ่มและให้ไปจบที่ตี 4 ซึ่งได้คร่อมเวลาของวันใหม่ไว้แล้ว  โดยเงื่อนไขของการส่งคำสั่ง IS time คือ ถ้าไม่ได้เวลานั้นก็จะไม่มีการส่งคำสั่ง

เงื่อนไขการเข้าเทรดโดย Moving Average

เมื่อเราผ่านเงื่อนการตั้งเวลามาแล้ว เราจะทำการกำหนดคำสั่งโดยใช้ MA fast 5 Day และ MA Slow ใช้ค่า 20 วันเพราะมันคือ 1 อาทิตย์และ 1 เดือนเปรียบเทียบกันพอดี

ภาพที่ 3 แสดงคำสั่งซื้อ

เมื่อเราได้คำสั่งมา 3 ชุดแล้ว สิ่งต่อไปที่เราควรจะต้องทำคือ การใส่ Trailing Stop แต่ถ้าหากท่านสังเกตุให้ดี ใน ออเดอร์ Buy จะเห็นว่า Takeprofit เท่ากับ 5 และ Stop loss เท่ากับ 100 จุด ซึ่งต่างกันมหาศาล

ภาพที่ 4 ภาพแสดงการใส่ Trailing Stop EA

เมื่อเราทำการเขียน EA ได้ครบและใส่ Trailing Stop แล้ว ขั้นตอนต่อไปคือการทดสอบ เพื่อทดลองระบบผ่านการ Back Test แล้วเราจะต้องนำผลการเทรดนั้นมาปรับปรุงให้มันดีขึ้นและทำกำไรได้ต่อไป

รูปที่ 5 ผลการ Back Test

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

 

เส้น


การเขียน EA ปรับ Lot ตามความเสี่ยง | FxPro Quant

คะแนนโดย admin

เส้น

การเขียน EA ปรับ Lot ตามความเสี่ยง

(( การเขียน EA โดยใช้ FxPro Quant ))

ที่ผ่านมาเราเขียน EA มาประมาณ 3 – 4  indicator ที่ใช้ในการเขียน ซึ่งหลายท่านคงพอจะรู้แนวทางและการเขียนไปบ้างแล้วครับ จุดหนึ่งที่เราไม่เคยเปลี่ยนเลยคือ Lot เรามักจะใช้ Lot คงที่อยู่เสมอในการส่งคำสั่ง ซึ่งถ้าหากท่านเป็นคนหนึ่งที่อยู่ในวงการ Forex มาพอสมควร ต้องรู้ว่า การใช้ Lot นั้นจะต้องเป็นไปตามการจัดการการเงินเพื่อลดความเสี่ยง  ไม่ว่าจะเป็นการส่งแบบ Fixed Lot หรือ Fixed percent หรือการส่งตามความเสี่ยงของการเทรด

วันนี้เราจะมาพูดถึงการส่ง Lot ที่เป็นไปตาม Indicator ซึ่งหลักการมีอยู่ว่า ถ้าหาก indicator สามารถใช้บอกโอกาสที่จะกลับตัวได้ ก็จะสามารถใช้มันบอกความเสี่ยงได้เช่นเดียวกัน ตัวอย่าง indicator ที่เป็น Oscillator ทั้งหลาย เช่น Relative Strength Index  Stochastic Oscillator เป็นต้น เนื่องจากว่าตัวอย่างของ indicator ทั้งสองตัวนั้น วัดเทรนด์ออกมาในรูปแบบ Overbought และ Oversold โดยกำหนดเป็น % เช่น การเทรดต่ำกว่าค่า 20 เป็นสัญญาณ Oversold เพราะมีคนขายมากไป จึงเป็นการบอกว่ามีโอกาสสูงที่จะกลับตัว ถ้าหากเราบอกว่า ในจุดที่โอกาสสูงที่จะกลับตัวเราก็ส่ง Lot ขนาดใหญ่ และโอกาสต่ำเราก็ส่ง Lot เล็ก ๆ หล่ะ จะเป็นอย่างไร เดี๋ยวผมจะอธิบายเป็นภาพประกอบ

ภาพที่ 1 หลักการเขียนคำสั่ง ปรับ Lot EA

จากภาพข้างบน เราจะส่งคำสั่งขนาด Lot ขนาดใหญ่เมื่อ Stochastic มีค่าลดลง สำหรับออเดอร์ Buy และไม่ส่งเลย หรือส่งน้อยเมื่อ Stochastic มีค่าส่งูงขึ้น ในทางกลับกัน สำหรับ Order Sell ถ้า Stochastic มีค่าสูงขึ้นก็จะส่งออเดอร์ขนาดใหญ่ขึ้น โดยเราจะมาดูวิธีการเขียน คำสั่งใน FXpro Quant กัน โดยเราจะใช้ EA ตัวเมื่อวาน ก็คือ EA เข้าคำสั่งเทรดโดยใช้ Stochastic และ RSI

 

หลักการเขียนคำสั่ง

ในการเขียนคำสั่ง สำหรับ Stochastic สำหรับ Order Buy เราจะทำให้ค่า Buy มีขนาด Lot ขนาดใหญ่ก็ต่อเมื่อ Stochastic อยู่ระดับ Overbought ที่ 20 หมายความว่า 20 คือค่าที่สูง การจะทำให้ค่าน้อยสูงได้ ก็ต้องลบออกจากค่าเต็มของมัน เนื่องจาก Stochastic เป็น Indicator ที่มีค่าเป็น Percent ทำให้ค่าสูงสุดของมันคือ 100 ดังนั้น เราจึงใช้ 100 – ด้วย Stochastic เมื่อได้ค่าหนึ่งมา เราก็ทำให้มันเป็นเปอร์เซ็นต์โดยการหารด้วย 100 เมือ่ได้ % มาเราก็นำมาคูณกับค่า Lot ที่เราอยากให้มันเป็นตัวอย่างเช่น Lot สูงสุดเท่ากับ 1 เป็นต้น ดังตัวอย่างดังต่อไปนี้

  • ค่า Stochastic = 20
  • ค่าที่ได้จากการคำนวณ = (100 -20 )/100 = 0.8
  • ค่าสูงสุด คูณค่าที่ได้จากการคำนวณ = 1x 0.8 = 0.8

ทำให้ค่าในการคำนวณ Lot ของเราสูงเมื่อ Stochastic ลงต่ำ และเมื่อ Stochastic ขึ้นสูงถึง 80 ก็จะทำให้มันส่ง Lot ขนาดเล็กลง โดยเราจะมาดูการเขียนคำสั่งดังนี้

ภาพที่ 2 การเขียน EA ปรับ Lot ตามความเสี่ยง

จะเห็นว่า คำสั่ง ให้ปรับ Lot จะเริ่มจากนำค่า 100 – Stochastic ตามที่ได้กำหนดไว้ในหลักการ หลังจากนั้นเราก็นำค่าที่ได้ไปหารด้วย 100 ทำให้ได้ค่าเป็น Percent ขึ้นมา และนำค่านั้นไปคูณกับ Lot 1 ซึ่งเป็นค่าสูงสุดและเชื่อมเข้ากับคำสั่ง Buy ดังรูป

ภาพที่ 3 การกำหนด Lot EA

เมื่อเราได้ทำการกำหนด Lot EA ของเราเสร็จแล้วขั้นตอนต่อไปคือการทำการทดสอบว่า เงื่อนไขเป็นไปตามที่เราได้วางแผนไว้หรือไม่ โดยทำการ Back Test EA แล้วดูลักษณะของ Lot ที่ปรากฏในการส่งคำสั่ง จะต้องเป็นไปในทิศทางเดียวกัน

ผมลืมบอกไปว่า ค่าเงินที่ใช้ทดสอบและ Time Frame ใช้ทดสอบ คือ 1H โดยผลทดสอบที่ได้มีดังนี้

ภาพที่ 4 ขนาด Lot ของ EA

จากภาพข้างต้นจะเห็นว่าขนาดของ Lot มีการแปรผันตั้งแต่ 0.9 ไปจนถึง 0.1 ซึ่งถือว่าการเขียนคำสั่งประสบความสำเร็จ โดยเมื่อเรามาดูผลการเทรดซึ่งแสดงดังภาพต่อไปนี้

ภาพที่ 5 ผลการเทรดเมื่อปรับ Lot EA

ในภาพสิ่งที่ท่านจะสังเกตุได้คือ Lot ในแท่งสีเขียวด้านล่าง ซึ่ง Lot แรกมีขนาดใหญ่ทำให้ความชันของการเติบโตของพอร์ทเพิ่มสูงขึ้น ขณะที่ Lot ที่ 2 มีขนาดเล็ก Lot ที่ 3-9 เป็นการปิดออเดอร์รวมกัน ทำให้การเติบโตของพอร์ทขึ้นชันสูงมาก

อย่างไรก็ตาม จากภาพข้างต้น ยังไม่สามารถยืนยันอะไรได้ สิ่งที่ต้องทำคือทำการเปรียบเทียบกับ EA ที่ใช้ Lot คงที่ เช่น เราสามารถส่ง Lot เท่ากับ 0.5 เป็น Lot กึ่งกลางระหว่าง 1 นั่นเอง โดยสิ่งที่ต้องทำการเปรียบเทียบคือ ผลตอบแทนที่ได้ และ Maximum Drawdown เพื่อดูว่า ตัวไหนให้ผลตอบแทนมากกว่ากันและตัวไหนให้ความเสี่ยงที่น้อยกว่ากัน เมื่อเราได้ผลมาแล้วเราก็จะรู้ว่าควรจะใช้การจัดการ Lot แบบไหนในการส่งคำสั่ง

สำหรับท่านที่อ่านมาถึงบทความนี้ ท่านสามารถลองเอา EA จากบทความก่อนหน้าของผม มาผสมรวมกันเพื่อสร้าง EA ของตัวเองขึ้นมาได้ครับ

 

เส้น


การเขียน EA ผสมผสาน Indicator | Fxpro Quant

คะแนนโดย admin

เส้น

การเขียน EA ผสมผสาน Indicator

(( การเขียน EA โดยใช้ FxPro Quant ))

ในวันนี้ผมจะมายกตัวอย่าง EA ที่ไม่ได้ตั้ง Stop loss อีกหนึ่งตัว เป็น EA เทรดตามเทรนด์ หรือ Trend Following โดยใช้ Indicator ยอดนิยมอย่าง Stochastic และ RSI ผสมผสานกัน ซึ่งก็จะคล้ายคลึงกับบทความก่อน

หลักการของ EA ตัวนี้คือ ใช้ Stochastic เป็นตัวกำหนดเทรนด์ หรือกำหนดทิศทางการเข้าเทรด โดยบอกว่า ตอนนี้ สถานการณ์นี้เป็นขาขึ้น หรือขาลง ขณะที่จุดเข้าเทรด เราจะใช้ RSI ในการบอกสัญญาณเข้าเทรด โดยหลักการเทรดจะมีดังนี้

  1. ใช้ Stochastic Oscillator เป็นตัวกำหนดทิศทางเข้าเทรด เนื่องจาก Stochastic Oscillator เป็นตัวให้สัญญาณที่เคลื่อนไหวในการเปลี่ยนทิศทางช้า ทำให้ทิศทางในการเทรดค่อนข้างแน่นอน โดยเราใช้ Time Frame สำหรับการเข้าเทรด เพื่อกำหนดทิศทางที่ Daily Chart ขณะที่เราก็จะทำการกำหนดจุดเสี่ยง คือจุดที่ไม่ควรเทรดโดยอย่างยิ่ง โดยใช้หลักการ Overbought และ Oversold ในการบอกว่า จุดไหนที่มีความเสี่ยงสูงและไม่ควรเทรดเป็นต้น

ส่วนการตั้งค่า Indicator สำหรับ Stochastic เราจะใช้ ค่า 7,3,5 โดยจะใช้ราคาคำนวณคือ Close/Close เพื่ออ้างอิงราคาปิดของ indicator ในการคำนวณ ขณะที่ MA Method คือวิธีการ Simple

ภาพที่ 1 แสดงการตั้งค่า Stochastic

เมื่อเราใส่กราฟเข้าไปแบบ Close จะทำให้ราคาและ Stochastic มีความสมูทขึ้นทำให้จัดการเทรนด์ได้ดีขึ้น ดังภาพต่อไปนี้

ภาพที่ 2 แสดงการเคลื่อนไหว Stochastic

สังเกตุราคาในกรอบ 4 เหลี่ยมที่ทำการ High Light จะเห็นว่าการเคลื่อนไหวของ Stochastic มีแพทเทิร์นที่ขึ้นลงชัดเจน ตามกรอบของ Overbought และ Oversold เมื่อเรากำหนดให้เทรนด์ Daily แล้วเราก็สามารถลงไปเทรดสัญญาณซื้อขายใน Time Frame ที่ต่ำกว่า นั่นก็คือ 1 ชั่วโมง โดยใช้ RSI

  1. การตั้งค่า RSI

สำหรับการตั้งค่า RSI Indicator เราจะใช้ค่า RSI ที่เปลี่ยนค่อนข้างเร็ว ซึ่งค่าที่เหมาะสม คือ RSI 3 โดยหลักการคือ ถ้าหากว่าเกิดสัญญาณ Oversold ใน RSI Time Frame 1 ชั่วโมง โดยต่ำกว่าระดับที่กำหนดคือ Level 10 ให้ส่งคำสั่ง Buy และในฝั่งตรงข้ามคือ RSI มีค่าสูงกว่า 90 ให้ส่งคำสั่ง Sell  แต่เนื่องจาก ค่า RSI เป็นค่า Indicator ที่เร็ว เราจึงกำหนด Overbought Oversold ไว้ค่อนข้างสุดโต่ง อย่างที่ได้กล่าวไปนั้น สำหรับคนที่คิดว่า มันทำให้เกิดโอกาสการซื้อขายยาก ท่านสามารถปรับค่าให้เป็น 20 -80 ได้ โดยไปปรับที่ตัว parameter ดังภาพต่อไปนี้

ภาพที่ 3 แสดงการตั้งค่าระดับ overbought oversold ของ RSI

 

  1. เงื่อนไขของการเข้าเทรด RSI คือ การส่งสัญญาณเทรดที่เร็ว ขณะที่ เทรนด์ของ Stochastic ที่เคลื่อนไหวเปลี่ยนทิศทางช้า ทำให้การส่งออเดอร์ช่วงพักฐานของ Stochastic เกิดขึ้นได้ โดยหลักการสามารถอธิบายดังภาพต่อไปนี้

การเขียน EA ผสมผสาน Indicator | Fxpro Quant

ภาพที่ 4 แสดงหลักการเข้าเทรด

ผมได้ทำการจำลองเส้น Stochastic ให้เหมือนจริง ซึ่งเป็น Time Frame ที่ใหญ่กว่า RSI เนื่องจากเป็น Time Frame ที่เล็กกว่า ดังนั้นเราคาดหวังว่า RSI จะเคลื่อนไหวแกว่งขึ้นลงในเทรนด์ของ Daily และเราจะอาศัยเข้าเทรดในช่วงพักฐาน และทำกำไรเป็นช่วง ๆ ไปเท่านั้น โดยเราจะนำหลักการนี้ไปเขียนเป็น EA โดยใช้ Fxpro quant ต่อไป

 

การเขียน EA โดยใช้ Fxpro Quant

ในการเขียนคำสั่ง เราจะเขียนตามค่าที่กำหนดไว้ในหลักการเทรด และค่าเงินที่เราเลือกคือ ค่าเงิน EURUSD โดยผมจะทำการส่งคำสั่งเฉพาะออเดอร์ Buy เท่านั้น ส่วน Order Sell ท่านผู้อ่านสามารถนำไปประยุกต์ในทิศทางตรงกันข้ามได้

กรอบสีเหลี่ยมสีแดงเป็นกลุ่มคำสั่งที่ใช้ในการส่งคำสั่ง ซึ่งมี Stochastic ในกราฟ Daily โดยใช้เส้น main line มากกว่า เส้น Signal Line และเราใช้เงื่อนไข First Tick ในการส่งคำสั่ง หลังจากนั้นเราใช้ RSI น้อยกว่า 10 เป็นตัวกำหนดจุดเข้า

ส่วนเงื่อนไขการปิดมี 2 เงื่อนไข คือ การใช้ Stochastic ในกราฟ Daily กำหนดจุดออกเมื่อ กราฟ Stochastic สูงกว่า 80 และออเดอร์ทั้งหมดทำให้พอร์ทลงทุนกำไร เราถึงจะทำการปิดออเดอร์

ภาพที่ 6 แสดงชุดคำสั่งปิดออเดอร์

จากภาพจะเห็นชุดคำสั่งในการปิดออเดอร์ประกอบด้วย Stochastic กราฟ Daily สูงกว่า 80 เมื่อพอร์ทโดยรวมกำไร และ มีคำสั่ง First Tick ถึงจะทำการปิดออเดอร์ ซึ่งเราจะทำการ Back Test และมาดูผลการเทรดกันว่า จะสามาถปรับปรุงตรงไหนได้บ้าง

ภาพที่ 7 ผลการ Back Test

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

ภาพที่ 8 แสดงผลการทดสอบระบบ

โดยในภาพที่ 8 จะเห็นว่า Maximum Drawdown สูงถึง 18 % ขณะที่กำไรสูงสุดเท่ากับ 11 % แม้ว่ากำไรสุทธิอาจจะแค่ 3 % แต่อย่าเพิ่งนับเพราะว่า มีการปิดเมื่อ EA ทดสอบยังใม่เสร็จสิ้น ซึ่งเมื่อค่า ความเสี่ยงมากกว่ากำไรสิ่งที่เราควรทำคือ การจูนหาค่าที่เหมาะสมของ Indicator ที่ให้ Drawdown น้อยที่สุด

เส้น


การเขียน EA Overbought Oversold | FxPro Quant

คะแนนโดย admin

เส้น

การเขียน EA Overbought Oversold

(( การเขียน EA โดยใช้ FxPro Quant ))

หลังจากที่เขียน EA ที่มี Stop loss มา 1 ตัว ผู้อ่านคงทราบแล้วว่า การเขียน EA ที่ใช้ Stop loss มันไม่ได้ขึ้นอยู่กับ การใช้ indicator สักเท่าไหร่นัก เพราะว่า การสวนกันของ Indicator ที่เคลื่อนไหวไม่สอดคล้องกัน Indicator พยายามที่จะปรับการเคลื่อนไหวของราคาให้เรียบ เพื่อให้ตีความเรื่องเทรนด์และด้านอื่น ๆ ได้ง่าย ขณะที่ การใช้ Stop loss การเคลื่อนไหวของราคาไม่ได้เป็นไปตามเงื่อนไขที่เราคิดมากนัก มีการแกว่งตัวของตลาด ซึ่ง บางครั้งทำให้การเทรดของเราชน Stop loss ไปกก่อนที่จะทำกำไรได้ ทั้ง ๆ ที่เทรดถูกทางก็มี

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

หลักการ

หลักการเขียน EA ที่เราต้องทราบก่อนเลยก็คือ องค์ประกอบของการเทรด ซึ่ง ในครั้งนี้เราจะกำหนดให้ใช้ Lot คงที่ไม่มีการตั้ง Stop loss หรือว่า Take Profit แต่อย่างใด แต่มีจุดเข้าและออกตาม indicator นั่นเอง

โดยหลักการชี้ทิศทางของ EA คือ ใช้ Time Frame ใหญกว่ากำหนดทิศทางในการเทรด เช่น Time Frame Daily เป็นตัวบอกว่าควรจะ Buy หรือ Sell ขณะที่การส่งคำสั่งเทรดนั้นจะใช้  Time Frame 1H  เมื่อเราคุมจังหวะเทรดแล้วเราก็จะกำหนด Indicator ที่ใช้

ในที่นี้ผมจะใช้ Indicator Stochastic ทั้งคู่ในการส่งคำสั่ง โดยค่าที่ผมใช้คือค่าเดียวกัน แต่ต่างกันแค่ Time Frame เท่านั้นครับ

เงื่อนไขการ Buy

จะ Buy เมื่อ เส้น main line มากกว่า Signal line ขขของ indicator Stochastic ใน Time Frame Daily และ Stochastic ใน Time Frame 1H อยู่ต่ำกว่าเส้นระดับ 20 หรือเกิดสัญญาณ Oversold เท่านั้น มันคือจังหวะพักฐานในเทรนด์นั่นแหละครับ

ในภาพข้างต้น เป็นภาพ Time Frame Daily ผมใส่ค่า Indicator 7,3,5 เข้าไป จะเห็นว่าการเคลื่อนไหวของ Stochastic เป็นคลื่นสอดคล้องกับ การเคลื่อนไหวของราคาที่เป็นคลื่น และช่วงที่เส้นสีฟ้า อยู่สูงกว่าเส้นสีแดง ที่ผมใช้เส้นตั้งสีเหลืองกำกับไว้ คือ ช่วงที่เราสนใจครับ มันคือช่วงที่เราจะส่งสัญญาณ Buy สำหรับใครที่ต้องการส่งสัญญาณ Sell ก็ใช้สัญญาณตรงกันข้ามได้เลยครับ

เมื่อเราเลือกทิศทางได้แล้วเรามาดูการเลือกจังหวะกันครับ ผมจะซูมเข้าไปในช่วงเวลาของแถบสีเหลืองใน Time Frame Daily กำกับอยู่

เงื่อนไขการทำกำไร

เมื่อเราได้จังหวะเข้าเทรดมาแล้ว เราก็ต้องหาจังหวะออกจากการเทรด โดยจังหวะการออก ก็คือ จังหวะที่ Stochastic ของ Time Frame 1H เคลื่อนไหวถึงจุด Overbought หรือ จุดระดับที่ 80

ในภาพข้างบน จะเห็นว่า มีเส้นสีเหลือง 2 เส้น นั่นคือกรอบขาขึ้นที่เราวางเส้นไว้ แล้วเราก็มาหาจังหวะ Buy ใน Time Frame 1H เพื่อที่จะหาจังหวะส่งคำสั่ง โดยใช้ Indicator ตัวเดิม คือ Stochastic ค่าเดิมใน Time Frame ททที่ต่างกัน

จุดสีเหลืองคือจุดเข้าเทรด จุดสีแดงคือจุดออกจากการเทรด  เมื่อเราเข้าจุดสีเหลือง จะปิดก็ต่อเมื่อมันเกิน ระดับ Oversold

เริ่มเขียนกันเลย

เงื่อนไขการเขียนที่สำคัญอันหนึ่งที่ต้องเพิ่มคือ การเปิดหลายออเดอร์ โดยใช้แท่งเทียน เมื่ออยู่ต่ำกว่าระดับ 20 เราจะใช้การเปิดแบบค่าเฉลี่ยเหมือนที่เคยเขียนที่ผ่านมา ดังภาพรวมคำสั่งดังต่อไปนี้

รูปข้างต้น เป็นการแสดงเงื่อนไขการเข้าเทรด Buy โดยกรอบสีเหลืองคือ คำสั่ง การบอกว่า เมื่อไหร่ควร Buy และกรอบสีเขียวคือ กรอบ Time Frame 1H ที่ใช้บอกจังหวะว่าควร Buy ช่วงไหนบ้าง โดยคำสั่ง ที่จะให้ทำปิดออเดอร์ เป็นการปิดเมื่อบัญชีมีกำไร และราคาอยู่ระดับที่สูงกว่า Overbought ดังภาพต่อไปนี้

ในภาพมีเงื่อนไขการปิด 2 เงือ่นไข กลุ่มสีเหลือง ผมตั้งให้ Equity มากกว่า Balance นั่นคือออเดอร์เทรดกำไร ขณะที่กลุ่มสีเขียว คือ ผมตั้งให้ Stochastic นั้นสูงก่า Overbought Level เมื่อเรานำระบบไป Back Test ทดสอบที่ Time Frame 1 H แล้วมาดูผลกันว่าจะเป็นอย่างไรกันบ้าง

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

จะเห็ฯว่า มีช่วงหนึ่งที่ มีเส้น Balance โดดออกจากเส้น Equity เพราะว่า มันมีออเดอร์ค้างอยู่และไม่สามารถปิดได้ หลังจากนั้นเส้นใกล้เคียงกันมาตลอด และทำกำไรได้ 41 เหรียญในระยะเวลา 1 ปี แต่ผมใช้ Lot แค่ 0.1 lot เท่านั้น ซึ่งน้อยมากเมื่อเทียบกับทั่วไป กับ Balance 1 หมื่นบาท เรามาดู Draw Down ว่าออเดอร์ที่ค้างนั้นคิดเป็นเท่าไหร่ของกำไร

Maximum DD เท่ากับ 0.52 % ขณะที่กำไร 41 เหรียญ หรือ 0.41% นั่นก็คือ Draw Down นั้นมากกว่ากำไรที่ทำได้ นั่นคือ Risk : Reward ของ EA ตัวนี้นั้น Risk สูงกว่า Reward ต้องมีกการปรับจูนอีกมากครับ

อย่างไรก็ตามเดี๋ยวเรามาติดตามเนื้อหาต่อไปในวันพรุ่งนี้ครับ วันนี้คงต้องฝากทุกท่านเขียน EA ของตัวเองขึ้นมาสักตัว

 

เส้น


การเพิ่ม Function อื่น ๆ ให้กับ EA | FxPro Quant

คะแนนโดย admin

เส้น

การเพิ่ม Function อื่น ๆ ให้กับ EA

(( การเขียน EA โดยใช้ FxPro Quant ))

เรากำลังพูดถึง EA ที่เราเขียน เมื่อวาน ซึ่งเป็นการส่งคำสั่ง Long Only และใช้ First Tick เป็นเงื่อนไขเพียงเงื่อนไขเดียวสำหรับการส่งคำสั่ง โดยมี Stop loss ซึ่งการมี Stop Loss ทำให้เราต้องนึกถึง Risk Reward และ Win percent เข้ามาโดยปริยาย เพราะว่า หลักการเทรดแบบนี้มันบังคับด้วยตัวมันเอง

โดยในวันนี้ ผมก็จะมาพูดถึงการ Modified EA ตัวเมื่อวาน โดยการปรับให้ผลขาดทุนน้อยลง โดยสิ่งที่เราจะทำการปรับปรุงเพิ่มเติมวันนี้ ประกอบด้วย การใส่ Trailing Stop และการปรับขนาดการลงทุน นั่นคือ Money Management นั่นเอง

สองสิ่งนี้มีความสำคัญอย่างไร? เพราะว่า Trailing Stop จะสาสมารถป้องกันเราจากเหตุการณ์ ที่ออเดอร์กำลังกำไรและเปลี่ยนเป็นขาดทุน ทำให้เรากำไรน้อย มากกว่าที่จะขาดทุน ขณะที่เราจะเอา Take Profit ออก เพื่อ Lot Profit run และปล่อยให้ชน Trailing Stop เอาเอง  เมื่อเราได้กำไรมากและกำไรน้อย บางครั้งมันจะชดเชยกันเอง  ทำให้ Risk Reward เป็นไปตามเงื่อนไขการเข้าเทรดของ EA เท่านั้น

การจัดการขาดการลงทุน เป็นการชะลอการขาดทุนทำให้พอร์ทขาดทุนลงช้า และเวลากำไรก็เพิ่มขึ้นอย่างรวดเร็วเช่นกัน ซึ่งการจัดการการเงินจะทำให้กำไรของเราเพิ่มขึ้นได้ ทั้ง 2 กระบวนการมีเทคนิคที่เรียบง่าย และเข้าใจได้ ใคร ๆ ก็ทำได้ โดยเราจะเริ่มกันที่การใส่ Trailing Stop ก่อน

 

Trailing Stop

สำหรับการใส่ Trailing Stop นั้น ทำได้ไม่ยาก และเราจะเริ่มกันด้วย EA ตัวเมื่อวาน

ในภาพจะแบ่งเป็นสองกลุ่ม  โดยเราจะพูดถึงกลุ่มด้านล่างก่อน นั่นคือ กลุ่ม Trailing Stop โดย Node ของ Simple Trailing Stop ก็สามารถหาได้จากแถบ Libraries ด้านขวามือล่าง โดยผมทำการ ดึงค่า INPUT เอามาใส่และตั้งชื่อใหม่ว่า TL(Point) นั่นคือ Trailing Point นั่นเอง เพื่อให้สะดวกต่อการปรับค่าเวลาทำ Back Test และผมทำการดึง Magic Index เข้ามาต่อกับ Trailing Stop แค่นี้ก็จะทำให้มันรู้ว่าจะต้องไปส่งคำสั่ง Trailing กับออเดอร์ไหนก่อน

โดยผมเลือกตั้งค่า Stop loss ให้เท่ากับ 20 Pip ส่วน Trailing Stop ตั้งค่าไว้ที่ 150 Point เพราะมันตั้งค่าเป็น Point ได้อย่างเดียว สำหรับ 150 Point ก็คือ 15 pip แล้วเราจะพูดถึงการจัดการ Lot ก่อนจะไปสู่การทำ Back Test

การจัดการ Lot

ในกราฟ ผมใช้ ข้อมูลจาก Node ที่เรียกว่า Account แล้วเลือกให้มันดึงค่า Balance ผมใช้ Balance หารด้วย 1000 ซึ่งทำให้ Lot ที่ได้เท่ากับ 1 อย่างไรก็ตาม ถ้าหากว่า Balance ลดต่ำลงจากการขาดทุน การหารด้วย 1000 อาจจะทำให้ตัวเลขกลายเป็นเศษทศนิยม เช่น 9.837 ซึ่ง บางโบรคเกอร์ไม่ได้ยอมรับเงื่อนไขของการส่งออเดอร์ ต่ำกว่า 0.1 ด้วยซ้ำ (แล้วแต่ประเภทของบัญชีอีกด้วย) ซึ่งเพื่อป้องกันเหตุการณ์ดังกล่าว จึงทำการ Round ทำให้มันเป็นตัวเลขกลม ๆ เช่น 9873/1000 = 9.873 เมื่อเราทำการ Round ก็จะเหลือ เพียง 9 เท่านั้น หรือถ้าเกิน 5 ก็จะปัดเศษเป็น 10 ทุกครั้ง

เมื่อผมใช้ Balance หารด้วยจำนวน 1000 ผมจะได้ Lot จำนวนหนึ่งแต่ถ้า ผมขาดทุน จำนวน Balance ก็จะลดลง เมือ่ Balance ลดลง เราไม่ได้ลดตัวหาร ทำให้ขนาด Lot ลดลง ตามไปด้วย ตรงกันข้ามกันถ้าเราทำกำไรได้ Balance เราจะเพิ่มขึ้น แต่ถ้าช่วงแรกขาดทุน การจะพลึกกลับมาทำกำไรถือว่าเป็นเรื่องยากพอสมควร การใช้วิธีนี้เป็นการใช้ Lot ที่มีประสิทธิภาพพอสมควร และแทบจะเรียกได้ว่า ดีที่สุดในการเทรดแล้ว

เราจะมาดูผลการ Back Test ในกราฟ EURUSD กับ Time Frame 1 ชั่วโมงดูว่าผลจะเป็นอย่างไร

กราฟข้างต้น แสดงผลขาดทุน 4101 USD และ Win percent เท่ากับ 44.56 ขณะที่ Risk Reward เท่ากับ 4.61: – 5.11 นั่นหมายความว่า ทั้ง Risk Reward ที่สูงแล้ว ยังเจอกับ Win percent ที่ต่ำกว่าครึ่งอีก

จากกราฟ จะเห็นว่า มีบางช่วงได้กำไร ขณะที่ส่วนใหญ่จะขาดทุน ขนาด Lot ในกราฟ มีการลดหลั่นลง ค่อย ๆ ลด ไม่ได้มีขนาด Lot คงที่ ซึ่งเป็นไปตาม Balance ยิ่งมีน้อยก็ส่ง  Lot น้อย แต่เพื่อให้บรรลุวัตถุประสงค์ เราจะทำการปรับ Time Frame ขึ้น และ ลด Trailing sTop ลง โดย Concept ก็คือ เนื่องจากกรอบการเคลื่อนไหวของ Time Frame ต่ำนั้นแคบกว่า เมื่อเปิดออเดอร์จึงเป็น Spread ไปกว่า 20 percent ต่อออเดอร์ เมื่อเราปิดออเดอร์ เราก็จะขาดทุน Spread ดังนั้น เราจึงทำการขยับขึ้นไป 1 Time Frame เพื่อให้สัดส่วน Spread น้อยลง และลด Trailing Stop 2 ปัจจัยนี้ โดยเริ่มจากการขยับ Time Frame ก่อนว่า จะดีขึ้นหรือไม่

ผลของการขยับ Time Frame  ขึ้นทำให้กำไรขยับขึ้น โดยช่วงแรกมีกำไรขณะที่ช่วงหลัง ๆ ของกราฟขาดทุน ซึ่งเราจะทยอยแก้ไข มันไป

 

โดยการ Back Test ใน Time Frame 1H นั้น ขาดทุน ขณะที่เมื่อย้าย Time Frame เข้ามาเทรด Time Frame ที่ใหญ่กว่าเดิมทำให้ผลการเทรดดีขึ้น จนเมื่อเปลี่ยนมาเทรด Time Frame Daily ผลการเทรด เป็นไปตามภาพข้างล่างนี้

โดยผมได้ชี้แจงว่า นั่นเป็นเพราะว่า สัดส่วน กำไรขาดทุน ต่อ Spread ซึ่งเป็นอำนาจต่อรองของ Broker นั้นได้ลดน้อยลงไปใน Time Frame ใหญ่ ๆ การขยับเขยื้อนเพียงเล็กน้อยก็ทำให้เกิดกำไรได้ อย่างไรก็ตาม ผมได้เพิ่มความเห็นไว้ว่า อย่าเพิ่งได้นำ EA แบบนี้ไปใช้งาน นั่นเพราะว่า มันเป็น EA ที่เข้าเทรดมั่ว ๆ ยังกำไร หมายความว่า จริง ๆ แล้วเราไม่รู้เลยว่า เหตุผลที่มันกำไรนั้นคืออะไร อะไรก็ตามที่เราไม่เข้าใจมัน มันคือความเสี่ยง ความไม่รู้จริง

หลายคนอาจจะไม่เชื่อ เดี๋ยวผมจะทำให้ดู  วันนี้เราจะมาดูในเรื่องของการเทรดใน Model นี้ต่อ โดยผมจะทำการเปลี่ยนเงื่อนไขเพียง 1 เงื่อนไข นั่นคือ การเปลี่ยนจากการส่ง Buy กลับมาเป็น Sell โดยการส่ง First Tick เหมือนเดิมกับการส่ง Buy เพียงแค่กลับด้านเท่านั้น ซึ่งถ้าหากว่าเป็นเพราะว่า First Tick นั้นมันได้ผล การส่งคำสั่ง Sell ก็ย่อมจะสามารถทำกำไรได้เช่นเดียวกัน

เป็นอย่างไรครับ Time Frame เดียวกัน และช่วงเวลาที่ใช้ Back Test เดียวกัน แต่ต่างกันที่มันเป็น order Sell อย่างเดียว สร้างความแตกต่างได้มหาศาล ออเดอร์ที่กำไรในฝั่ง Buy กลับไม่สามารถทำกำไรได้ในฝั่ง Sell นั่นก็เพราะว่า เราไม่รู้ว่าทำไม EA ถึงทำกำไรได้ในฝั่ง Buy มันยังมีแบบนี้อีกหลายกรณี จริง ๆ แล้ว ไม่ยากเลยครับ ไม่ว่า EA ตัวไหน หรือว่าระบบเทรดระบบไหน สิ่งที่คนเขียน EA หรือ คนเทรดควรทำอันดับแรกก็คือ ทำไมมันถึงขาดทุน และทำไมมันถึงกำไร ส่วนใหญ่แล้วคนเขียน EA ก็แค่บอกว่า มันไม่กำไรเท่านั้นเอง แต่ไม่ได้บอกว่า ทำไมถึงไม่กำไร ซึ่งมันทำให้เราต้องเสี่ยงกับสิ่งที่เราไม่รู้จัก  ในการเทรดนั้น ความเสี่ยงคือ ภาวะที่ไม่ได้เป็นไปอย่างที่คิด แม้ว่าจะกำไร ก็ยังเสี่ยงอยู่ดี  นั่นก็คือสภาวะที่เรากำลังเผชิญอยี่นี่แหละครับ เรียกว่า เสี่ยง

สิ่งที่เราควรทำเข้าใจคืออะไร?

จะเห็นว่า การที่เราขาดทุนนั้น คือ การที่ Order นั้นชน Stop loss มากกว่า การทำกำไรได้ นั่นเพราะเราเข้ามั่ว ๆ ดังนั้น สิ่งที่เราควรทำความเข้าใจคือ การเข้าเทรดครับ หลายคนบอกว่า ไม่เห็นจะยาก งั้นก็เอา indicator เข้าใส่ไปสิ ก็จะสามารถเทรดได้ตรงเทรนด์แล้ว ผมคงต้องบอกว่า มันไม่ได้อย่างนั้นครับ

เอาจริง ๆ เลยผมต้องบอกว่า Indicator ส่วนใหญ่ ใช้ไม่ได้ผลเพราะว่าคนใช้มักจะใช้มันผิดวัตถุประสงค์นั่นเองครับ อย่าลืมว่า Indicator ส่วนใหญ่นั้นทำให้ราคาเคลื่อนไหวเป็นเส้นตรงเสียเป็นส่วนใหญ่ ขณะที่จริง ๆ แล้วราคาไม่ได้เคลื่อนไหวเป็นเส้นตรง และมีลักษณะยึกยือ  การใช้ Indicator สำหรับประเด็นเข้าเทรด นั้นผมบอกได้เลยว่าไม่ตอบโจทย์ แต่ถ้าใช้ indicator ใช้สำหรับบอกทิศทางก็อาจจะถูกอยู่ไม่มากก็น้อยครับ

อ้าว!!! งั้นก็เพียงพอแล้วนีน่ เราแค่รู้ว่า Buy หรือ Sell ก็พอแล้ว ก็ต้องบอกอีกว่าไม่พอครับ การเข้าเทรด ถูกทางแต่ไม่ถูกราคาจะทำให้เราชน Stop loss ก็มีครับ เพราะว่า แม้ว่าเราจะเข้าฝั่งถูก แต่ว่าเมื่อมันพักฐาน มันก็แกว่งโดน Stop loss ของเราเช่นกัน ดังนั้นปัญหานี้มันยากกว่าที่คิดมากครับ เรามาดูก่อนว่า เราควรจะปรับอะไร ดังนี้ครับ

สิ่งที่เราสามารถปรับได้ มีเพียง 2 อย่างเท่านั้นครับ นั่นก็คือ Win Percent ใน สี่เหลี่ยมสีแดง และ Risk Reward ใน สี่เหลี่ยมสีเขียว แล้วทำไม Risk Reward เปลี่ยน ในภาพ Risk Reward มันมาจากการที่ปิดกำไรขาดทุนเฉลี่ยได้เท่าไหร่ และ Win % ก็เช่นเดียวกัน ซึ่งสาเหตุที่มันเปลี่ยนนั่นเพราะว่า มันมีพฤติกรรมการเคลื่อนไหวของมันเปลี่ยน ซึ่งสิ่งนี้เรียกว่า Trading Scenario ที่ผมเคยเขียนบทความไว้และคนที่เผยแพร่เรื่องนี้ในไทยที่ผมรู้จัก คือ คุณอาภากรณ์  สุวรรณศักดิ์ ผู้จัดการกองทุน Middle March Capital Tokyo นั่นเองครับ

เราต้องยอมรับว่า กราฟจะไม่เคลื่อนไหวแบบเดิมไปตลอดปีตลอดชาติ มันจะเปลี่ยนไปมาแบบนี้ให้เราปวดหัวนั่นแหละครับ ดังนั้น Scenario Sell และ Buy แตกต่างกัน และในโลกการเทรดมีหลาย Scenario เราแค่ค้นพบว่า การเทรด แบบนี้ใช้ได้เพียงสถานการณ์เดียวเท่านั้นเองครับ วิธีแก้ที่จะทำให้ได้กำไร และจะทำให้ EA ได้กำไรทั้งฝั่ง Buy และ Sell คือ การสะสมความรู้ด้าน Scenario ให้มากพอ ทำความรู้จักกับมันและนำมาทดสอบบน EA ครับ

 

เส้น


การ Fined Tune หรือ การปรับค่า EA  | FxPro Quant

คะแนนโดย admin

เส้น

การ Fined Tune หรือ การปรับค่า EA  

(( การเขียน EA โดยใช้ FxPro Quant ))

เมื่อวาน เราเขียน EA โดยใช้ EA ที่มี Stop loss  ซึ่งผมได้ชี้ให้เห็นไปแล้วว่ามันเกี่ยวข้องกับ Risk Reward Ratio และ Win percent โดยตรง วันนี้ผมจะมาสอนการปรับค่า หาค่าที่ดีที่สุด การหาค่าที่ดีที่สุด เป็นการปรับปัจจัยที่เกี่ยวข้องกับการเข้าเทรด โดยผมจะยกตัวอย่าง  EA ที่เราเขียนไปเมื่อวาน เพื่อให้เข้าใจได้ง่าย และรวดเร็ว  การเขียน EA เมื่อวานเป็นการเขียนฝั่งเดียว คือ Buy ซึ่งทำให้ตัวแปรที่เราจะสามารถปรับได้มีน้อย เหมาะสำหรับการสร้างบทเรียนเท่านั้นนะครับ

ย้อนกลับไป EA ตัวเมื่อวาน ซึ่งมีคำสั่งพื้นฐานดังต่อไปนี้

สำหรับใครที่มาอ่านครั้งแรก แนะนำให้ย้อนไปอ่านบทความย้อนหลังเกี่ยวกับการสอนเขียน EA นะครับ    ย้อนกลับมาที่ EA ของเรา เราทำการส่งคำสั่ง โดยใช้ First Tick เปิดออเดอร์ ส่ง Buy เพียงอย่างเดียวเท่านั้น และมี Stop Loss Take Profit และที่สำคัญ มีการปิดออเดอร์เมื่อจบแท่งเทียนด้วยครับ ซึ่งเราจะทำการ Back Test และดูผลของการเขียน EA ดูก่อนครับ

ผมเลือกใช้ Time Frame 4 ชั่วโมง และ ตั้ง Stop Loss และ Take Profit ไว้เท่ากัน คือ 30 Pip ทั้งคู่ เรามาดูผลการ Back Test กันครับว่า มีความน่าสนใจอย่างไร

ผลการเทรด ลงตรงดิ่งเป็นเส้นตรง เรื่อย ๆ เลย โดยไม่มีการราบ หรือขึ้นแม้แต่ช่วงเดียว จึงบอกได้ว่า ชน Stop loss มากกว่า ชน Take Profit แน่นอนครับ

ซึ่งผลจากการดู จะพบว่า percent win ของระบบแค่ 17 % เอกครับ อีก 82 % นั้นขาดทุนอย่างเดียว ซึ่งแสดงว่า ระบบนี้เข้าเทรดไม่แม่น เอาเสียเลย แต่ว่า กำไรขาดทุนแค่ 5.91 เหรียญเท่านั้น นั่นเป็นเพราะว่า ผมตั้ง Lot น้อยครับ เพียง 0.10 lot เท่านั้น  ขณะที่ Risk Reward ก็เท่ากับ 0.00 และ Risk เท่ากับ – 0.01 ซึ่งนั้นเป็นผลมาจากขนาด Lot ที่น้อยมากเกินไปด้วยเหมือนกัน แต่อย่าพึ่งสนใจ Lot ครับ เราจะมาดูก่อนว่า ปัจจัยอะไรบ้างที่เกี่ยวข้องกับผลกำไรขาดทุนของ EA ที่แสดงอยู่

เนื่องจาก เราไม่ได้ใส่เงื่อนไขอะไรไป สำหรับการส่งคำสั่ง แน่นอนว่า การส่งคำสั่ง จึงมีปัจจัยเรื่องเงื่อนไข ซึ่งเกี่ยวข้องว่าจะชนกำไร่บ่อยหรือไม่บ่อยขนาดไหน ขณะที่ Stop loss และ Take Profit ก็เป็นตัวกำหนดการชนกำไรของ EA ด้วยเช่นกัน  ถ้าหากเรา ทำจุด Take Profit ให้เข้าใกล้จุดเข้าเทรด โอกาสในการทำกำไรก็จะเพิ่มขึ้น และโอกาสขาดทุนก็จะน้อยลง แต่ว่า Risk Reward ก็จะกลับกัน เนื่องจากมันถูกขยับออกไป เมื่อ Risk ถูกขยับออกไปทำให้ปริมาณการขาดทุนสูงขึ้นกว่าเดิมมาก ขณะที่การทำกำไรก็เป็นหลักการเดิมเช่นกัน

โดยเราจะมาลองปรับค่า Parameter ของ Stop loss และ Take Profit ก่อนเนื่องจากเงื่อนไขการปิดออเดอร์อีกแบบคือ First Tick และจุดเข้าเป็นการตั้งเงื่อนไขที่ธรรมดามาก และไม่สามาถทำกำไรได้  เราจึงทำการปรับ Stop Loss และ Take profit ก่อน สิ่งหนึ่งที่จะดุคือ Win percent และ Risk Reward นั่นเอง คราวนี้ผมจะตั้ง Take Profit ให้มากกว่า Stop loss 2 เท่า  เช่น ถ้า Stop loss เท่ากับ 20 pip การตั้งครั้งนี้จะต้องส่ง 40 pip เป็นต้น  โดยมีผลการทดสอบ Back Test ดังต่อไปนี้

การตั้ง Stop loss และ Take Profit ครั้งนี้ใช้ Stop loss เท่ากับ 30 pip และใช้ Take Profit 60 pip กับกราฟ 4 ชั่วโมง โดยเราจะไม่สนใจการปิดเมื่อแท่งเทียนเสร็จสิ้นและเงื่อนไขการเข้าเทรด ทีนี้เราจะดูผลตรงกันข้าม ถ้าหากเราปรับ Stop loss มากและ Take Profit น้อย ๆ เพื่อจงใจจะดูความน่าจะเป็นที่เราได้คาดการณ์ไว้   โดยทำการปรับ ให้ Stop loss เท่ากับ 60 และ Take Profit เท่ากับ 20 ดังนี้

ผลการทดสอบ พบว่า Win percent เท่ากับ 7 % หมายความว่า ระยะทางเกี่ยวข้องกับ ความน่าจะเป็นในการเทรดจริง โดยการเทรดครั้งนี้เราจะยังไม่เพิ่มปัจจัยอื่น ๆ และดูแค่นี้ไปก่อน

จากตัวอย่างที่ผมทำการปรับ Stop loss และ Take Profit ทุกท่านสามารถนำไปปรับใช้ กับ จุดต่อไปนี้ Lot สามารถนำหลักการของ Money Management มาใส่ได้ เช่น กำหนดความเสี่ยงต่อ Lot ในการเทรด การกำหนด Stop loss และ Take Profit การนำ Trailing stop มาใช้ ซึ่งจะส่งผลต่อการเทรด และกราฟมาก ๆ บางครั้ง มันอาจจะช่วยให้คุณทำกกำไรได้ก็มี

อย่างไรก็ตาม ผมต้องย้ำก่อนว่า การเทรด นั้นเป็นความลงตัวขององค์ประกอบในระบบ ซึ่ง องค์ประกอบที่มีอยู่ในระบบเทรด ได้แก่ เงื่อนไขการเข้าเทรด Stop loss Take Profit และ การปิดออเดอร์เมื่อแท่งเทียนจบ ขนาด Lot และ อื่น ๆ ซึ่งต้องลงตัวพร้อมกันหมดนั่นเอง ดังนั้น ท่านสามารถทดสอบกับ EA ของท่านเพื่อให้ได้ระบบที่ท่านพึงพอใจ สำหรับบทความถัดไป เราจะพยายามผสมเงื่อนไขการเทรด และนำผลของการเทรดครั้งนี้ไปปรับปรุงครับ

 

เส้น


การปิดออเดอร์ โดยใช้ Stop loss | FxPro Quant

คะแนนโดย admin

เส้น

การปิดออเดอร์ โดยใช้ Stop loss

(( การเขียน EA โดยใช้ FxPro Quant ))

การปิดออเดอร์ในการเทรด EA มีหลายแบบ แต่ก็ไม่ได้มีตัวเลือกเยอะขนาดนั้น การปิดออเดอร์โดยมากแบ่งเป็น 2 แบบ คือ ไม่มี Stop loss และไม่ยอม Cut loss กับการมี Cut loss เมื่อมีการ Cut loss หรือ Stop loss สิ่งที่เราต้องเผชิญ คือ เราจะขาดทุนเท่าไหร่ แม้ว่าเราจะไม่ได้ตั้งใจว่า จะปิด Stop loss เท่ากันทุกครั้ง แต่ว่า มันก็บังคับคุณให้เข้าสู่เกมส์ Risk : Reward Ratio ทันที เพราะว่า ถ้าคุณทำการ Stop Loss บ่อยครั้งเข้า คุณก็จะต้องเอา Stop loss ไปหาค่าเฉลี่ย Stop loss ของคุณ ซึ่งมันจะกลายมาเป็น Risk ของคุณทันที และเมื่อคุณทำกำไร ค่าทำกำไรนั้นก็จะกลายมาเป็น Reward ของคุณเช่นกัน ไม่ว่าคุณจะชอบ หรือไม่ชอบ หรือไม่ได้ยินยอม คุณก็จะหลีกหนีมันไม่พ้นอย่างแน่นอน

แต่ว่าการเขียน EA ที่มี Stop loss ให้ได้กำไรไม่ใช่เรื่องง่าย เพราะมันมีเรื่องกระบวนการทางสถิติ เข้ามาเกี่ยวข้อง Edge หรือว่า ความได้เปรียบของโบรคเกอร์ก็เข้ามามีส่วนทันที เราลองนึกถึงโต๊ะพนันบอล แทง 1,000 บาท เวลาแทงถูกได้ 800 เวลาผิดเสีย 1,000 ส่วน 200 เป็นค่าต๋ง  ไอ้ค่าต๋งนี่แหละตัวป่วนเลยครับ ในตลาด Forex ค่าต๋งก็คือ ค่า Spread ที่เราต้องจ่าย  ส่วนใหญ่แล้ว Spread สำหรับโบรคเกอร์ มันจะมีค่าแน่นอน เช่น บางโบรคเกอร์มี Spread 1 pip หรือ 1.7 pip หรือ 0.8 pip แล้วแต่ประเภทบัญชีอีกด้วย ซึ่งทีนี้มันจะขึ้นอยู่กับเราแล้วว่า เราจะเลือกเล่นเกมส์แบบไหน สมมุติเราเลือกที่จะ Cut loss โดยการตั้ง Stop loss 10 จุด หมายความว่า เราเข้าเทรดก็เหลือ 8 จุดหลังจากหักค่า Spread แล้ว และจุด Take Profit เท่ากับ 10 จุดเท่ากัน นั่นหมายความว่า โอกาสที่จะชน Stop loss คือ 8 จุดและโอกาสชน Take Profit คือ 12 จุด นั่นเท่ากับ 20 % เหมือนกับค่าต๋งแทงพนันบอลเลยนะครับ คิดง่าย ๆ อย่างนี้แทงเท่าไหร่ก็แพ้ ฉะนั้นต้องเลือกเกมส์ที่เราจะได้เปรียบ นั่นคือ การทำให้ค่าต๋ง มันเหลือน้อย ๆ นั่นคือการเลือกเทรด Time Frame ใหญ่ และระยะทางทำกำไรเหลือยาว เช่น 50 pip ซึ่งทำให้ค่าต๋ง 2 pip กลายเป็นแค่  4 % ทันที ทำให้ความน่าจะเป็นที่จะชน Stop loss ของเราและ Take Profit ของเราแตกต่างกันไม่มากนัก เมื่อเรามีโอกาสแตกต่างกันไม่มากนัก ที่เหลือเราก็สามารถบริหารจัดการ ด้วยการใช้ความน่าจะเป็นในการเทรด เช่น เข้าในจุดที่ได้เปรียบมาก ๆ ที่จะกลับตัว นั่นจะทำให้การตั้งค่าไม่ผิดพลาด และได้กำไรเต็มเม็ดเต็มหน่วย

โดยผมจะเริ่มเขียน เป็น Guideline ให้ก่อนและเราค่อย ๆ ปรับไปเพื่อเรียนรู้การแก้ไขปัญหา จากการส่งคำสั่งแบบธรรมดา แล้วค่อยปรับแก้ไปเรื่อย ๆ  โดยเงื่อนไขการส่งคำสั่งจะเป็นเงื่อนไขแบบธรรมดาดังนี้

เงื่อนไขการส่งคำสั่ง

Buy

  1. First Tick ของแท่ง 1 ชั่วโมง

Close order

  1. Stop loss
  2. First Tick

สำหรับการเขียน EA ครั้งนี้ยังเป็นการเขียน EA ฝั่งเดียว คือ การเขียนฝั่ง Buy เท่านั้น คราวนี้เราใช้ Stop loss และถ้ามันไม่ถึง Stop loss ก่อนแท่งเทียน แท่งใหม่เกิดขึ้น เราจะทำการปิดออเดอร์ ซึ่ง 2 เงื่อนไขนี้จะทำให้การเปิดและปิดออเดอร์เกิดขึ้นอย่างรวดเร็ว กราฟที่เราจะใช้เทรด ครั้งแรก เราจะเริ่มที่ 1 ชั่วโมง  4 ชั่วโมง และ Daily เพื่อดูความแตกต่างของผลของการตั้ง Stop loss โดยเราจะกำหนดให้ Risk และ Reward เท่ากับ 1 : 2 นั่นคือ Take Profit จะมากเป็น 2 เท่า ดังต่อไปนี้

ในภาพผมได้ทำการเขียน EA โดยมีเงื่อนไขการเปิดคือ First Tick และให้มัน ชน Stop loss หรือ Take Profit ถ้าถึงอันไหนก่อนและถ้ามันไม่ถึงภายในแท่งเทียน จะต้องปิดออเดอร์โดยใช้ First Tick อีกเช่นกัน แต่ผมได้เพิ่มออพชั่น คือ ใช้ค่า Inputs เพื่อกรอบข้อมูลง่าย ๆ โดยเปลี่ยนชื่อเป็น Stop loss และ Take Profit เมื่อเราต้องการทดสอบว่า Risk Reward Ratio ขนาดไหนที่เหมาะเราสามารถเปลี่ยนที่ตัว EA ได้เลย โดยไปที่ Input และเลือก Whole number input ลากลงมาและเปลี่ยนชื่อ สร้างตามเงื่อนไขที่ผมสร้างดังภาพแล้วมาทำการ Back Test

ผลการทดสอบตั้งแต่วันที่ 1 เดือน มกราคม 2019 เป็นดังนี้

จากภาพจะเห็นว่า EA ตัวนี้ไม่น่าสนใจอะไรเลย แต่จริง ๆ แล้วมันมีน่าสนใจอยู่หลาย จุด EA ขาดทุน 30 เหรียญ แต่ว่าการขาดทุนนี้ไม่ใช่จุดสำคัญ ยังมีจุดที่กำไร และจุดที่ขาดทุน เราจะมาดูที่สถิติของ EA กันว่า Win % เท่ากับเท่าไหร่ Risk Reward จริง ๆ เท่ากับเท่าไหร่ตามสถิติที่ปรากฏขึ้น

จะเห็นว่า เวลาเราขาดทุน เท่ากับ 0.21 เวลากำไรเท่ากับ 0.30 นั่นคือ Risk : Reward เท่ากับ 1:1.5 และจำนวน Win % เท่ากับ 47.28 % ขณะที่อีก 52 % นั้นขาดทุน เหมือนจะดี แต่ถ้าเราไปดู Average Profit เท่ากัน 0.04 และ Average loss เท่ากับ 0.06 เราจึงคำนวณกำไรแห่งความคาดหวังได้ดังนี้

 

Expected value = (0.47 x 0.04) – (0.52* 0.06)

= 0.0188 – 0.0312

= – 0.0124

 

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

 

เส้น


การเขียน EA โดยใช้ Stochastic | FxPro Quant

คะแนนโดย admin

เส้น

การเขียน EA โดยใช้ Stochastic

หลังจากที่เราใช้ Concept ของกรอบราคาในการเขียน EA โดยวันนี้เราก็จะยังใช้กรอบราคาแบบเดิมในการเขียน EA  เพียงแต่กรอบราคาของเรา ไม่ได้จำกัดอยู่แค่ว่า จะต้องเป็นกรอบที่อยู่ในรูปแบบนั้นอยู่ตลอด

(เราจะยังคงใช้ FxPro Quant เพื่อสร้าง EA)

เพื่อให้ไม่ลืมกรอบราคาเดิม เราจึงยกภาพ concept การเทรดเดิมเพื่อที่จะเปรียบเทียบกับ Concept กับการใช้ Indicator ในการสร้าง EA นอกจากเราจะสามารถสร้างกรอบราคาในกราฟเองได้แล้ว เรายังสามารถสร้างกรอบราคาโดยเปลี่ยนรูปแบบเป็น Percent ของการเปลี่ยนแปลง เช่น Stochastic โดยกรอบของราคาที่เกิดขึ้นก็คือกรอบการเคลื่อนไหวของราคา เช่นเดียวกันกับกรอบทฤษฎีข้างบน  เพื่อให้เห็นภาพและเข้าใจความเป็นไปได้ ผมจะขอยกตัวอย่างกรอบราคา และกรอบการเคลื่อนไหวของ Stochastic ในภาพต่อไป

ในภาพที่แสดง ผมพยายามชี้ให้เห็นถึงความสอดคล้องกันของกรอบของการเคลื่อนไหว จะเห็นว่า เมื่อเทรนด์อยู่ในระดับ Oversold ของ Stochastic ซึ่งจะสอดคล้องกับราคาในกรอบที่อยู่ติดกรอบล่าง ซึ่งให้สัญญาณ Buy ในวงกลมชุดแรก ขณะที่วงกลงมชุดที่ 2 ด้านขวา ก็ให้สัดส่วนการเปลี่ยนแปลงในระดับ Overbought ซึ่งในกรอบราคาด้านบนก็เคลื่อนไหวอยู่ใกล้กับกรอบราคาด้านบนเช่นเดียวกัน

เมื่อเราเห็นเช่นนี้ เราก็จะสามารถใช้ Stochastic ส่งสัญญาณ BUY หรือ Sell ซึ่งสอดคล้องกับกรอบราคาตามที่เราตั้งทฤษฎีไว้เช่นเดียวกัน  โดยเราจะใช้ Stochastic ตั้งค่าตามภาพที่กำหนด แล้วเขียนเป็น EA ได้ดังต่อไปนี้

ขั้นตอนการเขียน

การกำหนดค่าเริ่มต้นของ Stochastic เพื่อให้สอดคล้องกับทฤษฎีโดยการตั้งค่าดังต่อไปนี้

ค่าที่เลือกใช้สำหรับ %K Period เท่ากับ 7  ค่า % D Period เท่ากับ 3  และ Slowing มีค่าเท่ากับ 5 ซึ่งเราจะใช้ค่านี้ในการตั้งค่า Indicator ใน EA เช่นเดียวกัน

ในภาพผมทำการลาก Stochastic Node มาจาก Indicators และทำการเปรียบเทียบ โดยใช้ Logic การเปรียบเทียบ ถ้าหาก Stochastic มีค่าน้อยกว่า 20 หมายความว่า เป็นสัญญาณ Buy และผมใช้สัญญาณ First Tick เพื่อใช้ส่งคำสั่งทุกแท่งที่เปิดแท่งใหม่และอยู่ใน Zone Oversold การใช้หลักการ First Tick หมายความว่า เรากำลังเฉลี่ยราคา ฉะนั้น ยอดจำนวน Lot ทั้งหมดของ EA ควรจะได้ราคาเฉลี่ย ของบริเวณนั้น ซึ่งทำให้มันเป็นราคาที่ไม่น่าเกลียดเลย เมื่อเราได้เงื่อนไขการส่งคำสั่งมาแล้ว เราจะทำการส่งคำสั่ง Buy และใช้คำสั่ง Trailing Stop ในการปิดออเดอร์

ผมได้ทำการตั้งค่า Trailing Stop ไว้ที่ 200 Point หรือ 20 Pip และออเดอร์ที่จะปิดคืออเดอร์ที่กำไรแล้วเท่านั้น โดยการตั้งค่า Buy Max จะต้องเท่ากับ 0 เราจะทำการ Back Test

ซึ่งจากการ Back Test มีการส่งออเดอร์ และปิดออเดอร์ ตามคำสั่งที่กำหนดไว้ ในบทความนี้เราจะขยายเวลาการทำ Back Test เพื่อให้ข้อมูลสอดคล้องตามความเป็นจริง Lot ที่ใช้ในการส่งคำสั่ง เท่ากัน 0.10 Lot ซึ่ง ทำให้ราคาเฉลี่ยเป็นการเฉลี่ยการส่งคำสั่งขาลง โดยผลการ Back Test ก่อนหน้าได้กำไรจำนวน 11 เหรียญ

จากเงินทุน 10,000 USD และเพื่อให้สอดคล้องกับความเป็นจริง เราจะทำการ Back Test ในระยะเวลากว้างขึ้น จำนวน 6 เดือน โดยเริ่มตั้งแต่ต้นปี ดังนี้

ผลจากการทดสอบตั้งแต่ต้นปี นั่นคือระยะเวลา 6 เดือนผลที่ได้แตกต่างจากการทดสอบชุดแรก เพราะว่า มีการเก็บออเดอร์ค้างไว้จำนวนมาก ในเส้นกราฟของการทดสอบ มี 2 เส้น คือ เส้นสีน้ำเงิน เส้น Balance และ เส้น Equity คือสีเขียว การเปิดออเดอร์ค้างไว้ แต่ก็มีการปิดออเดอร์ตามตลอดเพราะว่า Trailing Stop โดยเราจะมาดูผลการทดสอบดังต่อไปนี้

ผลการทดสอบพบว่า ได้กำไร 35.72 เหรียญ แต่เมื่อเทียบจากการมีออเดอร์ที่เปิดอยู่จะ ติดลบอยู่  57 เหรียญ นั่นคือ เรากำลังเทรดผิดทางแต่นั่นไม่ใช่สิ่งที่ต้องกังวล เพราะสิ่งที่เราต้องใส่ใจคือ Maximum Draw Down ซึ่งเท่ากัน 108 เหรียญ หรือคิดเป็น 1.08 % ซึ่งจากกำไรที่ทำได้ 35 เหรียญและ ขาดทุนสะสมเท่ากับ 108 เหรียญ หมายความว่า ขาดทุนสูงกว่ากำไรถึง 3 เท่า นั่นคือ Risk : Reward เท่ากับ 3:1 ซึ่งความเสี่ยงสูงกว่าค่าตอบแทนถึง 3 เท่า ในกรณีที่ราคาลง กราฟก็จะแสดงผลการเทรดที่ขาดทุนหนักขึ้น  เพราะออเดอร์จะถูกเปิดรายทางตลอดเวลา

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

 

เส้น


การเขียน EA ใช้ Indicator Envelope  

คะแนนโดย admin

เส้น

การเขียน EA ใช้ Indicator Envelope  

จากบทความ concept ของการเขียน EA เมื่อบทความที่แล้ว การเขียน EA บน Concept ของตัวเอง ผมจะนำ EA บน Concept นั้นมาเขียน เป็น EA เพื่อใช้ฝึกท่าน โดยบทความนี้จะเป็นเนื้อหาต่อจากฉบับที่แล้ว เดี๋ยวผมจะขอเล่าย้อนนิดหน่อยครับ โดยหลักกการเขียน การเข้าเทรดของ EA คือ

  1. การเคลื่อนไหวของราคา มีกรอบชัดเจน ประกอบด้วยกรอบขาขึ้น กรอบขาลง และ กรอบ Side Way
  2. กรอบการเคลื่อนไหวจะต้องเท่ากัน ทั้ง 3 กรอบ และราคาจะแกว่งอยู่ในกรอบ แต่ความชันของกรอบจะเปลี่ยนไปตลอดเวลา
  3. การสั่งคำสั่งของ EA คือ เมื่อ ราคาเคลื่อนไหว อยู่นอกกรอบที่กำหนด โดยภาพตามหลักการของเราจะเป็นแบบนี้

เราจะทำการซื้อขาย เมื่อ ราคาอยู่ตรงขอบของกรอบ อย่างไรก็ตาม การวาดกรอบใน FXPro Quant จะเป็นปัญหาเนื่องจากเป็นข้อจำกัดของโปรแกรม ที่ไม่สามารถสร้างกรอบราคาได้  การประยุกต์ใช้ เราจึงใช้เครื่องมือที่มีความใกล้เคียงที่สุด นั่นก็คือ Envelope Indicator ซึ่งจะเป็นกรอบเส้น สูงต่ำกว่า เส้น MA ตามที่กำหนด โดยสามารถเปรียบเทียบจากกราฟจริง ๆ ได้ดังนี้

ไปเลือกที่ Indicator ใน MT4 และไปที่ Trend แล้วเลือก Envelops Indicator ในการตั้งค่าตั้งดังต่อไปนี้

ในการตั้งค่า Envelopes Indicator เลือกใช้ค่า Period 20 เพราะว่านั่นคือ จำนวน วันที่เทรดได้เฉลี่ยใน 1 เดือนเท่ากับ 20 กว่าวัน  การคำนวณค่าเฉลี่ยให้ใช้วิธีการ Simple และใช้ค่าคำนวณคือ ราคากลางไม่เอียงไปทาง ราคา Close หรือ Open  ส่วนค่าเบี่ยงเบนออกจากเส้น Moving Average เท่ากับ 0.35 % โดยกราฟที่เราจะเลือกใช้ คือ กราฟ 1H

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

 

การเขียนคำสั่ง

การเขียนคำสั่งสำหรับใช้งาน Envelopes Indicator ใน Fxpro Quant จะไม่มี indicator นี้ให้ใช้ สิ่งที่เราทำ คือ เราต้องสร้างเส้นนี้ขึ้นมาเอง โดยไปที่ Indicator แล้วเลื่อนไปหา Moving Average แล้วลากมาใส่ ดังภาพ

แล้วตั้งค่าตามที่กำหนดในหลักการ นั่นคือ ใช้ Period 20 และ MA Method ให้ใช้ Simple ขณะที่ Applied Price คือ Median Price ซึ่งเมื่อตั้งค่าแล้วสิ่งที่เราได้มา คือ ค่าของเส้นกลาง แต่ใน MT4 จะไม่มีเส้นกลางแสดง แต่จะมีเฉพาะเส้นข้าง สิ่งที่เรารู้เกี่ยวกับ Envelopes Indicator คือ มันแกว่งตัวออกจากเส้น MA 0.35 % ตามที่เราได้ตั้งค่าไว้ นั่นคือ เราต้องทำการหาค่า 0.35 % ของเส้น MA ก่อนแล้ว ทำการ + และ – ออกจากเส้น MA ที่เราสร้างขึ้น ดังภาพต่อไปนี้

ในภาพข้างต้น ผมไปที่ Math Basic แล้ว ลาก Arithmetic ลงมา เสร็จแล้วลาก ค่าที่ 1 มาจาก Moving aVerage แล้วนำมาคูณด้วย 0.0035 หรือก็คือ 0.35 % นั่นเอง ค่า Arithmatic ที่ได้คือ ค่าจำนวน Pip ที่บวกเพิ่มไปยัง MA โดยเราต้องทำการ ลาก Arithmatic มาอีกครั้งหนึ่ง คราวนี้เปลี่ยนชื่อมันเรียกว่า Upper Band แล้วทำการ บวกกลับเข้าไปในเส้น MA จะทำให้เราได้ Band บน มา หลังจากนั้น เราก็ทำแบบเดียวกันอีกแต่ทำเป็น Band ล่างและลบออกจากค่า MA ก็จะได้ Band ล่าง

เมื่อเราได้ Ban บนและล่างมาแล้ว เราก็สามารถกำหนดคำสั่งซื้อขายได้แล้ว ต้องไม่ลืมว่า ค่า MA จะต้องอยู่ด้านบน เพราะค่า MA จะเยอะกว่าค่าที่คำนวณได้ ไม่เช่นนั้น ค่าที่ได้จะติดลบครับ เพราะตัวเลขที่ใช้ตั้ง น้อยกว่า ตัวเลขที่ใช้ลบ ต่อไปเราจะมาทำการกำหนดเงื่อนไขการส่งคำสั่ง ในที่นี้เราจะทำการส่ง Buy อย่างเดียว  เพราะไม่งั้นบทความนี้จะยืดเยื้อแน่นอนครับ  เราจะทำการใช้ Lower Band ในการส่งคำสั่ง ถ้า Bid ต่ำกว่า Lower Band เราจะทำการ เปิดออเดอร์ และส่งคำสั่งที่ First Tick เช่นเดิม หลังจากนั้นเราจะทำการปิดออเดอร์ โดยการใช้ Trailing Stop ครับ

 

การเปิดออเดอร์

การเปิดออเดอร์มี 2 เงื่อนไขง่าย ๆ ดังต่อไปนี้

  1. Bid ต่ำกว่า lower Band ของ Envelopes Indicator
  2. ส่งคำสั่งที่ First Tick ของ แท่งเทียนเท่านั้น

ในภาพผมทำการเปรียบเทียบเงื่อนไขการส่งกับ First Tick และ Bid น้อยกว่า Lower Band ที่คำนวณได้ และส่งคำสั่ง Buy ผมใช้การปิด โดยใช้ Trailing Stop จะเลื่อนก็ต่อเมื่อมีกำไรเกิน 20 pip แล้ว และที่สำคัญ ต้องไม่ลืม ผมต้องปลด Max Open Position เป็น 0 คือไม่จำกัด  ถ้าใส่เป็น 1 มันจะส่งคำสั่งเพียงคำสั่งเดียวเท่านั้น แล้วเราจะทำการ Back Test เพื่อทดสอบ  EA  ผมจะขอข้าม วิธีการทดสอบ ท่านสามารถอ่านบทความอื่น ๆ ว่าต้องนำไปวางที่ไหน โดยจะนำผลการทดสอบมาแสดงเลย เพื่อเปรียบเทียบทำความเข้าใจว่าเป็นอย่างที่เราคิดหรือไม่

ผลการทดสอบ พบว่า EA ไม่ส่งคำสั่ง Buy เลยเมื่อตรวจสอบกราฟ โดยการแทรก indicator เข้าไป ก็พบว่า ราคา First Tick ไม่ปิดต่ำกว่ากรอบ 0.35 % เลยแม้แต่ครั้งเดียว เพื่อทดสอบการทำงานเราต้องลดจำนวน % ลงเหลือเพียง 0.2 %

ผลการทดสอบพบว่า EA ส่งคำสั่งถูกต้องตามเงื่อนไข  ท่านลองดูจังหวะการเข้าเทรด นี่เป็นเพียงขั้นตอนเบื้องต้นเท่านั้น ผมต้องขอย้ำกว่า การเขียน EA ควรเขียนจากหลักการ ไม่ใช่เอา Indicator อะไรไม่รู้มาใส่เรียงกันเต็มไปหมด จนไม่รู้ว่าใส่ไปทำไม

 

เส้น