ผู้เขียน:
Svinozavr
Asymmetric Stochastic NR เป็นเวอร์ชันที่พัฒนาขึ้นจาก Stochastic Oscillator ที่มีความแตกต่างจากเวอร์ชันมาตรฐานในด้านพารามิเตอร์เพียง 3 จุด:
Kperiod ประกอบด้วยค่า 2 ค่า คือ KperiodShort (ระยะสั้น) และ KperiodLong (ระยะยาว).
มีการเพิ่มพารามิเตอร์ระดับ Oversold (OS) และ Overbought (OB) ถ้า Stochastic เข้าสู่พื้นที่ OS/OB จะมีการสลับ Kperiods (ระยะเวลาที่ใช้ในการค้นหาจุดสูง/ต่ำ).
ความแตกต่างที่สามคือ พารามิเตอร์ Sens ซึ่งช่วยลดการเกิดสัญญาณปลอม โดยการตัดการสั่นที่ต่ำกว่าค่าที่ตั้งไว้ในจุด ทำให้ลดจำนวนสัญญาณที่ผิดพลาดได้อย่างมีนัยสำคัญ.
พฤติกรรม:
เมื่อ Stochastic เข้าสู่พื้นที่ OS อินดิเคเตอร์จะค้นหาจุดต่ำที่ KperiodShort และจุดสูงที่ KperiodLong ในทางกลับกัน ถ้า Stochastic เข้าสู่ OB จะค้นหาจุดต่ำที่ระยะยาวและจุดสูงที่ระยะสั้น.
การตีความ/การใช้งาน: การที่ Stochastic เข้าสู่ OS/OB หมายถึงการเปลี่ยนทิศทางของแนวโน้ม แต่การเปลี่ยนแนวโน้มไม่ได้หมายความว่าควรเปิดตำแหน่งตามทิศทางปัจจุบัน การเปิดตำแหน่งควรทำในช่วงการแก้ไข ซึ่งสามารถระบุได้จากการตัด/สัมผัสเส้น 50%. ถ้าคุณใช้กลยุทธ์ "เต่า" การเพิ่มตำแหน่งควรทำในช่วงการแก้ไข. เมื่อแนวโน้มเปลี่ยนไป ควรปิดตำแหน่งทั้งหมดหรือปรับลดลง. ในกรณีหลัง การปิดตำแหน่งทั้งหมดจะทำในช่วงการแก้ไข ขณะที่เปิดตำแหน่งใหม่ในทิศทางตรงข้ามในเวลาเดียวกัน. ตั้งระดับ Stop ที่จุดสุดท้าย (ตรงข้าม) โดยมีการถอยตัวที่สมเหตุสมผล แต่การเกิด Stop ในโหมดการทำงานไม่น่าจะเกิดขึ้น.
อินดิเคเตอร์นี้ถูกนำมาใช้ครั้งแรกใน MQL4 และเผยแพร่ใน Code Base เมื่อวันที่ 22.04.2010.
พารามิเตอร์อินดิเคเตอร์:
//+-----------------------------------+ //| พารามิเตอร์อินดิเคเตอร์ | //+-----------------------------------+ input uint KperiodShort=5; // %K ระยะเวลา input uint KperiodLong=12; // %K ระยะเวลา input Smooth_Method DMethod=MODE_SMA; // วิธีการทำให้สัญญาณเรียบ input uint Dperiod=7; // %D ระยะเวลาสัญญาณ input int DPhase=15; // พารามิเตอร์การทำให้เรียบ input uint Slowing=3; // ความช้า input ENUM_STO_PRICE PriceField=STO_LOWHIGH; // พารามิเตอร์การเลือกราคา input uint Sens=7; // ความไวในจุด input uint OverBought=80; // ระดับ Overbought, %% input uint OverSold=20; // ระดับ Oversold, %% input color LevelsColor=Blue; // สีของระดับ input STYLE Levelstyle=DASH_; // สไตล์ระดับ input WIDTH LevelsWidth=Width_1; // ความกว้างของระดับ input int Shift=0; // การเลื่อนแนวนอนของอินดิเคเตอร์ในบาร์
อินดิเคเตอร์นี้มีความสามารถในการเลือกประเภทการทำให้เรียบของสัญญาณจาก 10 เวอร์ชันที่แตกต่างกัน:
- SMA - ค่าเฉลี่ยเคลื่อนที่แบบธรรมดา;
- EMA - ค่าเฉลี่ยเคลื่อนที่แบบเอ็กซ์โพเนนเชียล;
- SMMA - ค่าเฉลี่ยเคลื่อนที่แบบเรียบ;
- LWMA - ค่าเฉลี่ยเคลื่อนที่แบบเชิงเส้นที่มีน้ำหนัก;
- JJMA - ค่าเฉลี่ยแบบปรับตัวได้ JMA;
- JurX - การทำให้เรียบแบบอุลตร้าเชิงเส้น;
- ParMA - การทำให้เรียบแบบพาราโบลิก;
- T3 - การทำให้เรียบแบบหลายเท่าที่ใช้วิธีของ Tillson;
- VIDYA - การทำให้เรียบด้วยอัลกอริธึมของ Tushar Chande;
- AMA - การทำให้เรียบด้วยอัลกอริธึมของ Perry Kaufman.
ควรสังเกตว่าพารามิเตอร์ Phase สำหรับอัลกอริธึมการทำให้เรียบที่แตกต่างกันมีความหมายที่แตกต่างกันอย่างสิ้นเชิง สำหรับ JMA จะเป็นตัวแปร Phase ภายนอกที่เปลี่ยนแปลงจาก -100 ถึง +100 สำหรับ T3 จะเป็นอัตราส่วนการทำให้เรียบที่คูณด้วย 100 เพื่อการแสดงผลที่ดีขึ้น สำหรับ VIDYA จะเป็นระยะเวลาของออสซิลเลเตอร์ CMO และสำหรับ AMA จะเป็นระยะเวลาของ EMA ช้า ในอัลกอริธึมอื่นๆ พารามิเตอร์เหล่านี้จะไม่มีผลต่อการทำให้เรียบ.
อินดิเคเตอร์นี้ใช้คลาสจากไลบรารี SmoothAlgorithms.mqh (ต้องคัดลอกไปยัง terminal_data_folder\MQL5\Include). การใช้คลาสเหล่านี้ได้รับการอธิบายอย่างละเอียดในบทความ "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".
