Tuesday 11 July 2017

Oanda forex ซื้อขาย api


คุกกี้ OANDA, คุกกี้, คุกกี้คุกกี้ OANDA, cookie. ltiframe ความกว้าง 1 สูง 1 frameborder 0 สไตล์แสดงไม่มี mcestyle แสดงไม่มี gt ltrame iframe gt. OANDA FIX OANDA FIX 4 2, 4 3 4 4.REST OANDA, OANDA, 20 v20 API, - OANDA, fxTrade OANDA API - - API, API OANDA fxTrade OANDA API - - API, API OANDA. API REST, OANDA. API OANDA v20.API REST-v20.API OANDA, API. API REST 429 fxTrade OANDA API - - API, API OANDA API. v20, 101-23423 -105, API v3 REST v20.API REST v20 , 252345, API v1.Forex Trading Diary 1 - การซื้อขาย Forex แบบอัตโนมัติกับ OANDA API ก่อนหน้านี้ใน QuantStart 2014 ในบทวิจารณ์ที่ฉันจะใช้บางส่วนของการเขียนเกี่ยวกับการซื้อขาย Forex อัตโนมัติในปี 2015 ทำให้ฉันเองมักจะดำเนินการ ในตลาดตราสารทุนและตลาดฟิวเจอร์ฉันคิดว่ามันจะสนุกและการศึกษาที่จะเขียนเกี่ยวกับประสบการณ์ของฉันในการเข้าสู่ตลาดอัตราแลกเปลี่ยนในรูปแบบของไดอารี่รายการแต่ละไดอารี่จะพยายามที่จะสร้างทุกคนก่อน แต่ควรจะค่อนข้างตัวเอง - ที่มีอยู่ในรายการแรกของไดอารี่นี้ฉันจะอธิบายวิธีการตั้งค่าบัญชีการเป็นนายหน้าซื้อขายหลักทรัพย์ใหม่กับ OANDA รวมทั้งวิธีการสร้างเครื่องมือการซื้อขายแบบมัลติเธรดที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งจะสามารถทำธุรกรรมการค้าได้ทั้งในแบบปฏิบัติและแบบสด ปีที่แล้วเราใช้เวลามากในการดูที่ backtester เหตุการณ์ที่เกิดขึ้นเป็นหลักสำหรับหุ้นและ ETFs หนึ่งที่ฉันนำเสนอด้านล่างนี้มุ่งสู่ forex และสามารถใช้สำหรับการซื้อขายกระดาษหรือชีวิต tradi ng. I ได้เขียนคำแนะนำต่อไปนี้ทั้งหมดสำหรับ Ubuntu 14 04 แต่ควรจะแปลเป็น Windows หรือ Mac OS X โดยใช้การแจกจ่าย Python เช่น Anaconda ห้องสมุดเพิ่มเติมที่ใช้สำหรับเครื่องมือการค้า Python คือไลบรารีที่ร้องขอซึ่ง เป็นสิ่งจำเป็นสำหรับการสื่อสารกับ OANDA API เนื่องจากเป็นโพสต์แรกเกี่ยวกับการซื้อขายแลกเปลี่ยนเงินตราต่างประเทศโดยตรงและรหัสที่นำเสนอด้านล่างนี้สามารถปรับให้เข้ากับสภาพแวดล้อมการซื้อขายแบบสดได้อย่างตรงไปตรงมาฉันต้องการนำเสนอคำปฏิเสธดังต่อไปนี้การปฏิเสธการค้าการแลกเปลี่ยนเงินตราต่างประเทศ margin มีระดับความเสี่ยงสูงและอาจไม่เหมาะสมสำหรับนักลงทุนทุกรายผลการดำเนินงานที่ผ่านมาไม่ได้เป็นตัวบ่งชี้ถึงผลการดำเนินงานในอนาคตระดับความสามารถในการยกระดับสูงสามารถทำงานได้ดีกับคุณและของคุณก่อนที่จะตัดสินใจลงทุนในอัตราแลกเปลี่ยนคุณควรพิจารณาอย่างรอบคอบ วัตถุประสงค์ในการลงทุนระดับประสบการณ์และความเสี่ยงความเป็นไปได้ที่คุณอาจจะสูญเสียบางส่วนหรือทั้งหมดของ investm เริ่มต้นของคุณ ent และดังนั้นคุณจึงไม่ควรลงทุนเงินที่คุณไม่สามารถสูญเสียคุณควรจะตระหนักถึงความเสี่ยงทั้งหมดที่เกี่ยวข้องกับการซื้อขายแลกเปลี่ยนเงินตราต่างประเทศและขอคำแนะนำจากที่ปรึกษาทางการเงินอิสระถ้าคุณมีข้อสงสัยใด ๆ ซอฟต์แวร์นี้มีให้ตามที่เป็นอยู่และใด ๆ การรับประกันโดยชัดแจ้งหรือโดยนัยซึ่งรวมถึง แต่ไม่ จำกัด เพียงการรับประกันโดยนัยโดยนัยเกี่ยวกับความสามารถในเชิงพาณิชย์และความเหมาะสมสำหรับวัตถุประสงค์เฉพาะได้รับการปฏิเสธโดยไม่คำนึงว่าผู้เสียหายหรือผู้ร่วมสมทบใด ๆ จะต้องรับผิดต่อความเสียหายโดยทางตรงทางอ้อมอุบัติเหตุหรือเป็นแบบอย่างหรือเป็นผลสืบเนื่อง รวมถึง แต่ไม่ จำกัด เพียงการจัดหาสินค้าหรือบริการทดแทนการสูญหายของการใช้ข้อมูลหรือกำไรหรือการหยุดชะงักทางธุรกิจ แต่อย่างใดและเกี่ยวกับทฤษฎีความรับผิดใด ๆ ไม่ว่าจะในสัญญาความรับผิดที่เข้มงวดหรือการละเมิดรวมทั้งประมาทหรืออื่น ๆ ที่เกิดขึ้น ของการใช้ซอฟต์แวร์นี้แม้ว่าจะได้รับการแนะนำถึงความเป็นไปได้ของความเสียหายดังกล่าวการตั้งค่าบัญชีกับ OANDA คำถามแรกที่ต้องคำนึงถึงคือ ทำไมต้องเลือก OANDA? หลังจากใช้ Googling รอบโบรกเกอร์ forex ที่มี APIs ฉันเห็น OANDA ได้เปิดตัว API REST ที่เหมาะสมซึ่งสามารถสื่อสารกับภาษาใดก็ได้โดยง่ายในลักษณะที่ตรงไปตรงมามากหลังจากอ่านผ่านทางนักพัฒนาซอฟต์แวร์แล้ว เอกสาร API ฉันตัดสินใจที่จะทดลองใช้อย่างน้อยกับบัญชีการฝึกปฏิบัติเพื่อให้ชัดเจน - ฉันไม่มีความสัมพันธ์กับ OANDA หรือก่อนหน้านี้และกำลังให้คำแนะนำนี้ตามประสบการณ์ที่ จำกัด ของฉันในการเล่นกับ API การปฏิบัติของพวกเขาและเนื้อหาสั้น ๆ ใช้สำหรับการดาวน์โหลดข้อมูลตลาดในขณะที่ใช้ที่กองทุนก่อนหน้านี้ถ้าใครได้เจอนายหน้าซื้อขายอัตราใด ๆ อื่น ๆ ที่มี API แบบเดียวกันในปัจจุบันด้วยเช่นเดียวกันฉันยินดีที่จะให้ข้อมูลแก่พวกเขาได้ดีก่อนที่จะใช้ API คุณจำเป็นต้องลงชื่อสมัครใช้ สำหรับบัญชีการฝึกปฏิบัติให้ทำตามขั้นตอนนี้ไปที่ลิงก์ลงชื่อสมัครใช้คุณจะเห็นหน้าจอต่อไปนี้ด้วยหน้าจอลงชื่อสมัครใช้ของ DOMA จากนั้นคุณจะสามารถลงชื่อเข้าใช้ด้วยข้อมูลรับรองการเข้าสู่ระบบของคุณได้ ตรวจสอบให้แน่ใจว่าได้เลือกแท็ก fxTradePractice จากหน้าจอลงชื่อเข้าใช้แล้วหน้าจอลงชื่อเข้าใช้ของ DOMA เมื่อคุณต้องการจดบันทึกหมายเลขบัญชีของคุณซึ่งอยู่ใต้ส่วนหัวสีดำของ My Funds ที่อยู่ติดกับ Primary Mine เท่ากับ 7 หลัก นอกจากนี้คุณยังจะต้องสร้างโทเค็น API ส่วนบุคคลโดยคลิกจัดการการเข้าถึง API ภายใต้แท็บการทำงานอื่น ๆ ที่ด้านล่างซ้ายในขั้นตอนนี้คุณจะสามารถสร้างโทเค็น API ได้คุณจะต้องใช้คีย์นี้เพื่อใช้ในภายหลัง เพื่อให้แน่ใจว่าจะเขียนลงเช่นกันตอนนี้คุณต้องการที่จะเปิดตัวโปรแกรมการปฏิบัติ FXTrade ซึ่งจะช่วยให้เราเพื่อดูคำสั่งที่ดำเนินการและการสูญเสียกำไรกระดาษของเราถ้าคุณใช้ระบบ Ubuntu คุณจะต้องติดตั้ง รุ่นที่แตกต่างกันเล็กน้อยของ Java โดยเฉพาะอย่างยิ่งรุ่น Oracle ของ Java 8 หากคุณ don t ทำเช่นนี้จำลองการปฏิบัติจะไม่โหลดจากเบราว์เซอร์ที่ฉันขับรถคำสั่งเหล่านี้ในระบบของฉันตอนนี้คุณจะสามารถเปิดการซื้อขายปฏิบัติสภาพแวดล้อมกลับ ไปที่แดชบอร์ดของ OANDA และ คลิกปุ่ม Run และเครื่องมือ fxTrade Practice จะโหลด My defaulted เป็นแผนภูมิเทียน 15 นาทีมูลค่า EUR USD พร้อมแผง Quote Panel ด้านซ้ายมือ หน้าจอการปฏิบัติงานของ FDATrade ณ จุดนี้เราพร้อมที่จะเริ่มต้นการออกแบบและเขียนโค้ดระบบการซื้อขายแลกเปลี่ยนอัตโนมัติของเรากับ OANDA API มุมมองของ Trading Architecture หากคุณได้ติดตามซีรี่ส์ backtester ที่มีเหตุการณ์เป็นตัวขับเคลื่อนสำหรับหุ้นและ ETF ที่ฉันสร้างไว้ ปีที่แล้วคุณจะรู้ว่าระบบการค้าที่ขับเคลื่อนด้วยเหตุการณ์เป็นอย่างไรบ้างสำหรับบรรดาผู้ที่ยังใหม่กับซอฟต์แวร์ที่ขับเคลื่อนด้วยเหตุการณ์ฉันขอแนะนำให้อ่านบทความนี้เพื่อให้เข้าใจถึงวิธีที่พวกเขาทำงานได้ดียิ่งขึ้น , โปรแกรมทั้งหมดจะถูกดำเนินการในวง infinte ในขณะที่จะสิ้นสุดลงเมื่อระบบการซื้อขายถูกปิดกลไกการสื่อสารกลางของโปรแกรมจะได้รับผ่านทางคิวที่มีเหตุการณ์คิวคือ c ถามอย่างกะทันหันเพื่อตรวจสอบเหตุการณ์ใหม่เมื่อเหตุการณ์ถูกถอดออกจากส่วนบนสุดของคิวแล้วจะต้องได้รับการจัดการโดยองค์ประกอบที่เหมาะสมของโปรแกรมดังนั้นฟีดข้อมูลตลาดอาจสร้าง TickEvent s ซึ่งจะถูกวางลงในคิวเมื่อราคาในตลาดใหม่ มาถึงวัตถุกลยุทธ์การสร้างสัญญาณอาจสร้าง OrderEvent s ที่จะถูกส่งไปยังนายหน้าซื้อขายหลักทรัพย์ประโยชน์ของระบบดังกล่าวจะได้รับจากข้อเท็จจริงที่ว่ามัน doesn t เรื่องลำดับหรือชนิดของเหตุการณ์ที่จะวางไว้ในคิวเช่นที่พวกเขา จะได้รับการจัดการอย่างถูกต้องโดยองค์ประกอบด้านขวาภายในโปรแกรมนอกจากส่วนต่างๆของโปรแกรมสามารถเรียกใช้ในหัวข้อที่แยกต่างหากซึ่งหมายความว่าไม่มีการรอคอยใด ๆ สำหรับส่วนประกอบใด ๆ ก่อนการประมวลผลอื่น ๆ นี่เป็นประโยชน์อย่างมากในสถานการณ์การค้าอัลกอริทึมที่ ข้อมูลตลาดตัวจัดการฟีดและ generators สัญญาณกลยุทธ์มีลักษณะการทำงานที่แตกต่างกันอย่างมากมายรอบการซื้อขายหลักจะได้รับโดย pseudo - รหัส Python ต่อไปนี้เป็นเรา st ated เหนือรหัสทำงานในห่วงอนันต์ประการแรกคิวจะถึงขนาดที่จะเรียกเหตุการณ์ใหม่ถ้าคิวว่างเปล่าแล้ววงก็เริ่มใหม่หลังจากช่วงนอนหลับสั้นที่เรียกว่า heartbeat หากเหตุการณ์ที่พบประเภทของการประเมินและ แล้วโมดูลที่เกี่ยวข้องทั้งกลยุทธ์หรือตัวจัดการการดำเนินการเรียกว่าเพื่อจัดการกับเหตุการณ์และอาจจะสร้างใหม่ที่กลับไปยังคิวองค์ประกอบพื้นฐานที่เราจะสร้างสำหรับระบบการค้าของเรารวมถึงต่อไปนี้Streamingราคา Handler - จะทำให้การเชื่อมต่อระยะยาวที่เปิดอยู่กับเซิร์ฟเวอร์ OANDAs และส่งข้อมูล tick เช่นการเสนอราคาถามผ่านการเชื่อมต่อสำหรับเครื่องมือใด ๆ ที่เราสนใจอีกครั้ง Generator สัญญาณเชิงกลยุทธ์ - จะดำเนินการตามลำดับของเหตุการณ์ติ๊กและใช้เพื่อสร้างคำสั่งซื้อขายที่ จะดำเนินการโดย handler การดำเนินการ Handler การดำเนินการ - ใช้ชุดของเหตุการณ์การสั่งซื้อและสุ่มสี่สุ่มห้าปฏิบัติกับ OANDA. Events - วัตถุเหล่านี้เป็นข้อความที่ถูกส่งผ่าน ในคิวเหตุการณ์เราต้องการเพียงแค่สองรายการเท่านั้นคือ TickEvent และ OrderEvent. Main Entry Point - จุดเข้าหลักยังประกอบด้วยลูปการค้าที่คอยติดตามคิวข้อความและส่งข้อความไปยังคอมโพเนนต์ที่ถูกต้องอย่างต่อเนื่องซึ่งมักเรียกว่า ห่วงเหตุการณ์หรือ event handler ตอนนี้เราจะหารือเกี่ยวกับการใช้รหัสในรายละเอียดที่ด้านล่างของบทความเป็นรายการที่สมบูรณ์ของไฟล์รหัสต้นฉบับทั้งหมดถ้าคุณวางไว้ในไดเร็กทอรีเดียวกันและเรียกใช้ python คุณจะเริ่มต้นสร้างคำสั่ง, สมมติว่าคุณได้กรอก ID บัญชีและโทเค็นการรับรองความถูกต้องจาก OANDA. Python Implementation การปฏิบัติที่ไม่ดีในการจัดเก็บรหัสผ่านหรือคีย์รับรองความถูกต้องภายใน codebase เนื่องจากคุณไม่สามารถคาดเดาได้ว่าใครจะได้รับอนุญาตให้เข้าถึงโครงการในระบบการผลิตที่เราต้องการ จัดเก็บข้อมูลประจำตัวเหล่านี้เป็นตัวแปรสภาพแวดล้อมด้วยระบบจากนั้นจะสอบถาม envvars เหล่านี้ทุกครั้งที่มีการปรับใช้โค้ดเพื่อให้แน่ใจว่ารหัสผ่านและ aut h จะไม่ถูกจัดเก็บไว้ในระบบควบคุมเวอร์ชันอย่างไรก็ตามเนื่องจากเราสนใจเพียงอย่างเดียวในการสร้างระบบการซื้อขายของเล่นและไม่เกี่ยวกับรายละเอียดการผลิตในบทความนี้เราจะแยกโทเค็นการตรวจสอบเหล่านี้ออกเป็นไฟล์การตั้งค่าแทน ไฟล์การกำหนดค่าต่อไปนี้เรามีพจนานุกรมที่ชื่อ ENVIRONMENTS ซึ่งจัดเก็บปลายทาง API สำหรับทั้ง API ราคาของ OANDA และ API การซื้อขายแต่ละพจนานุกรมย่อยมีจุดเชื่อมต่อ API 3 ชุดแยกกันจริงและ sandbox API แบบ sandbox นั้นใช้สำหรับทดสอบโค้ดและตรวจสอบว่า ไม่มีข้อผิดพลาดหรือข้อผิดพลาดไม่มีการรับประกันการปฏิบัติงานจริงของ API จริงหรือปฏิบัติ API การปฏิบัติในสาระสำคัญให้ความสามารถในการค้ากระดาษนั่นคือจะมีคุณลักษณะทั้งหมดของ API จริงในบัญชีการปฏิบัติงานแบบจำลอง API จริงก็คือ - มันคือการซื้อขายแบบสดหากคุณใช้ปลายทางนั้นในรหัสของคุณจะซื้อขายกับยอดเงินบัญชีสดของคุณอย่างระมัดระวังยิ่งขึ้นข้อควรระวังเมื่อทำการซื้อขาย กับ API การปฏิบัติโปรดจำไว้ว่าค่าใช้จ่ายในการทำธุรกรรมที่สำคัญไม่กระทบต่อผลกระทบของตลาดเนื่องจากธุรกิจการค้าไม่ได้ถูกนำไปวางไว้ในสิ่งแวดล้อมค่าใช้จ่ายนี้จะต้องคิดในรูปแบบอื่นหากใช้สมรรถนะทางการตลาดหากคุณต้องการประเมินผลการดำเนินงานอย่างสมจริง ในต่อไปนี้เรากำลังใช้บัญชีการปฏิบัติตามที่กำหนดโดยการตั้งค่า DOMAIN เราจำเป็นต้องมีพจนานุกรมสองเล่มสำหรับโดเมนแต่ละส่วนสำหรับองค์ประกอบการสตรีมและการซื้อขาย API ในที่สุดเรามี ACCESSTOKEN และ ACCOUNTID ฉันได้กรอกข้อมูลลงในรหัสด้านล่างทั้งสองด้านด้วยรหัสดัมมา ดังนั้นคุณจะต้องใช้ของคุณเองซึ่งสามารถเข้าถึงได้จากหน้าบัญชี OANDA ขั้นตอนต่อไปคือการกำหนดเหตุการณ์ที่คิวจะใช้เพื่อช่วยให้ทุกองค์ประกอบของแต่ละการสื่อสารเราต้องสอง TickEvent และ OrderEvent เก็บข้อมูลแรก เกี่ยวกับข้อมูลตลาดตราสารเช่นการเสนอราคาที่ดีที่สุดขอและเวลาการค้าที่สองจะใช้ในการส่งคำสั่งไปยังตัวจัดการการดำเนินการและจึง contai ns ตราสารจำนวนหน่วยเพื่อการค้าตลาดประเภทสั่งซื้อหรือวงเงินและด้านข้างคือซื้อและขายเพื่อพิสูจน์รหัสเหตุการณ์ในอนาคตของเราเราจะสร้างคลาสพื้นฐานที่เรียกว่าเหตุการณ์และมีเหตุการณ์ทั้งหมดสืบทอดมาจากนี้ รหัสต่อไปนี้เราจะสร้างจะจัดการกลยุทธ์การซื้อขายในการสาธิตนี้เราจะสร้างกลยุทธ์ค่อนข้างไร้สาระที่เพิ่งได้รับทั้งหมดของตลาดเห็บและทุก 5 tick สุ่มซื้อหรือขาย 10,000 หน่วย ของ EUR USD เห็นได้ชัดว่านี่เป็นกลยุทธ์ไร้สาระ แต่ก็เป็นที่ยอดเยี่ยมสำหรับวัตถุประสงค์ในการทดสอบเพราะมันเป็นเรื่องง่ายที่จะเข้าใจและเข้าใจในรายการไดอารี่ในอนาคตเราจะถูกแทนที่ด้วยสิ่งที่น่าตื่นเต้นอย่างมีนัยสำคัญมากขึ้นที่หวังว่าจะเปิดไฟล์ profit. The สามารถ ประการแรกเรานำเข้าไลบรารีแบบสุ่มและวัตถุ OrderEvent จากเราต้องการ lib แบบสุ่มเพื่อเลือกซื้อแบบสุ่มหรือสั่งซื้อขายเราต้อง OrderEv ent เช่นนี้เป็นวิธีการที่วัตถุยุทธศาสตร์จะส่งคำสั่งไปยังคิวเหตุการณ์ซึ่งจะดำเนินการในภายหลังโดยตัวจัดการการดำเนินการคลาส TestRandomStrategy ใช้เครื่องมือนี้ในกรณีนี้คือ EUR USD จำนวนหน่วยและลำดับเหตุการณ์เป็นชุด ของพารามิเตอร์มันจะสร้างเคาน์เตอร์เห็บที่ใช้ในการบอกวิธีการหลายกรณีที่ TickEvent ได้เห็นส่วนใหญ่ของงานที่เกิดขึ้นในวิธี calculatesignals ซึ่งก็ใช้เวลาเป็นเหตุการณ์ที่กำหนดไม่ว่าจะเป็น TickEvent ละเว้นและเพิ่มขึ้นติ๊กเคาน์เตอร์ จากนั้นจะตรวจสอบเพื่อดูว่านับเป็นหารด้วย 5 แล้วสุ่มซื้อหรือขายด้วยการสั่งซื้อตลาดจำนวนหน่วยที่ระบุมันไม่ได้เป็นกลยุทธ์การค้าที่ยิ่งใหญ่ที่สุดของโลก แต่จะเป็นมากกว่าที่เหมาะสมสำหรับ OANDA ของเรา วัตถุประสงค์การทดสอบของนายหน้าซื้อขายหลักทรัพย์ API ส่วนประกอบต่อไปคือตัวจัดการการดำเนินการชั้นนี้ถูกมอบหมายให้ทำหน้าที่ในกรณี OrderEvent และทำการร้องขอไปยังโบรกเกอร์ในกรณีนี้ OANDA ในแบบใบ้นั่นคือ re จะไม่มีการจัดการความเสี่ยงหรือการซ้อนทับ potfolio การดำเนินการจัดการก็จะดำเนินการสั่งซื้อใด ๆ ที่ได้รับ given. We ต้องผ่านข้อมูลการตรวจสอบทั้งหมดไปยังชั้น Execution รวมทั้งการปฏิบัติโดเมนจริงหรือ sandbox โทเค็นการเข้าถึงและบัญชี ID จากนั้นเราจะสร้างการเชื่อมต่อที่ปลอดภัยกับ Pythons ที่สร้างขึ้นในไลบรารีส่วนใหญ่ของงานที่เกิดขึ้นใน executeorder เมธอดต้องใช้เหตุการณ์เป็นพารามิเตอร์จากนั้นจะสร้างพจนานุกรมสองชุด - ส่วนหัวและ params พจนานุกรมเหล่านี้จะถูกเข้ารหัสอย่างถูกต้องบางส่วนโดย urllib ห้องสมุด Python อื่นที่จะส่งเป็นคำขอ POST ไปยัง OANDAs API เราจะผ่านพารามิเตอร์ส่วนหัวของ Content-Type และ Authorization ซึ่งรวมถึงข้อมูลการตรวจสอบสิทธิ์ของเรานอกจากนี้เราเข้ารหัสพารามิเตอร์ซึ่งรวมถึงอุปกรณ์ EUR USD หน่วยประเภทคำสั่งซื้อและ side buy sell สุดท้ายเราขอและบันทึกการตอบสนองคอมโพเนนต์ที่ซับซ้อนที่สุดของระบบการซื้อขายคือ StreamingForexPrices obj ect ซึ่งจัดการกับการอัปเดตราคาตลาดจาก OANDA มีสองวิธีคือ connecttostream และ streamtoqueue วิธีแรกใช้ห้องสมุดคำขอ Python เพื่อเชื่อมต่อกับซ็อกเก็ตสตรีมมิ่งที่มีส่วนหัวและพารามิเตอร์ที่เหมาะสมพารามิเตอร์ต่างๆจะรวม ID บัญชีและรายการเครื่องมือที่จำเป็น ควรจะฟังการปรับปรุงในกรณีนี้เป็นเพียง EUR USD หมายเหตุบรรทัดต่อไปนี้จะบอกการเชื่อมต่อที่จะสตรีมและจึงเก็บไว้เปิดในลักษณะยาวทำงานวิธีที่สอง streamtoqueue จริงพยายามเชื่อมต่อกับกระแสถ้า การตอบสนองไม่ประสบความสำเร็จเช่นรหัสการตอบสนองไม่ได้เป็น 200 แล้วเราก็กลับมาและออกถ้าประสบความสำเร็จเราพยายามที่จะโหลดแพ็คเก็ต JSON กลับเข้ามาในพจนานุกรม Python สุดท้ายเราจะแปลงพจนานุกรม Python ด้วยเครื่องมือราคาเสนอถามและเวลา เป็น TickEvent ที่ถูกส่งไปยังคิวของเหตุการณ์ขณะนี้เรามีองค์ประกอบสำคัญทั้งหมดในสถานที่ขั้นตอนสุดท้ายคือการตัดทุกสิ่งที่เราเขียนไว้ ไปยังโปรแกรมหลักเป้าหมายของไฟล์นี้คือการสร้างสองเธรดที่แยกกันซึ่งเรียกใช้ตัวจัดการการกำหนดราคาและอีกอันหนึ่งซึ่งเรียกใช้ตัวจัดการการซื้อขายเราจำเป็นต้องใช้สองเธรดแยกกันใส่เพียงแค่เราดำเนินการสองชิ้นแยกต่างหาก ของรหัสซึ่งทั้งสองอย่างนี้ทำงานอยู่อย่างต่อเนื่องถ้าเราสร้างโปรแกรมที่ไม่ใช่เธรดแล้วซ็อกเก็ตสตรีมมิ่งที่ใช้สำหรับการอัปเดตการกำหนดราคาจะไม่เคยปล่อยตัวกลับไปสู่เส้นทางโค้ดหลักและด้วยเหตุนี้เราจึงไม่สามารถดำเนินการใด ๆ ได้ในทำนองเดียวกัน ถ้าเราวิ่งห่วงการค้าดูด้านล่างเราจะไม่เคยจริงกลับเส้นทางการไหลไปยังซ็อกเก็ตราคาสตรีมดังนั้นเราต้องมีหลายหัวข้อหนึ่งสำหรับแต่ละองค์ประกอบเพื่อให้พวกเขาสามารถดำเนินการได้อย่างอิสระทั้งสองจะสื่อสารกันผ่านทาง คิวเหตุการณ์ให้ตรวจสอบนี้ bit futher เราสร้างสองหัวข้อแยกกับบรรทัดต่อไปนี้เราผ่านฟังก์ชันหรือชื่อวิธีการไปยังอาร์กิวเมนต์คำหลักเป้าหมายแล้วผ่าน iterable เช่นรายการหรือ tuple ไปอาร์กิวเมนต์คำหลัก args ซึ่งจะส่งผ่านอาร์กิวเมนต์เหล่านั้นไปยังฟังก์ชันวิธีการที่เกิดขึ้นจริงในที่สุดเราจะเริ่มต้นเธรดทั้งสองด้วยบรรทัดต่อไปนี้ดังนั้นเราจึงสามารถเรียกใช้ได้สองลูปไม่มีที่สิ้นสุดได้อย่างมีประสิทธิภาพส่วนรหัสที่เป็นอิสระซึ่งทั้งสองสื่อสารผ่านคิวเหตุการณ์ โปรดทราบว่าไลบรารีเธรดแบบ Python ไม่ได้สร้างสภาวะแวดล้อมแบบมัลติเธรดแบบ multi-core อันเนื่องมาจากการใช้งาน Python และ Python และ Global Global Gust ลอบโพลหากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับ multithreading ใน Python โปรดดูที่บทความนี้ ประการแรกเรานำเข้าห้องสมุดที่จำเป็นทั้งหมดรวมทั้งเธรดเธรดและเวลาจากนั้นเราจะนำเข้าไฟล์โค้ดทั้งหมดที่กล่าวมาข้างต้นฉันเองชอบที่จะใช้ประโยชน์จากการตั้งค่าใด ๆ ซึ่งเป็นนิสัยที่ฉันหยิบขึ้นมาจากการทำงานร่วมกับ Django หลังจากที่เรากำหนดฟังก์ชันทางการค้าซึ่งอธิบายใน Python-pseudocode ข้างต้นวงขณะที่ไม่มีขีด จำกัด จะดำเนินการในขณะที่ True ที่ต่อเนื่อง โพสต์โอ้อวดจากคิวกิจกรรมและข้ามเฉพาะห่วงถ้าพบว่าว่างเปล่าหากเหตุการณ์พบแล้วจะเป็น TickEvent หรือ OrderEvent และคอมโพเนนต์ที่เหมาะสมถูกเรียกเพื่อดำเนินการออกในกรณีนี้เป็นกลยุทธ์หรือ ดำเนินการจัดการลูปจากนั้นก็นอนหลับสำหรับวินาทีการเต้นของหัวใจในกรณีนี้ 0 5 วินาทีและต่อเนื่องสุดท้ายเรากำหนด entrypoint หลักของรหัสในฟังก์ชันหลักเป็นอย่างดีแสดงความคิดเห็นด้านล่าง แต่ฉันจะสรุปที่นี่ในสาระสำคัญเรา instantiate เหตุการณ์ คิวและกำหนดหน่วยเครื่องมือแล้วเราจะสร้าง StreamingForexPrices ราคาสตรีมมิ่งชั้นแล้วต่อมาดำเนินการดำเนินการจัดการทั้งสองได้รับรายละเอียดการตรวจสอบที่จำเป็นที่กำหนดโดย OANDA เมื่อสร้างบัญชีเราสร้างตัวอย่าง TestRandomStrategy สุดท้ายเรากำหนดสองหัวข้อและ จากนั้นเริ่มต้นพวกเขาเมื่อต้องการเรียกใช้รหัสที่คุณเพียงแค่ต้องวางไฟล์ทั้งหมดในไดเรกทอรีเดียวกันและโทรต่อไปนี้ที่ terminal. Note ที่จะ หยุดรหัสในขั้นตอนนี้ต้องใช้ฮาร์ดดิสก์ที่ฆ่ากระบวนการ Python ผ่าน Ctrl-Z หรือเทียบเท่าฉันไม่ได้เพิ่มเธรดเพิ่มเติมในการจัดการมองหาที่จะต้องหยุดรหัสอย่างปลอดภัยวิธีที่อาจเป็นไปได้ที่จะหยุดรหัสใน เครื่อง Ubuntu Linux คือการพิมพ์จากนั้นให้ส่งต่อหมายเลขผลลัพธ์ของหมายเลขกระบวนการนี้ไปเป็นข้อมูลต่อไปนี้ในกรณีที่ PROCESSID ต้องถูกแทนที่ด้วยผลลัพธ์ของ pgrep โปรดทราบว่านี่ไม่ใช่วิธีปฏิบัติที่ดีโดยเฉพาะในบทความต่อ ๆ ไปเราจะสร้างความซับซ้อนมากขึ้น หยุดกลไกการเริ่มต้นที่ใช้การควบคุมกระบวนการของอูบุนตูเพื่อให้ระบบการซื้อขายทำงานได้ 24 7. ผลลัพธ์หลังจาก 30 วินาทีขึ้นอยู่กับช่วงเวลาของวันเทียบกับชั่วโมงการซื้อขายหลักสำหรับ EUR USD สำหรับโค้ดข้างต้น จะได้รับด้านล่างห้าบรรทัดแรกแสดงข้อมูลการติ๊ก JSON ที่ส่งคืนจาก OANDA พร้อมกับราคาเสนอซื้อในภายหลังจากนั้นคุณจะเห็นผลลัพธ์การดำเนินการตามคำสั่งซื้อรวมถึงการตอบกลับ JSON ที่ส่งคืนจาก OANDA เพื่อยืนยันการเปิดการซื้อขายซื้อ f หรือ 10,000 หน่วยของ EUR USD และราคาที่ได้รับที่นี่จะยังคงทำงานอยู่เรื่อย ๆ จนกว่าคุณจะฆ่าโปรแกรมด้วยคำสั่ง Ctrl-Z หรือที่คล้ายกันในบทความต่อ ๆ ไปเราจะดำเนินการปรับปรุงที่จำเป็นมากขึ้นรวมถึง กลยุทธ์ที่แท้จริง - กลยุทธ์ด้านอัตราแลกเปลี่ยนที่เหมาะสมซึ่งจะสร้างสัญญาณที่สร้างผลกำไรได้โครงสร้างพื้นฐานการผลิต - การใช้เซิร์ฟเวอร์ระยะไกลและระบบการเฝ้าติดตาม 24 7 ที่มีความสามารถในการเริ่มต้นหยุดงานการจัดกลุ่มและการบริหารความเสี่ยง - การลงทุนและการซ้อนทับความเสี่ยงสำหรับคำสั่งซื้อทั้งหมดที่แนะนำจากยุทธศาสตร์ ผลงานของกลยุทธ์ที่รวมเข้ากับการจัดการความเสี่ยงเช่นเดียวกับ backtester เหตุการณ์ที่ขับเคลื่อนด้วยเหตุการณ์เราจำเป็นต้องสร้างโมดูล backtesting forex ซึ่งจะช่วยให้เราสามารถดำเนินการวิจัยอย่างรวดเร็วและทำให้การปรับใช้กลยุทธ์ทำได้ง่ายขึ้น อย่าลืมเปลี่ยน ACCOUNTID และ ACCESSTOKEN เพียงแค่เริ่มต้นใช้งานการซื้อขายเชิงปริมาณ OANDA คุกกี้คุกกี้คุกกี้คุกกี้ OANDA cookie. ltiframe ความกว้าง 1 สูง 1 frameborder 0 สไตล์แสดงไม่มี mcestyle แสดงไม่มี gt ltrame iframe gt,, iOS Android. METATRADER 4 .,, -, 4 iOS Android., 1 1 2016 OANDA v20, 4.1996 2017 OANDA Corporation OANDA, fxTrade fx บริษัท OANDA - OANDA Europe Ltd, 4 50 1. บริษัท โอซานดายุโรป จำกัด 7110087 อาคาร 42 ชั้น 9A, 25 Old Broad St ลอนดอน EC2N 1HQ 542574 บริษัท ออวาด้าญี่ปุ่น จำกัด สำนักงานการเงินท้องถิ่น Kanto Kin-sho, 2137, 1571

No comments:

Post a Comment