อินดิเคเตอร์วาดเส้นแล้วรอให้คุณตัดสินใจ ส่วน Expert Advisor ตัดสินใจเองแล้วส่งออร์เดอร์ ความต่างนั้นคือเหตุผลทั้งหมดที่ EA ตัวนี้เข้มงวดกว่าอินดิเคเตอร์ Stochastic RSI ที่มันสร้างขึ้นมาจาก คนที่นั่งดู oscillator ที่เร็วสามารถเมินค่าที่ดูไร้สาระได้ แต่ซอฟต์แวร์ทำไม่ได้ กฎที่มันใช้จึงต้องแคบพอที่ทุกสัญญาณที่มันสร้างจะเป็นสัญญาณที่ควรรับ: EA ตัวนี้รอให้ %K ตัด %D ขณะที่ oscillator ยังอยู่ภายใน โซน Oversold หรือ Overbought เปิดโพซิชันเดียวพร้อม Stop Loss และ Take Profit ที่มาจากความผันผวนปัจจุบัน แล้วปล่อยการเทรดนั้นไว้เฉยๆ
กลยุทธ์ทำงานอย่างไร
กลยุทธ์นี้มีสัญญาณเดียวและไม่มีตัวกรองเทรนด์ ในทุกแท่งที่ปิดสมบูรณ์ EA จะคำนวณ Stochastic RSI ใหม่ทั้งหมดตั้งแต่ต้น — เส้น raw การ smooth เป็น %K และเส้นสัญญาณ %D — แล้วเปรียบเทียบสองแท่งล่าสุดเพื่อหาการตัดกัน
การตัดกันเพียงอย่างเดียวยังไม่พอ EA ยังตรวจด้วยว่าการตัดกันนั้นเกิด ตรงไหน การตัดขึ้นที่ค่า 55 คือ oscillator เดินเล่นอยู่กลาง range และถูกเมินไปทั้งหมด ส่วนการตัดแบบเดียวกันที่ค่า 12 คือการหันกลับจากก้น range ล่าสุดของ RSI เอง และนั่นคือเวอร์ชันเดียวที่ EA เทรด ฝั่ง Overbought เป็นภาพสะท้อนเป๊ะๆ เพราะ Stochastic RSI แปะติดที่ 0 และ 100 เป็นช่วงยาว เงื่อนไขเรื่องตำแหน่งนี้จึงทำหน้าที่กรองเป็นส่วนใหญ่ — ถ้าไม่มีมัน กลยุทธ์นี้จะเข้าเทรดประมาณทุกๆ ไม่กี่แท่ง
ทุกอย่างประเมินจากแท่งที่ปิดแล้วเท่านั้น ค่าที่ shift 1 เป็นค่าสุดท้ายที่แน่นอน ส่วนค่าบนแท่งที่กำลังก่อตัวไม่ใช่ และ EA ที่ลงมือกับมันจะเปิดและปิดโพซิชันไปเรื่อยๆ ตามที่แท่งเทียนเปลี่ยนใจ
Stop Loss, Take Profit และขนาดโพซิชัน
ระยะ Stop Loss เท่ากับ ATRMultiplier × ATR — ค่าเริ่มต้นคือสองเท่าของ ATR period 14 — และ Take Profit เท่ากับ RiskRewardRatio × ระยะ Stop Loss ซึ่งเริ่มต้นที่ 2.0 ทั้งสองค่าคำนวณ ณ เวลาเข้าเทรดจาก ATR ของแท่งที่เพิ่งปิด ดังนั้นการเทรดที่เปิดในช่วง session เอเชียที่เงียบจะได้ stop ที่แคบกว่าการเทรดที่เปิดเข้าสู่ช่วงเปิดลอนดอนที่ผันผวน และทั้งคู่เสี่ยงเงินเท่ากัน
ส่วนหลังนั่นคือเหตุผลของการจับคู่ stop แบบ ATR เข้ากับการคำนวณขนาดตามความเสี่ยงแทนที่จะใช้ lot คงที่ ขนาด lot มาจาก RiskPercent ของยอดเงินในบัญชี หารด้วยระยะ stop ที่วัดเป็น tick แล้วคูณด้วยมูลค่าต่อ tick — เป็นการคำนวณทีละขั้นตามที่สอนไว้ใน พื้นฐานการบริหารความเสี่ยง จากนั้นปรับให้เข้ากับข้อจำกัดขั้นต่ำ ขั้นสูง และ step ของ broker ตามที่อธิบายใน ทำความเข้าใจขนาด Lot ระยะ stop จาก ATR ที่กว้างขึ้นจะให้โพซิชันที่เล็กลงโดยอัตโนมัติ ความผันผวนที่กว้างขึ้นจึงเปลี่ยนรูปร่างของการเทรด แต่ไม่เปลี่ยนขนาดของการขาดทุน ส่วน UseFixedLot ปิดการคำนวณนี้สำหรับคนที่ชอบใช้ lot คงที่
EA ตัวนี้ไม่ขยับ stop หลังเข้าเทรด มันไม่มีขั้น Break-Even และไม่มีการ trail ดังนั้นทุกการเทรดจะจบที่หนึ่งในสองระดับที่ตั้งไว้ตอนเข้า — เป็นการเลือกโดยตั้งใจเพื่อให้สถิติของกลยุทธ์สะอาด แม้ว่าใครที่แก้ไข source code จะพบว่า Trailing Stop คือส่วนขยายแรกที่ชัดเจนที่สุด
เงื่อนไขการเข้าเทรด
- BUY — บนแท่งที่เพิ่งปิด %K ตัดขึ้นเหนือ %D และ %K ของแท่งก่อนหน้าอยู่ต่ำกว่า
OversoldLevel(ค่าเริ่มต้น 20) - SELL — บนแท่งที่เพิ่งปิด %K ตัดลงใต้ %D และ %K ของแท่งก่อนหน้าอยู่สูงกว่า
OverboughtLevel(ค่าเริ่มต้น 80)
กลไกความปลอดภัยสี่อย่างควบคุมทุกการเทรด ตรงตามมาตรฐานที่ใช้กับทุก EA บนเว็บนี้ ตรรกะการเข้าเทรดทำงานครั้งเดียวต่อแท่งใหม่ โดยติดตามจากเวลาเปิดของแท่ง แท่งที่เข้าเงื่อนไขหนึ่งแท่งจึงยิงซ้ำไม่ได้เมื่อ tick ไหลเข้ามา มีโพซิชันเปิดได้ครั้งละหนึ่งเท่านั้น ตรวจด้วยการนับการเทรดที่กรองด้วย symbol และ magic number ของ EA ตัวนี้ — ไม่มีการทบและไม่มีการถัวเฉลี่ยขาดทุน spread ปัจจุบันถูกเทียบกับ MaxSpreadPoints (ค่าเริ่มต้น 30) ก่อนส่งออร์เดอร์ใดๆ การเข้าเทรดจึงถูกข้ามในสภาวะที่สภาพคล่องต่ำซึ่งจะได้ราคาแย่ และทุกออร์เดอร์ถูกติดป้ายด้วย MagicNumber (ค่าเริ่มต้น 20260911) ซึ่งหมายความว่าตรรกะการนับและการจัดการของ EA จะไม่เห็นและไม่แตะโพซิชันที่คุณเปิดเองหรือที่เป็นของ EA ตัวอื่นบนบัญชีเดียวกัน
Parameters
- RSIPeriod (ค่าเริ่มต้น 14) — period ที่มองย้อนกลับไปของ RSI ที่ oscillator นี้สร้างขึ้นมาจาก
- StochPeriod (ค่าเริ่มต้น 14) — หน้าต่างที่ใช้วัด range สูงสุด-ต่ำสุดของ RSI เอง การลดค่านี้ทำให้ค่าสุดขั้วเกิดบ่อยขึ้นมากและ EA เทรดถี่ขึ้นมาก การเพิ่มไปทาง 21 ให้ผลตรงกันข้าม
- SlowingPeriod (ค่าเริ่มต้น 3) — การ smooth ที่เปลี่ยนเส้น raw ให้เป็น %K ค่าที่สูงกว่า 5 ทำให้การตัดกันเกิดน้อยลงและช้าลงอย่างเห็นได้ชัด
- SignalPeriod (ค่าเริ่มต้น 3) — moving average ของ %K ที่กลายเป็น %D และจึงเป็นเส้นที่ใช้วัดการตัดกัน
- OversoldLevel (ค่าเริ่มต้น 20) — BUY ต้องการให้ %K ของแท่งก่อนหน้าอยู่ต่ำกว่าค่านี้ การบีบเป็น 10 เรียกร้องจุดสุดขั้วที่ลึกกว่าและลดความถี่ในการเทรดลงอย่างมาก
- OverboughtLevel (ค่าเริ่มต้น 80) — เงื่อนไขภาพสะท้อนสำหรับการเข้า SELL
input ที่เหลือไม่ได้เฉพาะเจาะจงกับกลยุทธ์นี้ — มันเป็นของ risk engine ที่ใช้ร่วมกันทั้งชุด EA และอธิบายไว้ที่เดียวบน หน้ารวม EA EA ตัวนี้ระบุการเทรดของตัวเองด้วย magic number 20260911
ทำไมการตัดกันต้องเกิดภายในโซน
เงื่อนไขเรื่องโซนคือความต่างระหว่างกลยุทธ์กับเครื่องยิงสัญญาณ และควรเข้าใจเหตุผลมากกว่าจะเชื่อตามๆ กันไป
Stochastic RSI สร้างการตัดกันของ %K กับ %D อยู่ตลอดเวลา เพราะ %K คือค่าเฉลี่ยสามแท่งของเส้นที่แกว่งเต็ม range 0-100 จากการเคลื่อนไหวเล็กๆ การตัดกันส่วนใหญ่เกิดกลาง range และไม่มีความหมายอะไร — มันคือ oscillator ที่ตอบสนองต่อ RSI ที่ไหลไปสองสามจุดภายในหน้าต่างที่เงียบ การกรองด้วยตำแหน่งตัดทั้งหมวดนั้นทิ้งไป สิ่งที่เหลือคือการตัดกันที่เกิดหลังจาก RSI ไปถึงก้นหรือยอดของ range ล่าสุดจริงๆ ซึ่งอย่างน้อยก็เป็นสภาวะที่ควรค่าแก่การลงมือ
มันมีราคาที่ต้องจ่าย การบังคับให้ค่าต้องต่ำกว่า 20 แปลว่า EA ซื้อตลาดที่กำลังลงและขายตลาดที่กำลังขึ้นอย่างเป็นระบบ โดยไม่ตรวจเลยว่าการลงหรือการขึ้นนั้นมีแนวโน้มจะไปต่อหรือไม่ ในเทรนด์ที่ต่อเนื่อง oscillator จะแปะติดที่จุดสุดขั้วและสร้างการตัดกันสวนทางกับการเคลื่อนไหวครั้งแล้วครั้งเล่า และ EA ก็จะรับมันทั้งหมด นี่คือจุดอ่อนเชิงโครงสร้างที่รู้กันดีของระบบสวนเทรนด์ที่ไม่มีตัวกรองทุกตัว และมันถูกทิ้งไว้โดยตั้งใจเพื่อให้ไฟล์นี้อ่านเป็น reference implementation ที่สะอาด เทรดเดอร์ที่ต้องการเวอร์ชันที่มีตัวกรองมีทางเลือกตรงไปตรงมาสามทาง: รันบน timeframe ที่สูงขึ้นซึ่งจุดสุดขั้วหายากกว่า บีบระดับเป็น 10 และ 90 หรือตรวจ โครงสร้างตลาด ของคู่เงินนั้นเอง แล้วเปิด EnableTrading ไว้เฉพาะตอนที่คู่เงินนั้นเป็น range จริงๆ
ข้อควรระวัง
รันตัวนี้บนบัญชี demo ก่อน ทดลองหลายคู่เงินและทั้งช่วงเงียบและช่วงผันผวน ก่อนที่จะมีเงินจริงเข้ามาเกี่ยวข้อง — backtest ที่ดีหรือเดือน demo ที่ดีเป็นหลักฐานเกี่ยวกับอดีตเท่านั้น ไม่ใช่มากกว่านั้น EA ตัวนี้จะขาดทุนในการเทรดแต่ละครั้ง และเพราะมันเทรดสวนการเคลื่อนไหวที่กำลังเกิดขึ้นโดยไม่มีตัวกรองเทรนด์ มันจะขาดทุนติดกันหลายครั้งระหว่างการวิ่งทิศทางเดียวที่แข็งแรง นั่นคือกลยุทธ์ที่ทำงานตามที่ออกแบบไว้ ไม่ใช่ข้อผิดพลาดของโค้ด Stochastic RSI ยังเป็น oscillator ที่เร็วที่สุดและมี noise มากที่สุดบนเว็บนี้ ดังนั้นให้คาดหวังจำนวนการเทรดที่สูงกว่ากลยุทธ์ RSI ที่เทียบเคียงกันอย่างมีนัยสำคัญ พร้อมกับความได้เปรียบเฉลี่ยต่อการเทรดที่เล็กลงตามไปด้วย ทั้งไฟล์ MT4 และ MT5 ด้านล่างเป็น source code: อ่านให้ครบ เข้าใจว่าแต่ละ parameter ทำอะไร และทำให้ตัวเองมั่นใจในตรรกะของมัน ก่อนแนบตัวนี้กับบัญชีจริงใดๆ ไม่มีอะไรในหน้านี้เป็นคำแนะนำการลงทุนส่วนบุคคล — มันคือการให้ความรู้ทั่วไปว่าเครื่องมือนี้ทำงานอย่างไร