3-4 ตั้งค่าการทดสอบระบบ SetOption Code

ตั้งค่าการทดสอบระบบ SetOption Code เป็นการตั้งค่าพื้นฐาน ว่าจะให้ระบบมีการตั้งค่าอย่างไร เช่น ค่า Commission, จำนวนเงินเริ่มต้นที่จะทดสอบ, จำนวนหุ้นที่น้อยที่สุดที่สามารถซื้อได้ หรือ จำนวนสถานะที่เราต้องการเปิด เป็นต้น โดยการเขียนการตั้งค่าส่วนนี้เพื่อง่าย และลดความผิดพลาดในการปรับ Setting Parameter

จุดประสงค์: ตั้งค่าการทดสอบระบบ SetOption Code

  1. เข้าใจการตั้งค่าพื้นฐานของคำสั่ง Set Option
  2. สามารถใช้ Google ในการหาโครงสร้างของ Code ได้
  3. มีความเข้าใจถึง ความหมายของ code ต่างๆ

เนื้อหา: ตั้งค่าการทดสอบระบบ SetOption Code

โดยทั่วไปแล้วคำสั่ง SetOption สามารถกำหนดค่าเบื้องต้นให้กับระบบก่อนที่จะทำการ Back Test โดย ตัวคำสั่ง สามารถหาได้จาก www.google.com > ค้นหาคำว่า AmiBroker {Keyword ที่จะค้นหา} โดยทาง Google จะทำการหา จาก คู่มือของ AmiBroker เพื่อแสดงโครงสร้างของ Code ต่างๆ รวมถึง การกำหนดตัวแปร ในโครงสร้าง เช่น เป็นชนิด Var หรือ Array เป็นต้น

ในบทนี้จะแสดงถึงคำสั่งของ SetOption ที่ใช้หลักๆ ดังนี้
[1] SetOption (“InitialEquity”, 1000000); หมายถึง กำหนดเงินทุนเริ่มต้นที่ 1 ล้านบาท
[2] SetOption (“MaxOpenPosition”, 20); หมายถึง จำนวนสถานะสูงสุดที่จะให้โปรแกรม AmiBroker เปิดได้ ในที่นี้ เปิด 20 สถานะ สำหรับใช้ในการ BackTest และ Optimization
[3] SetOption (“MinShare”, 100); หมายถึง กำหนดหุ้น จำนวนน้อยที่สุดที่สามารถซื้อได้ สำหรับตลาดหลักทรัพย์แห่งประเทศไทย ได้กำหนดการซื้อขาย ขั้นต่ำที่ 100 หุ้น ยกเว้น หุ้นที่ราคาปิด สูงกว่า 500 บาท เกิน 6 เดือน ให้ซื้อขายกันหน่วยละ 50 หุ้นได้ และหุ้นที่เป็น Odd Lot แต่ในที่นี้ขอกำหนดในข้อกำหนดปกติ คือ ขั้นต่ำที่ 100 หุ้นต่อการซื้อขาย
[4] RoundLotSize = 100; หมายถึง การกำหนดจำนวนหุ้นต่อรอบในการซื้อ โดยการทำ BackTest
[5] SetOption (“CommisionMode”, 1); หมายถึง คิดค่าคอมมิชชั่นเป็น เปอร์เซ็นต์
[6] SetOption (“CommisionAmount”, 0.2); หมายถึง กำหนดค่าคอมมิชชั้น คือ 0.2 เปอร์เซ็นต์

บทนี้จะแสดงให้เห็นถึงการตั้งค่าต่างๆ ของโปรแกรมเบื้องต้น เพื่อใช้ในการเขียนโปรแกรมต่อไป

 

วีดีโอ: ตั้งค่าการทดสอบระบบ SetOption Code

คำบรรยายวีดีโอ

ใน VDO ส่วนนี้นะครับเราจะมาพูดในส่วนของ set options ซึ่งอยู่ใน Formula แล้วก็ formula อยู่ในส่วนไหนนะครับ ก็อยู่ในส่วนของ backtest นะครับ เปิด Amibroker ขึ้นมาแล้วก็เปิด Formula ขึ้นมาซึ่งความจริงผมเปิดไว้อยู่แล้วนะครับ ไม่เป็นไรกดบวกใหม่ new Formula เห็นมั้ยครับ 3 อันนี้ปิดไป ไม่เป็นไร อันนี้คือที่เราพูดไปเมื่อ VDO ชุดที่แล้วนะครับคราวนี้เนี่ยก่อนที่จะพูดถึงในส่วนของ code นี่นะครับของ Formula นี่นะครับผมก็อยากจะบอกว่าภาษาที่ใช้ใน Amibroker เนี่ยเค้าเรียกว่า AFL นะครับ นี่เป็นภาษา FL นะครับคราวนี้เวลาที่ท่าน set option ใน code เนี่ยแล้วไม่เข้าใจว่าแปลว่าอะไรหรือเจอ positionSize แปลว่าอะไร positionScore แปลว่าอะไร อ่ะอันนี้ตกไปนะครับท่านก็ต้องเปิด browser เข้ามานะครับ นี่นะครับแล้วท่านก็ไปที่ google.com เสร็จแล้วท่านก็พิมพ์คำนี้ไปเลยครับ amibroker แล้วก็ตามด้วยชื่อ function หรือชื่อตัวแปลที่ท่านไม่เข้าใจ กรณีนี้คือ setoption เห็นมั้ยครับแค่นี้เองแล้วก็กด enter เค้าจะขึ้นมาว่าว่าให้ไปที่ AFL function Reference นี่นะครับ setoption ก็กดเข้าไปดู ก็มาแล้วว่า OK นะเขียนว่า setoption ต้องมี field กับ มี Value
Field คืออะไรนี่นะครับ field เห็นมั้ยครับเค้าจะเขียนว่าเนี่ยเห็นมั้ยครับต้องมีเครื่องหมาย double code แล้วก็มี field อยู่ข้างใน เห็นมั้ยครับ แล้วก็มีนี่ Initial Equity อันนี้คือ field เสร็จปุ๊บ value ก็คือว่าเราบอกว่าถ้าเราใส่ field เป็น Initial Equity แล้ว value เราเป็นเท่าไรล่ะ Initial Equity นี่คืออะไรครับ เงินต้น OK มั้ยครับ ก็จะได้เข้าใจเหมือนกันนะครับ กลับไปที่ google ใหม่ Amibroker ท่านไม่เข้าใจคำว่า positionSize พิมพ์เข้าไป enter AFL function reference positionSizeนี่นะครับ ชื่อคล้ายๆกันก็กดไปดูไม่เป็นไรนี่นะครับอันนี้คือเขียนว่า setpositionsize คือมันเขียนได้หลายแบบนะครับท่านก็ลองมาอ่านดูว่า OK size นี่คืออะไร size นี่คือ area method คืออะไรก็ว่ากันไปนี่นะครับ size นี่เป็นตัวเลข มี method ใช้เป็นอะไรก็ลองมาอ่านดูนี่เค้าก็บอก by นี่คือ condition ของ by ตรงนี้ก็พอเท่านี้ก่อนจะได้รู้ว่าถ้าไม่เข้าใจจะหาวิธีใช้ function ยังไง ก็พิมพ์ Amibroker แล้วก็ตามด้วย function หรือตัวแปลนั้นๆเข้าไปอ่ะมาเริ่มต้นกันดีกว่า AFL นี่ไม่เกี่ยวเริ่มต้นนะครับอันแรกเลยที่เราต้องใช้ก็คือตัว พิมพ์นี่นะครับ setOption นะครับอันนี้เค้าจะมีบอกว่าเป็น name อะไร ตัวแรก Initial Equity อย่าลืม comma ปิดนะครับอันนี้แล้วแต่กรณีนะครับ กรณีนี้เค้าบอกว่าเป็นเครื่องหมาย double code ฟันหนูแล้วก็ตามด้วยชื่อของ field แล้วก็ value อันนี้ก็บอกใส่ ล้านนึง เสร็จปุ๊บทุกครั้งที่เราเขียน code ให้ Amibroker อ่านนะครับ อย่างส่วนนี้เป็น comment อันนี้ Amibroker ไม่สนใจอันนี้เป็น code AFL นะครับ อันนี้เป็น Function อันนี้ Amibroker สนใจเราต้องใส่ตัวนี้นะครับ ; semi colon เข้าไปด้วยเพื่อให้ Amibroker รู้ว่าตอนนี้จบบรรทัดแล้วเห็นมั้ยครับต่อไปพอเราได้เงินต้นเสร็จนี่คือเงินต้นใช่มั้ยครับเงินต้นเนี่ยต้องซื้อหุ้นอยู่ไม่เกินกี่ตัว SetOption นะครับ อันนี้คือ MaxOpenPosition บอกว่า 20 ตัว ห้ามซื้อเกิน 20 ตัวนี่นะครับจะรู้ได้งัย กลับไปที่ตัง browser เรานะครับแล้วก็บอก setOption อันนี้คือผมอยากจะพยายามเน้นให้ดูนะครับเวลาเราไม่รู้ว่าอะไรเป็นอะไรจะไปหาที่ไหน search มาแล้วนี่นะครับก็จะมี InitialEquity มาแล้วต่อไปก็คือ MaxOpenPosition อันนี้ผมโชว์เฉพาะ code ส่วนหลักๆนะครับทีนี้ท่านต้องไปศึกษาเองมีอะไรที่อาจจะต้องเพิ่มเติมเข้าไปให้มันสมจริงกว่านี้ตอนที่เราทำอะไรนะครับ Backtest อ่ะ SetOption พอได้ MaxPosition เสร็จปุ๊บเราก็ต้องบอกว่าอย่างต่ำเนี่ยต้องซื้อเท่าไรนี่นะครับ MinShare อย่างต่ำต้องซื้อ 100 หุ้นเห็นมั้ยครับ เพราะอะไรเมืองไทยเวลาซื้อหุ้นใช่มั้ยครับ แต่ละตัวต้องซื้อ 100 หุ้นอย่างต่ำนะครับต้องซื้อลงหลักร้อย อีกตัวนึงให้คู่กันก็คือเรียกว่า round lossSize …..RoundLossSize เท่ากับ 100 หมายความว่าอะไร หมายความว่าเวลาซื้อหุ้นเนี่ยเราสามารถซื้อ 1000 หุ้นอย่างนี้ซื้อได้ซื้อ 2200 หุ้นอย่างนี้ซื้อได้ ซื้อ 700 อย่างนี้ซื้อได้อ้าวแล้วอะไรซื้อไม่ได้อย่างงี้ 1010 หุ้นอย่างนี้ซื้อไม่ได้เพราะอะไร เพราะ RoundLossSize คือ หารด้วย 100 เนี่ยไม่ลงตัวเห็นมั้ยครับเค้าก็จะตบทิ้งเป็น 1000 หุ้น อันนี้นะครับตบทิ้งเป็น 1000 หุ้นไป 707 หุ้นซื้อได้มั้ย ไม่ได้ต้องซื้อ 700 หุ้น 7 ก็จะถูกตัดทิ้งไปอันนี้เพื่อให้เห็นภาพ พอเราทำการซื้อหุ้น ตั้งค่าอย่างต่ำมาแล้วแล้วก็ต้องซื้อจำนวนให้หารลงหลักร้อย เสร็จปุ๊บต่อไป พอมีหุ้นในมือต้องทำไงต่อครับต้องจ่ายค่า commission SetOption นี่นะครับแล้วก็บอกว่า CommissionMode บ้านเราเนี่ยคิด Commission เป็นอะไรคิดเป็นเปอร์เซ็นต์ท่านก็ใส่ไป0.2% อ่ะเดี๋ยวแป๊บนึงนะครับลืม Comma อ่ะ Mode เป็นเปอร์เซ็นต์นะครับต้องใส่เป็นเลข 1
1นี่เป็นหมวดเป็น % แล้วก็ setOption นี่นะครับ Commission amount อ่ะใส่ฟันหนูด้วย หน่วยเป็น คือ 0.2อ่ะเดี๋ยวขอพูดอีกทีนะครับบอก Amibroker ว่าให้คิดค่า commission เนี่ยเป็น 1 1คืออะไร 1 คือ mode เป็น % เสร็จปุ๊บแล้วกี่ %ล่ะนี่ Amount คือแล้วกี่% อันนี้บอก Mode เป็น % 0.2 %อ่ะอันนี้จะไปช้าหน่อยนะครับเพื่อโชว์ให้ดูแล้วก็ไปที่ Commission ถึงไหนแล้วนี่ commission mode เห็นมั้ยครับว่าคิดmode เป็นยังไงนี่หน่วยเราเป็น % แต่ละครั้งที่เราซื้อหรือขายเนี่ยเสียเป็น % แล้วจำนวนเท่าไร 0.2% OK มั้ยครับ เห็นมั้ยครับ เพราะว่าหน้าตัว Amibroker Guide เนี่ยสำคัญมาก Amibroker Guide AFL แล้วก็อันนี้เป็นชื่อ function ไปอ่ะในส่วนนี้เราก็ได้ทำการ SetOption คร่าวๆเรียบร้อยแล้วนะครับ ต่อไปจะไปพูดในส่วนของ buy และ sell ดีกว่า เดี๋ยวพูดต่อใน VDO หน้าครับ