บอทเทรดแบบกริด ข้อดีข้อเสียที่แท้จริง
บอทเทรดแบบกริดซื้อเมื่อราคาลง ขายเมื่อราคาขึ้นในกรอบที่กำหนด ดูว่าตลาดแบบไหนให้กำไรและแบบไหนทำให้ขาดทุน พร้อมตัวอย่างจากข้อมูลหุ้นสหรัฐฯ จริง
บอทเทรดแบบกริดจะวางคำสั่งซื้อขายเป็นขั้นบันไดในระยะห่างราคาที่คงที่: คำสั่งซื้อในทุกขั้นที่ต่ำกว่าราคาปัจจุบัน คำสั่งขายในทุกขั้นที่สูงกว่าราคาปัจจุบัน ทุกครั้งที่ตลาดปรับตัวลง บอทจะซื้อ ทุกครั้งที่ตลาดปรับตัวกลับขึ้นมา บอทจะขายของที่ซื้อไว้ตอนราคาต่ำกว่าออกไป กลไกนี้เก็บเกี่ยวกำไรจากความผันผวน และจะสะสมสถานะเปิดไว้เมื่อใดก็ตามที่ตลาดเคลื่อนตัวออกจากกริดไปในทิศทางเดียวและดำเนินต่อไป
หน้านี้จะแยกชิ้นส่วนกลไกดังกล่าวออกมา แล้ววัดลักษณะตลาดสองแบบที่เป็นตัวกำหนดผลลัพธ์ แผนภาพทุกแผงด้านล่างนี้เป็นผลลัพธ์จากคำสั่งค้นหาที่ถูกจัดเก็บไว้บนข้อมูลราคาหุ้นสหรัฐฯ จริง โดยยึดติดกับวันที่ที่แน่นอนเพื่อให้ตัวเลขสามารถทำซ้ำได้
วิธีการทำงานของบอทเทรดแบบกริด
การตั้งค่าสามอย่างกำหนดกริดหนึ่งอัน: ขอบเขตบนและล่างของช่วง จำนวนเส้นภายในช่วงนั้น และขนาดคำสั่งในแต่ละเส้น ระยะห่างระหว่างเส้นเป็นผลมาจากสองค่าแรก
นี่คือตัวอย่างเลขคณิต โดยใช้ตัวเลขกลมๆ ที่เลือกมาเพื่อความชัดเจน ไม่ได้มาจากราคาจริงใดๆ สมมติว่าหุ้นตัวหนึ่งซื้อขายใกล้ $100 และผู้ดำเนินการตั้งค่ากริดจาก $95 ถึง $105 โดยมีสิบเอ็ดเส้นห่างกันหนึ่งดอลลาร์ และ 100 หุ้นต่อหนึ่งเส้น ราคาลดลงไปที่ $99 และคำสั่งซื้อที่รออยู่ถูกจับคู่ ราคากลับไปที่ $100 และคำสั่งขายที่ตรงกันถูกจับคู่ ปิดคู่คำสั่งนี้ได้กำไรขั้นต้น $100 คำสั่งซื้อขายทั้งสองถูกตั้งค่าใหม่ ไม่มีอะไรเปลี่ยนแปลงเกี่ยวกับบริษัทในชั่วโมงนั้น สถานะเพียงแค่เดินทางครบรอบระหว่างขั้นบันไดสองขั้นที่อยู่ติดกัน
รูปแบบสองแบบปรากฏในโครงการโอเพนซอร์สที่เผยแพร่สู่สาธารณะ กริดแบบเลขคณิตจะเว้นระยะห่างเส้นด้วยจำนวนดอลลาร์ที่คงที่ กริดแบบเรขาคณิตจะเว้นระยะห่างเส้นด้วยเปอร์เซ็นต์ที่คงที่ ซึ่งทำให้เปอร์เซ็นต์กำไรต่อการเดินทางครบรอบคงที่ในช่วงราคาที่กว้าง เอกสารยังแยกความแตกต่างระหว่างกริดแบบเป็นกลาง ซึ่งเริ่มต้นโดยไม่มีสถานะและทำงานทั้งสองทิศทาง กับกริดแบบลอง ซึ่งเริ่มต้นโดยถือสินค้าคงคลังและขายในช่วงที่ราคาแข็งแกร่ง
รูปแบบผลตอบแทนสมควรได้รับคำอธิบายสั้นๆ หนึ่งประโยค กำไรจากการเดินทางครบรอบหนึ่งครั้งมีเพดานอยู่ที่หนึ่งขั้นกริดลบด้วยต้นทุน สถานะเปิดที่สะสมขึ้นเมื่อราคาออกจากช่วงกริดนั้นไม่มีเพดานที่สอดคล้องกัน
ลักษณะตลาดที่กริดต้องการ
กริดได้รับค่าตอบแทนจากการเคลื่อนที่ ไม่ใช่จากทิศทาง หุ้นสองตัวสามารถสิ้นสุดช่วงเวลาหนึ่งที่ราคาเดียวกันหลังจากครอบคลุมระยะทางที่แตกต่างกันอย่างมาก การรวมขนาดสัมบูรณ์ของการเคลื่อนไหวรายวันทุกครั้งจะให้ระยะทางรวมที่เดินทาง การหารการเคลื่อนไหวสุทธิด้วยระยะทางนั้นจะให้อัตราส่วนประสิทธิภาพ ซึ่งเป็นมาตรวัดมาตรฐานว่าเส้นทางนั้นมีทิศทางมากน้อยเพียงใด อัตราส่วนที่ต่ำอธิบายเส้นทางที่วกวน อัตราส่วนที่สูงอธิบายการเดินตรงไปข้างหน้า
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY','KO','PG','JNJ','VZ','MO','XOM','JPM','WMT','NVDA','TSLA','NFLX')
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2024-01-02') AND toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, dt
),
steps AS (
SELECT ticker, dt, c,
c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
FROM daily
)
SELECT ticker,
round(sum(abs(ret)) * 100, 0) AS travel_pct,
round(abs(argMax(c, dt) / argMin(c, dt) - 1) * 100, 1) AS net_move_pct,
round(100 * abs(argMax(c, dt) / argMin(c, dt) - 1) / sum(abs(ret)), 1) AS efficiency_pct
FROM steps
WHERE ret > -0.5 AND ret < 0.5
GROUP BY ticker
ORDER BY efficiency_pctอ่านแถวแรกและแถวสุดท้ายร่วมกัน PG ครอบคลุม 527% ของการเคลื่อนไหวรายวันสะสม และสิ้นสุด 0.9% จากจุดเริ่มต้น มีประสิทธิภาพ 0.2% SPY อยู่ตรงข้ามกันที่ 14.3% โดยเปลี่ยน 415% ของการเดินทางให้เป็นการเคลื่อนไหวสุทธิ 59.2% บันไดกริดที่วางบนเส้นทางแรกจะพบกับขั้นบันไดของตัวเองซ้ำแล้วซ้ำเล่า บันไดเดียวกันที่วางบนเส้นทางที่สองจะถูกทิ้งไว้ข้างหลัง
การเคลื่อนไหวในกรอบแคบและสงบ (Calm and range-bound) เป็นคุณสมบัติที่เกี่ยวข้องกันแต่แตกต่างกัน หุ้นสามารถลอยตัวสูงขึ้นในส่วนเพิ่มรายวันที่เล็กมากและยังคงทำให้กริดติดอยู่ ซึ่งเป็นเหตุผลหนึ่งที่ชื่อหุ้นที่ศึกษาใน วรรณกรรมเกี่ยวกับความผันผวนต่ำ (low-volatility anomaly) ไม่ได้เป็นวัสดุสำหรับกริดโดยอัตโนมัติ
การนับจำนวนการเดินทางครบรอบ
ประสิทธิภาพเป็นเลนส์หนึ่ง รายได้จากกริดขึ้นอยู่กับสิ่งที่จับต้องได้มากกว่า: จำนวนครั้งที่ราคากลับมาเยือนระดับเดิมจริงๆ การยึดราคาปิดแรกของแต่ละปีปฏิทินเป็นจุดอ้างอิง และนับจำนวนเซสชันที่ราคาปิดอยู่ฝั่งตรงข้ามของจุดอ้างอิงนั้น จะให้จำนวนครั้งที่เส้นกริดเส้นเดียวจะจับได้ โคคา-โคลา (KO) เป็นหัวข้อที่นี่ ซึ่งเป็นชื่อหุ้นกลุ่มอุปโภคบริโภคขนาดใหญ่ที่มีสภาพคล่องสูง ซึ่งเอกสารเกี่ยวกับกริดมักจะนำเสนอ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2019-01-01') AND toDate('2025-12-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
anchored AS (
SELECT toYear(dt) AS year, dt, c,
first_value(c) OVER (PARTITION BY toYear(dt) ORDER BY dt) AS anchor
FROM daily
),
sided AS (
SELECT year, dt, c, anchor,
if(c >= anchor, 1, 0) AS side,
row_number() OVER (PARTITION BY year ORDER BY dt) AS rn,
lagInFrame(if(c >= anchor, 1, 0)) OVER (PARTITION BY year ORDER BY dt) AS prev_side
FROM anchored
)
SELECT year,
countIf(rn > 1 AND side != prev_side) AS crossing_count,
count() AS sessions,
round((argMax(c, dt) / any(anchor) - 1) * 100, 1) AS net_change_pct
FROM sided
GROUP BY year
ORDER BY yearใน 2019 ราคาปิดข้ามระดับเปิดของตัวเอง 8 ครั้งจากทั้งหมด 252 เซสชัน สิ้นปี 17.9% จากระดับนั้น ใน 2025 จำนวนครั้งคือ 6 จากทั้งหมด 250 เซสชัน โดยมีการเปลี่ยนแปลงสุทธิ 13% หนึ่งเส้น หนึ่งหุ้น และวัตถุดิบสำหรับกริดนั้นแปรผันหลายเท่าตัวในแต่ละปี โดยไม่มีทางรู้จำนวนครั้งของปีถัดไปล่วงหน้า
ความแปรปรวนนั้นคือปัญหาที่เงียบเชียบ อัตราผลตอบแทนที่โฆษณาของกริดมักจะอ้างอิงต่อการเดินทางครบรอบหนึ่งครั้ง และจำนวนการเดินทางครบรอบนั้นถูกกำหนดโดยตลาด ไม่ใช่โดยการตั้งค่า
จุดที่กริดพังทลาย
รูปแบบของความล้มเหลวนั้นมีลักษณะเฉพาะ ยึดกริดไว้ที่ช่วงหนึ่ง แล้วปล่อยให้ตลาดออกจากช่วงนั้น ด้านล่างนี้ เพดานและพื้นคือราคาปิดสูงสุดและต่ำสุดของยี่สิบเซสชันแรกของปี 2024 โดยคงที่ตลอดสามสิบเดือนถัดมา โดยมีราคาปิดรายเดือนของกองทุนติดตาม S&P 500 ลากเทียบกับเส้นเหล่านั้น
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2024-01-02') AND toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
opening_20 AS (
SELECT c FROM daily ORDER BY dt LIMIT 20
),
band AS (
SELECT min(c) AS grid_low, max(c) AS grid_high FROM opening_20
),
monthly AS (
SELECT toStartOfMonth(dt) AS month_start, argMax(c, dt) AS close_px
FROM daily
GROUP BY month_start
)
SELECT formatDateTime(monthly.month_start, '%Y-%m') AS month,
round(monthly.close_px, 2) AS spy_close,
round(band.grid_high, 2) AS grid_top,
round(band.grid_low, 2) AS grid_bottom
FROM monthly, band
ORDER BY monthly.month_startแถบราคาอยู่ในช่วง $467.27 ถึง $491.26 เดือนแรกในชุดข้อมูลปิดที่ $482.92 ซึ่งอยู่ภายในแถบ เดือนสุดท้ายจากทั้งหมด 30 เดือนปิดที่ $746.32 ซึ่งสูงกว่าเพดานมาก และแผนภาพแสดงให้เห็นเส้นราคาออกจากแถบและไม่กลับมาอีก
ลองเดินตามสิ่งที่บันไดกริดทำตามเส้นทางนั้น เมื่อราคาสูงขึ้นผ่านช่วงกริด บอทจะขายสินค้าคงคลังทีละขั้น เก็บกำไรหนึ่งขั้นทุกครั้ง เมื่ออยู่เหนือเพดาน มันจะถือเงินสดและเฝ้าดู การเพิ่มขึ้นทุกจุดต่อจากนี้คือกำไรที่ผู้ดำเนินการไม่ได้มีส่วนร่วมอีกต่อไป ซึ่งเป็นรูปแบบที่รุนแรงน้อยกว่าของความล้มเหลว
รูปแบบที่รุนแรงคือภาพสะท้อน ราคาตกลงผ่านพื้น และบอทได้ซื้อในทุกขั้นระหว่างทางลง ดังนั้นตอนนี้มันจึงถือครองสินค้าคงคลังเต็มบันไดด้วยต้นทุนเฉลี่ยที่สูงกว่าราคาตลาด โดยแต่ละก้าวที่เพิ่มขึ้นจะทำให้ขาดทุนที่ยังไม่เกิดขึ้นจริงกว้างขึ้น ช่วงราคาที่ครั้งหนึ่งเคยสร้างการเทรดที่สม่ำเสมอ เล็ก และประสบความสำเร็จอย่างเห็นได้ชัด กลายเป็นสถานะที่มีความเข้มข้นเพียงสถานะเดียว การตลาดของกริดอธิบายว่าบอท "ติดอยู่" (stuck) ในงบของนายหน้านั้นคือการขาดทุนลอยตัวที่เปิดอยู่โดยไม่มีทางออกในตัว
ต้นทุนเพิ่มขึ้นตามจำนวนการเทรด
กริดดำเนินการเทรดขนาดเล็กจำนวนมาก และแต่ละเทรดจะจ่ายต้นทุนเต็มของการเดินทางครบรอบ: ส่วนต่างราคาเสนอซื้อเสนอขาย (spread) บวกค่าคอมมิชชันหรือค่าธรรมเนียมการแลกเปลี่ยนในกรณีที่เกี่ยวข้อง ส่วนต่างราคาเสนอซื้อเสนอขาย (bid-ask spread) เป็นส่วนที่มักถูกมองข้ามมากที่สุดในการคำนวณกริด เนื่องจากไม่เคยปรากฏในใบแจ้งยอดเป็นรายการแยก
ตัวอย่างเลขคณิตนั้นทำได้รวดเร็ว สำหรับหุ้นราคา $100 ที่มีส่วนต่างหนึ่งเซ็นต์ การเดินทางครบรอบที่ข้ามส่วนต่างทั้งสองด้านจะเสียไปประมาณสองเซ็นต์ หรือ 0.02% ของมูลค่าตามสัญญา เทียบกับขั้นกริดหนึ่งดอลลาร์ นั่นคือประมาณ 2% ของกำไรขั้นต้นต่อเที่ยว ขยายส่วนต่างเป็นห้าเซ็นต์ ซึ่งเป็นตัวเลขปกติสำหรับหุ้นที่มีสภาพคล่องน้อยกว่า และการเที่ยวเดียวกันนี้จะเสียสิบเซ็นต์เทียบกับกำไรขั้นต้นหนึ่งดอลลาร์ หรือ 10% การทำให้กริดแน่นขึ้นเป็นขั้นละสิบเซ็นต์เพื่อจับความผันผวนให้มากขึ้น จะลดกำไรขั้นต้นต่อเที่ยวเหลือสิบเซ็นต์ในขณะที่ต้นทุนยังคงเดิม และส่วนต่างห้าเซ็นต์จะกินทั้งการเทรดนั้น
ความสัมพันธ์นั้นกำหนดพื้นใต้ระยะห่างกริดที่มีประโยชน์: ขั้นบันไดต้องมีขนาดใหญ่พอเมื่อเทียบกับต้นทุนการเดินทางครบรอบ และยิ่งกริดแน่นเท่าไหร่ รายได้ของมันก็จะตกเป็นของสถานที่ซื้อขาย (venue) มากกว่าผู้ดำเนินการ
เหตุผลที่การย้อนกลับทดสอบ (Backtest) ทำให้บอทกริดดูดีเกินจริง
กลยุทธ์กริดสร้างผลการย้อนกลับทดสอบที่น่าสนใจผิดปกติ และเหตุผลเชิงโครงสร้างสี่ประการอธิบายสิ่งนี้ได้เป็นส่วนใหญ่
- การเลือกช่วงด้วยการมองย้อนหลัง (Hindsight) ขอบเขตที่เลือกหลังจากเห็นข้อมูลแล้วจะสามารถครอบคลุมข้อมูลนั้นได้ กริดที่ปรับให้เข้ากับช่วงเวลาที่มีการเคลื่อนไหวในกรอบจะแสดงอัตราความสำเร็จที่สูงในช่วงเวลานั้น
- บันไดที่ยังไม่ปิด (Unclosed ladder) การทดสอบที่หยุดในวันที่สิ้นสุดที่เลือกไว้ มักจะนับการเดินทางครบรอบที่เกิดขึ้นจริง ในขณะที่ปฏิบัติต่อสินค้าคงคลังที่เหลืออยู่ด้วยความใจกว้าง การบัญชีที่ซื่อสัตย์จะทำเครื่องหมายสถานะเปิดตามราคาตลาดในวันสุดท้ายและรวมการขาดทุนนั้นไว้ในผลลัพธ์
- สมมติฐานเกี่ยวกับการจับคู่คำสั่ง (Fill assumptions) คำสั่งรอที่จำลองขึ้นจะถูกจับคู่เมื่อใดก็ตามที่ราคาแตะระดับนั้น คิวคำสั่งจริงไม่ได้ถูกจับคู่เมื่อราคาแตะเสมอไป และเที่ยวที่ไม่ถูกจับคู่นั้นมักจะเป็นเที่ยวที่ทำกำไรได้ในตลาดที่เคลื่อนไหวเร็ว
- ความหนาแน่นของพารามิเตอร์ (Parameter density) ขอบเขต จำนวนเส้น ระยะห่าง และขนาดคำสั่ง ให้ตัวแปรสี่ตัวเหนืออนุกรมราคาหนึ่งชุด ซึ่งมากพอที่จะปรับให้เข้ากับหน้าต่างประวัติศาสตร์เกือบทุกช่วง
จำนวนครั้งการข้ามด้านบนเป็นเครื่องถ่วงดุลกับทั้งสี่ข้อข้างต้น ตัวเลขเหล่านี้มาจากประวัติราคาเพียงอย่างเดียว โดยไม่มีการตั้งค่าใดๆ มาผูกติด และมันแปรผันในแต่ละปีในแบบที่ไม่มีตัวเลือกพารามิเตอร์ใดควบคุมได้ ทุกคนที่ประเมินคำกล่าวอ้างของกริดสามารถถามคำถามเดียวกับมันได้: การเดินทางครบรอบที่เกิดขึ้นจริงจำนวนเท่าใดที่สิ่งนี้ขึ้นอยู่กับ และจำนวนนั้นมาจากไหน? การฝึกฝนในช่วงเวลาหนึ่งบนโปรแกรมจำลอง โดยทำเครื่องหมายบันไดเปิดตามราคาตลาดเมื่อสิ้นสุด จะตอบคำถามนี้อย่างซื่อสัตย์มากกว่าแผนภูมิของการเที่ยวที่เกิดขึ้นจริง
คำถามที่พบบ่อย
บอทเทรดแบบกริดทำเงินได้จริงหรือไม่?
กริดจะได้รับกำไรที่มีเพดานในการเดินทางครบรอบแต่ละครั้ง และมีสถานะเปิดที่ไม่มีเพดานเมื่อราคาออกจากช่วงของมัน ไม่ว่าการเที่ยวที่เกิดขึ้นจริงจะมีน้ำหนักมากกว่าสถานะเปิดในช่วงเวลาใดๆ หรือไม่นั้น ขึ้นอยู่กับว่าตลาดมีความผันผวนภายในช่วงนั้นมากน้อยเพียงใด ซึ่งเป็นคุณสมบัติของตลาด ไม่ใช่ของซอฟต์แวร์
สภาวะตลาดแบบใดที่เหมาะกับบอทกริด?
กลไกนี้ถูกสร้างขึ้นสำหรับราคาที่กลับมาเยือนระดับเดิมซ้ำๆ: ระยะทางรวมที่เดินทางสูงเมื่อเทียบกับการเคลื่อนไหวสุทธิ ในแผงข้อมูลสิบสองชื่อด้านบน อัตราส่วนประสิทธิภาพมีตั้งแต่ 0.2% ที่ปลายทางที่วกวน ไปจนถึง 14.3% ที่ปลายทางที่มีทิศทาง และกลไกบันไดจะพบกับขั้นบันไดของตัวเองเฉพาะที่ปลายทางแรกเท่านั้น
จะเกิดอะไรขึ้นเมื่อราคาทะลุออกจากช่วงกริด?
เหนือช่วงกริด บอทได้ขายสินค้าคงคลังของมันและนั่งถือเงินสดในขณะที่ตลาดดำเนินต่อไปโดยไม่มีมัน ต่ำกว่าช่วงกริด มันถือทุกขั้นที่มันซื้อระหว่างทางลง ด้วยต้นทุนเฉลี่ยที่สูงกว่าราคาปัจจุบัน และการลดลงแต่ละครั้งจะทำให้ขาดทุนที่ยังไม่เกิดขึ้นจริงนั้นกว้างขึ้น
การเทรดแบบกริดแตกต่างจากการถัวเฉลี่ยต้นทุนดอลลาร์ (Dollar-Cost Averaging) อย่างไร?
ทั้งสองวิธีซื้อมากขึ้นเมื่อราคาลดลง และความคล้ายคลึงก็สิ้นสุดเพียงเท่านั้น การถัวเฉลี่ยต้นทุนดอลลาร์ จะเพิ่มจำนวนเงินคงที่ตามกำหนดเวลาคงที่ โดยไม่มีกฎการออกและไม่มีขอบเขตบน กริดจะซื้อและขายตามตัวกระตุ้นราคาภายในช่วงที่เลือกไว้ล่วงหน้า และพฤติกรรมของมันจะเปลี่ยนไปโดยสิ้นเชิงเมื่อราคาออกจากช่วงนั้น
ระยะห่างกริดที่แน่นขึ้นจะสร้างรายได้มากขึ้นหรือไม่?
ระยะห่างที่แน่นขึ้นจะเพิ่มจำนวนการเดินทางครบรอบและลดกำไรขั้นต้นในแต่ละเที่ยว ในขณะที่ต้นทุนต่อเที่ยวยังคงเดิม เมื่อเลยจุดที่กำหนดโดยส่วนต่าง การเที่ยวที่เพิ่มขึ้นจะลบออกจากยอดรวมแทนที่จะเพิ่มเข้าไป
ตัวเลขทุกตัวด้านบนมาจากคำสั่งค้นหาที่ถูกจัดเก็บและมีเวอร์ชันบนข้อมูลราคาหุ้นจริง เปิด SQL ใต้แผงใดๆ เพื่อตรวจสอบ หรือวัดระยะทางการเคลื่อนที่เทียบกับการเคลื่อนไหวสุทธิในรายชื่อหุ้นของคุณเองบนเทอร์มินัล Strasmore