โครงการนี้เป็นบทสรุปประสบการณ์ของฉันในการทำงานเป็นนักพัฒนาและหัวหน้าทีมสำหรับสถาบันการเงินต่างๆ (ธนาคารและโบรกเกอร์ FOREX) และเทรดเดอร์รายบุคคล ฉันสร้างแอปพลิเคชันให้ง่ายที่สุดเท่าที่จะเป็นไปได้เพื่อใช้กับสิ่งที่ซับซ้อนเช่นการเงิน
โปรแกรมที่เหมาะกับทุกคน
การใช้แอพนี้สามารถเติบโตได้ใน 3 ทิศทาง - เมื่อใช้อย่างต่อเนื่อง เราสามารถเป็นผู้บริโภค/พ่อค้าที่ดีขึ้นและชาญฉลาด จากนั้นเป็นเทรดเดอร์ที่ดีขึ้นและเป็นนักลงทุนที่ชาญฉลาดในที่สุด หน้าจอเหล่านี้จะแสดงและติดตามผลการดำเนินงานและความสัมพันธ์ส่วนตัวของคุณกับการเงิน สถานะทุนประจำปีและผลการดำเนินงานรายได้/การใช้จ่ายต่อวัน/เดือน
เวอร์ชันนี้ไม่มีค่าใช้จ่าย แต่หากคุณต้องการเวอร์ชันที่ดีกว่าและปลอดภัย คุณสามารถเขียนถึงฉันที่ [email protected] เพื่อพูดคุยเกี่ยวกับการปรับปรุง/การติดตั้ง/การสนับสนุน และตกลงเกี่ยวกับ $
แอป. ไปที่โฟลเดอร์ FinCore/ClientApp Run: npm install
สำหรับ UI Debug run: : npm run start
และใช้ URL http://127.0.0.1:4200 สำหรับการรัน UI เวอร์ชัน debug
สร้างแอปพลิเคชันทั้งหมด หากต้องการสร้างเป็นแอป Windows Service หรือคอนโซล: เรียกใช้จากบรรทัดคำสั่ง: build.bat
หากต้องการสร้างเป็นอิมเมจนักเทียบท่า: เรียกใช้: docker.sh
หากคุณล้มเหลวในการสร้างหรือไม่ต้องการสร้างบนเครื่องของคุณ ก็มีตัวเลือกในการรับอิมเมจนักเทียบท่าจากฮับนักเทียบท่าของฉัน รันคำสั่งนี้:
git clone https://github.com/sergiovision/FinCore.git
docker pull dockersergio/fincore:latest
docker-compose up
เพื่อให้การสร้างสำเร็จควรติดตั้งแอปต่อไปนี้: Visual Studio 2019, เครื่องมือสร้าง Visual Studio 2019, NPM ล่าสุดจาก http://nodejs.org จำเป็นต้องติดตั้งแอปพลิเคชันเพื่อให้เซิร์ฟเวอร์ทำงานได้อย่างถูกต้อง:
ฐานข้อมูล SQLite อยู่ในโฟลเดอร์ /DB
ตามค่าเริ่มต้นที่ใช้ไฟล์ SQLite DB แต่รองรับ MySQL คุณสามารถสลับไปใช้ MySQL ในไฟล์ /FinCore/appSettings.json
สำหรับการกำหนดค่าการตั้งค่าโมดูล crypto Api Keys สำหรับ KuCoin และ/หรือผู้ให้บริการ FTX:
สำหรับการแลกเปลี่ยน KuCoin ให้ตั้งค่าคุณสมบัติต่อไปนี้ใน /FinCore/appSettings.json
: KuCoinAPIKey
- KuCoin Main API Key KuCoinAPISecret
- API Secret KuCoinPassPhrase
- Pass Phrase
KuCoinFutureAPIKey
- คีย์ API ของ KuCoin Futures KuCoinFutureAPISecret
- ความลับของ API KuCoinFuturePassPhrase
- วลีของ Futures Pass
สำหรับการแลกเปลี่ยน FTX: FTXAPIKey
- คีย์ FTX API FTXAPISecret
- ความลับ FTX API
เปิดไฟล์ fincore_empty.sqlite
ในตัวแก้ไข DB ใดๆ ที่ทำงานร่วมกับ SQLite (เช่น Navicat)
เปิดหน้าจอการตั้งค่าและตั้งค่าตัวแปรต่อไปนี้
XTrade.TerminalUser
- ควรตั้งค่าเป็นชื่อล็อกอินของผู้ใช้ Windows ซึ่งเทอร์มินัลการซื้อขายจะทำงาน
XTrade.InstallDir
- โฟลเดอร์การติดตั้ง XTrade
Metatrader.CommonFiles
- พาธไปยังโฟลเดอร์ไฟล์ทั่วไปของ MT5
MQL.Sources
- พาธไปยังโฟลเดอร์ MQL ที่โรบอต MQL ของคุณจัดเก็บไว้
หากต้องการติดตั้งแอปพลิเคชันในโหมดบริการ Windows ให้สร้างโปรเจ็กต์ภายใต้ Windows ไปที่โฟลเดอร์ bin และรันคำสั่ง (ภายใต้สิทธิ์ผู้ดูแลระบบ): FinCore.exe install
หากคุณประสบปัญหาในการทำงาน ให้ตรวจสอบ FinCore.MainServer.log
เพื่อดูข้อผิดพลาด
โครงสร้างโฟลเดอร์ FinCore:
/BusinessLogic - ตรรกะหลักของแอป
/BusinessObjects - วัตถุทางธุรกิจที่ใช้ร่วมกัน
/FinCore - โฮสต์เซิร์ฟเวอร์หลักด้วยตนเองและตัวควบคุม WebAPI
/ClientApp - แอปพลิเคชันไคลเอ็นต์เชิงมุม
/MQL5 - โปรแกรมปฏิบัติการ MQL5 ที่ต้องติดตั้งใน Metatrader เพื่อให้สามารถซิงโครไนซ์และทำงานกับ Metatrader ได้
เกี่ยวกับฟินคอร์
แดชบอร์ดเรียลไทม์
หนังสือกระเป๋าสตางค์
บูรณาการ Metatrader
การจัดการเทอร์มินัล/นายหน้าและที่ปรึกษาหลายแห่ง
การจัดการเมตาสัญลักษณ์
อัตราแลกเปลี่ยนเรียลไทม์
สถิติการซื้อขายและการบริหารความเสี่ยง
ประวัติข้อเสนอ
บันทึกการใช้งาน
พายการลงทุน
งานพื้นหลัง
รายได้/การใช้จ่าย ประสิทธิภาพต่อวัน/เดือน
รัฐทุนประจำปี
เมื่อแอปพลิเคชันเริ่มต้นจะสามารถเข้าถึงได้โดยลิงก์นี้: http://localhost:2020/#/login หรือ http://localhost:2020/#/dashboard
พอร์ต Websockets ใช้พอร์ต 2021
ตรวจสอบให้แน่ใจว่าพอร์ต 2020
และ 2021
เปิดอยู่เพื่อให้ FinCore สามารถเข้าถึงได้ภายนอก VPS หากคุณเรียกใช้แอปพลิเคชันใน docker บนที่อยู่แยกต่างหากเพื่อเชื่อมต่อกับ Windows ที่มีเทอร์มินัล Metatrader อยู่ - คุณควรเปิดใช้งานการส่งต่อพอร์ตใน Windows:
รันคำสั่งนี้ในบรรทัดคำสั่งของ windows:
netsh interface portproxy add v4tov4 listenport=2020 listenaddress=127.0.0.1 connectport=2020 connectaddress='docker container address'
netsh interface portproxy add v4tov4 listenport=2022 listenaddress=127.0.0.1 connectport=2022 connectaddress='docker container address'
หลังจากนั้นผู้เชี่ยวชาญทุกคนใน Metatrader จะสามารถซิงโครไนซ์กับแอป FinCore ที่ทำงานบน Docker หรือบนเครื่อง/ระบบปฏิบัติการอื่นได้
หากต้องการเปิดเผยแอปพลิเคชัน Fincore ผ่านเว็บเซิร์ฟเวอร์ NGINX ให้เพิ่มข้อความต่อไปนี้ในไฟล์ nginx.conf ใต้ส่วนเซิร์ฟเวอร์ { } : `location ^~ /fincore/ {
proxy_pass http://127.0.0.1:2020/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}`
การเข้าสู่ระบบเริ่มต้นสำหรับไฟล์ fincore_empty คือ:
อีเมล์: [email protected]
รหัสผ่าน: test
หนังสือกระเป๋าสตางค์
แดชบอร์ดเรียลไทม์
แดชบอร์ดแสดงสถานะปัจจุบันและประสิทธิภาพการลงทุนแบบเรียลไทม์ ใช้เอ็นจิ้นที่ขับเคลื่อนด้วย websocket ประสิทธิภาพสูงเพื่ออัปเดตเครื่องมือแบบเรียลไทม์การตั้งค่า
การเพิ่มที่ปรึกษาใน Metatrader
หากต้องการเพิ่มที่ปรึกษาบนแผนภูมิ เพียงคลิกขวาและเลือกเทมเพลตวัตถุประสงค์ FinCore จะทำส่วนที่เหลือทั้งหมดการตั้งค่า Metatrader
ที่ปรึกษาผู้เชี่ยวชาญโต้ตอบกับเซิร์ฟเวอร์แอปผ่าน WebAPIที่ปรึกษา
ที่ปรึกษามีแผงอยู่ที่มุมซ้ายบนของแผนภูมิ การตั้งค่าที่ปรึกษาสามารถแก้ไขได้บนหน้าจอนี้ การจัดการที่ปรึกษาการจัดการเทอร์มินัล/นายหน้าและที่ปรึกษาหลายแห่ง
รัฐทุนประจำปี
สรุปสถานะทุนตลอดทั้งปีสถิติการซื้อขายและการบริหารความเสี่ยง
หน้าจอที่เป็นประโยชน์สำหรับเทรดเดอร์/นักลงทุน ที่นี่คุณสามารถดูว่าตราสารตัวใดทำงานได้ดีกว่า และเลือกตัวโปรดสำหรับการเทรด/การลงทุนครั้งต่อไปของคุณพายการลงทุน
สังเกตวงกลมพอร์ตการลงทุนของคุณบนหน้าจอนี้บันทึกการใช้งาน
การบันทึกที่มีสีสันจากเทอร์มินัลการซื้อขายทั้งหมดในม้วนบันทึกเดียว ไม่จำเป็นต้องเปิดบันทึกเทอร์มินัลแต่ละรายการรายได้/การใช้จ่าย ประสิทธิภาพต่อวัน/เดือน
หน้าจอที่มีประโยชน์มากนี้จะแสดงวิธีที่คุณได้รับ/ใช้จ่ายเงินในชีวิตและในตลาดประวัติข้อเสนอ
ประวัติการซื้อขายที่เสร็จสมบูรณ์/ปิดแล้วงานพื้นหลัง
ดูและควบคุมงาน ที่นี่คุณสามารถเรียกงานประจำต่างๆ ตารางงานที่ดำเนินการโดยใช้ไลบรารี Quartz และตั้งค่าโดยใช้นิพจน์ cron ใน DBการจัดการเมตาสัญลักษณ์
ในการเพิ่มสัญลักษณ์ใหม่ให้กับ FinCore ให้เพิ่ม MetaSymbol ใหม่ จากนั้นเพิ่มสัญลักษณ์ใหม่บนหน้าจอนี้ จากนั้นจึงสามารถสร้างที่ปรึกษาสำหรับสัญลักษณ์นี้ได้อัตราแลกเปลี่ยนเรียลไทม์
หากต้องการอัปเดตอัตราแลกเปลี่ยน ให้เปิดและเชื่อมต่อเทอร์มินัล Metatrader ของคุณกับ Fincore และเริ่ม ExhangeRatesJob ในงานเบื้องหลัง