Wednesday 28 June 2017

กลยุทธ์การซื้อขาย แบบอัตโนมัติ โดยใช้ c # และ ninjatrader 7 ส่วนที่ 3 backtesting กลยุทธ์


ยินดีต้อนรับสู่ส่วน 3 ในการแนะนำสั้น ๆ นี้จะมีการพัฒนากลยุทธ์การซื้อขายแบบอัตโนมัติโดยใช้ C # และ NinjaTrader! 1. ในส่วนที่เรากล่าวถึงข้อมูลเบื้องต้นเกี่ยวกับการซื้อขายอัตโนมัติวิธีการที่จะได้รับการติดตั้ง NainjaTrader และอัตโนมัติรุ่นระดับกลยุทธ์ ในส่วนที่ 2. เรานกพิราบเป็นรหัสกลยุทธ์โดยการใช้กลยุทธ์พื้นฐานโกลเด้นครอสในรหัส C # และตอนนี้เราจะแสดงให้เห็นถึงวิธีการ backtest กลยุทธ์ที่ใช้ข้อมูลหุ้นในอดีตเพื่อดูว่ามันจะมีการดำเนินการ ก่อนที่เราจะเริ่มต้นผมอยากจะชี้ให้เห็นว่าเป็นส่วนหนึ่งที่สำคัญมากของ backtesting การทดสอบไปข้างหน้าหรือการดำเนินการค้าสดจะได้รับข้อมูลที่ใช้ในการดีในการใช้ในกลยุทธ์ของคุณ กับรุ่นฟรีของ NinjaTrader, Kinetick ให้ฟีดข้อมูลฟรีกับจุดสิ้นสุดของข้อมูลวัน - ความหมายที่เราสามารถ backtest บาร์ฟรีทุกวัน คุณสามารถยืนยันได้ว่าคุณเชื่อมต่อกับปลาย Kinetic อาหารวันในเมนู NinjaTrader แสดงด้านล่าง: เมื่อเราได้รับการยืนยันว่าเรามีการเชื่อมต่อกับผู้ให้บริการข้อมูลของเราขอเริ่มต้นขึ้นเซสชั่นการทดสอบกลยุทธ์ใหม่โดยการเลือกแฟ้ม = & gt; ใหม่ = & gt; วิเคราะห์กลยุทธ์รายการเมนู: นี้จะเปิดหน้าต่างวิเคราะห์กลยุทธ์ใหม่ที่จะทำงานเป็นทรายสำหรับ backtesting ของเรา ในหน้าต่างที่เปิดนี้คุณจะเห็นต้นไม้มุมมองในช่องด้านซ้ายที่มีการเริ่มต้นไม่กี่รายการ สำหรับ endeaver backtesting ครั้งแรกของเราลอง backtesting กลยุทธ์การครอสโอเวอร์ของเรามีข้อมูลที่แอปเปิ้ลที่ผ่านมา 2 ปี ในขณะที่คุณอาจจะรู้ว่าแอปเปิ้ลมีการซื้อขายในตลาด Nasdaq ภายใต้สัญลักษณ์ AAPL ขยาย NASDAQ 100 โหนดเลือก AAPL คลิกขวาและเลือก "backtest" ที่แสดงด้านล่าง: ถ้าคุณรู้สึก adventerous โดยเฉพาะอย่างยิ่งที่คุณจะสามารถทดสอบกลยุทธ์กับทั้ง NASDAQ 100 รายการ - แม้ว่าผลจะกลายเป็นเพียงเล็กน้อยยากที่จะตีความ เมื่อคุณเลือกนี้หน้าต่าง dockable จะปรากฏขึ้นจากด้านขวาของหน้าจอ ขานี้ไปยังหน้าจอโดยใช้ไอคอนบนขาขวาบนและตั้งค่าพารามิเตอร์ตามที่แสดงด้านล่าง: ที่นี่ไฮไลท์บางส่วนของพารามิเตอร์ที่เรากำลังตั้งค่าที่นี่: MyInput0: นี่คือทรัพย์สินของประชาชนเรากล่าวถึงในส่วนที่ 1 ของชุดนี้ แม้ว่าค่านี้จะไม่ส่งผลกระทบต่อกลยุทธ์ของเราที่ทุกคนควรจะแสดงให้เห็นถึงเรื่องนี้ว่าเป็นไปได้ที่จะทำให้สามารถใช้ได้กับตัวแปร backtester เพื่อให้คุณสามารถลองหลายค่า ชุดข้อมูล: นี่คือที่ที่เราตั้งค่าขนาดบาร์ของเรา - และตั้งแต่ที่เรากำลังใช้ข้อมูลสิ้นสุดของวันฟรีเราจะตั้งค่านี้เป็นวันที่ 1 กรอบเวลา: นี้ระบุระยะเวลาที่เราจะ backtesting ฉันจะกลับไปที่จุดเริ่มต้นของปี 2011 ใกล้จบการทำงานบน: ให้แน่ใจว่าได้ตั้งค่านี้เป็น "เท็จ" มิฉะนั้นคำสั่งที่เราใส่ลงไปจะไม่ถูกจัดขึ้นในช่วงกลางคืน รวมค่านายหน้า: ในตัวอย่างของเราเราไม่ได้ค่านายหน้ารวมทั้งที่จะมีการเรียกเก็บเพื่อดำเนินการซื้อขายที่ นั่นเป็นเรื่องที่เล็กน้อยขั้นสูงที่จะกล่าวถึงในบทความในอนาคต หลังจากที่ค่าเหล่านี้ได้รับการตั้งค่าไปข้างหน้าและคลิก "Run backtest" ที่จะเตะสิ่งปิด หลังจากช่วงเวลาสั้น ๆ คุณจะเห็นผลการแสดงในแท็บสรุปในบานหน้าต่างศูนย์! ในขณะที่คุณสามารถดูกลยุทธ์ของเราคือการทำกำไรโดยรวมในช่วงเวลานี้ (ดูที่ "รวมกำไรสุทธิ") การดำเนินการซื้อขาย 10, 5 ซึ่งเป็นกำไร! ใช้ความสำเร็จนี้ด้วยเม็ดเกลือ แต่เนื่องจากมีหลายปัจจัยที่ควรพิจารณาเมื่อมีการประเมินว่าเป็นกลยุทธ์ที่จะประสบความสำเร็จเมื่อทำงานกับข้อมูลที่อยู่ (ย้อนหลังคือ 20/20 ใช่มั้ย?) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลที่แสดงในตารางนี้ให้ดูที่หน้านี้ NinjaTrader สำหรับเอกสาร คลิกที่แท็บกราฟเราสามารถมองเห็นภาพของ represnetation วิธีการซื้อขายกลยุทธ์ที่ดำเนินการในช่วงเวลา: และโดยคลิกที่ "การค้า" เราสามารถมองเห็นรายละเอียดของการค้าในแต่ละที่ได้รับการดำเนินการไปนี้: โดยใช้เครื่องมือเหล่านี้เราสวยอย่างทั่วถึงสามารถประเมินวิธีการที่ดีกลยุทธ์ของเราจะได้ทำมันรับการดำเนินการในช่วงระยะเวลาที่ผ่านมาเวลา - มีประสิทธิภาพอย่างน่าอัศจรรย์! ตอนนี้ขอบอกว่าคุณต้องการที่จะทำให้การปรับแต่งกับกลยุทธ์ของคุณและเห็นผล - ก็สามารถทำได้โดย: กระโดดกลับเข้ามาใน NinjaScript บรรณาธิการ ทำให้การเปลี่ยนแปลงที่ต้องการ Re รวบรวมกับ F5 กลับมาที่การวิเคราะห์กลยุทธ์ คลิกขวา backtest หวังว่าชุดนี้ให้เริ่มต้นอย่างรวดเร็วสำหรับผู้พัฒนา C # ที่มีความสนใจในการซื้อขายอัตโนมัติ แต่สันนิษฐานว่าอุปสรรค์ที่สูงเกินไป - มันจริงๆง่ายและอิสระในการเริ่มต้น! มีแน่นอนยังคงเป็นจำนวนมากเพื่อให้ครอบคลุมรวมถึงการแก้จุดบกพร่อง Visual Studio และกลยุทธ์การเพิ่มประสิทธิภาพ - ฉันหวังว่าจะเพิ่มหัวข้อเหล่านั้นในการโพสต์ในอนาคต!

No comments:

Post a Comment