cTrader CLI
cTrader CLI ช่วยให้นักเทรดสามารถจัดการบัญชีและการดำเนินการเทรดด้วย Algo ได้โดยตรงจากคอนโซลหรือเทอร์มินัลโดยไม่ต้องเปิดหรือพึ่งพาแอปพลิเคชัน cTrader ปกติ ด้วย cTrader CLI ผู้ใช้เพียงแค่พิมพ์คำสั่งลงในเทอร์มินัลแบบข้อความเพื่อเข้าถึงและรันอัลกอริทึม cTrader
cTrader CLI ภายในหนึ่งนาที!
- รัน cBot บน Windows และ Linux โดยไม่ต้องเปิดหรือพึ่งพาแอป cTrader Windows และประหยัดทรัพยากร RAM และ CPU
- ควบคุมอินสแตนซ์ cBot ได้อย่างมีประสิทธิภาพมากขึ้นและรัน cBot ภายใต้บัญชีต่างๆ โดยไม่ต้องเปิดหน้าต่างแอปพลิเคชัน cTrader หลายหน้าต่าง
- สร้างโปรแกรมที่กำหนดเองที่ใช้ cTrader CLI เพื่อเริ่ม หยุด และจัดการอัลกอริทึมการเทรดในภาษาโปรแกรมที่คุณต้องการ
- ผสานรวม cTrader CLI กับเครื่องมือ AI แบบสร้างสรรค์และใช้ภาษาธรรมชาติในการออกคำสั่งให้กับอัลกอริทึม
คำเตือน
cTrader CLI มีให้ใช้งานใน cTrader เวอร์ชัน 4.8 หรือใหม่กว่า และทำงานกับ Algo .NET 6 ที่ทันสมัยเท่านั้น
วิธีการเปิดใช้งานและการใช้งาน
ผ่าน cTrader Windows
หมายเหตุ
ไม่จำเป็นต้องมีทักษะด้านคำสั่งหรือการเขียนโปรแกรมในการใช้ cTrader CLI คุณสามารถเตรียมและใช้พารามิเตอร์ที่คุณต้องการสำหรับ cBot ใน cTrader Windows จากนั้นสั่งให้ cTrader Windows เริ่ม cBot ของคุณในกระบวนการภายนอกของ cTrader CLI
ในการรัน cBot ใน cTrader CLI ให้คลิกขวาที่อินสแตนซ์ในเครื่องของ cBot นั้นใน cTrader Windows แล้วเลือก เริ่มในกระบวนการภายนอก

cTrader CLI จะเปิดใช้งานโดยอัตโนมัติและเริ่มรันอินสแตนซ์โดยไม่ขึ้นกับแอปพลิเคชัน cTrader Windows
หลังจากที่คุณเริ่มอินสแตนซ์ cBot ในกระบวนการภายนอกของ cTrader CLI คุณสามารถปิด cTrader Windows เพื่อประหยัดทรัพยากร CPU และ RAM เนื่องจาก cTrader CLI ไม่จำเป็นต้องให้ cTrader Windows เปิดอยู่
ผ่านคำสั่งของ Windows
คุณสามารถเปิดใช้งาน cTrader CLI จากโปรแกรมคำสั่งใดๆ ใน Windows เช่น Command Prompt หรือ Windows PowerShell
ขั้นแรก ให้นำทางไปยังโฟลเดอร์ที่มี ctrader-cli และคัดลอกเส้นทาง ไฟล์ปฏิบัติการ cTrader CLI มักจะอยู่ในไดเรกทอรีเดียวกันกับแอปพลิเคชัน cTrader Windows ของคุณ:
1 | |

ขั้นที่สอง เปิด Command Prompt หรือ Windows PowerShell พิมพ์ cd เว้นวรรค แล้ววางเส้นทางที่คุณคัดลอกไว้ก่อนหน้านี้ โค้ดของคุณควรมีลักษณะดังนี้:
1 | |
รันโค้ด และโปรแกรมคำสั่งของคุณจะเข้าสู่ไดเรกทอรีที่มีไฟล์ปฏิบัติการ ctrader-cli
สุดท้าย คุณสามารถพิมพ์ ctrader-cli.exe ตามด้วย <command> ที่ถูกต้องและดำเนินการได้ ตัวอย่างเช่น คุณสามารถรัน ctrader-cli.exe periods เพื่อดูช่วงเวลาที่มีอยู่

เพิ่มตัวแปรเส้นทาง
ข้อมูล
หลังจากที่คุณเพิ่ม cTrader CLI ลงในตัวแปรสภาพแวดล้อม PATH คุณจะไม่จำเป็นต้องนำทางไปยังไดเรกทอรีที่มี ctrader-cli ก่อนที่จะรันคำสั่งในเครื่อง Windows ของคุณอีกต่อไป แทนที่จะเป็นเช่นนั้น คุณจะสามารถรันคำสั่งในตำแหน่งหรือโฟลเดอร์ใดก็ได้โดยเพียงแค่พิมพ์ ctrader-cli ตามด้วย <command>
ขั้นแรก ค้นหาโฟลเดอร์ที่มี ctrader-cli เหมือนที่คุณทำก่อนหน้านี้และคัดลอกเส้นทาง
1 | |
ค้นหา ตัวแปรสภาพแวดล้อม ในเมนู Start ของ Windows คลิก แก้ไขตัวแปรสภาพแวดล้อมของระบบ

ในหน้าต่าง คุณสมบัติของระบบ คลิก ตัวแปรสภาพแวดล้อม ดับเบิลคลิก Path ภายใต้ ตัวแปรผู้ใช้สำหรับ {username} ในหน้าต่าง แก้ไขตัวแปรสภาพแวดล้อม คลิกปุ่ม ใหม่ แล้ววางเส้นทางที่คุณคัดลอกไว้ก่อนหน้านี้ลงในช่อง
คลิก ตกลง จนกว่าจะปิดกล่องโต้ตอบทั้งหมด
ผ่านอิมเมจ Docker บน Linux
cTrader CLI มีให้บริการเป็น อิมเมจ Docker บน Linux ซึ่งช่วยให้คุณสามารถรัน cBot บนอินสแตนซ์ VPS ของ Linux ราคาถูก เซิร์ฟเวอร์ประสิทธิภาพสูง และแพลตฟอร์มคลาวด์ที่เชื่อถือได้ อิมเมจนี้ยังสามารถใช้บน Windows ผ่าน Docker Desktop (WSL) ในฐานะคอนเทนเนอร์ Docker ได้อีกด้วย
หมายเหตุ
หากคุณเพิ่งเริ่มต้นใช้ Docker ขอแนะนำให้คุณศึกษา เอกสารประกอบ และทำความคุ้นเคยกับแนวคิดที่จำเป็น
อิมเมจ Docker ของ cTrader CLI ถูกเผยแพร่ภายใต้ แพ็คเกจ Github ของ Spotware และมี รุ่น ใหม่ที่ให้บริการพร้อมกับการอัปเดต cTrader Windows ครั้งใหญ่ทุกครั้ง
ในการใช้อิมเมจ Docker ของ cTrader CLI ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Docker บนเครื่องของคุณแล้ว จากนั้นดึงอิมเมจ Docker ของ cTrader CLI เวอร์ชันล่าสุดที่มีอยู่:
1 | |
หลังจากดึงอิมเมจแล้ว คุณต้องสร้างและรันคอนเทนเนอร์ เนื่องจากคอนเทนเนอร์ Docker ทำงานในแซนด์บ็อกซ์เสมือนที่แยกออกจากระบบปฏิบัติการของคุณ คุณต้องอนุญาตให้คอนเทนเนอร์เข้าถึงไฟล์อัลกอริทึม cBot และไฟล์รหัสผ่าน cTID ของคุณอย่างชัดเจน สิ่งนี้สามารถทำได้โดยใช้คุณสมบัติการเมาท์ของ Docker ซึ่งช่วยให้คอนเทนเนอร์สามารถเข้าถึงไดเรกทอรีหรือไฟล์จากระบบโฮสต์ได้
คำสั่งด้านล่างสร้างคอนเทนเนอร์ตามอิมเมจที่ดึงมาและรัน cBot:
1 | |
1 2 3 4 5 6 7 8 9 | |
พารามิเตอร์ที่เหลือในคำสั่งมีคำอธิบายด้านล่าง:
| พารามิเตอร์ | คำอธิบาย |
|---|---|
--name ctrader.console.run.mybot | ระบุชื่อของคอนเทนเนอร์ |
--mount type=bind,src=/cAlgo/Robots,dst=/mnt/Robots | เมาท์ไดเรกทอรีโฮสต์ /cAlgo/Robots ไปยังไดเรกทอรีคอนเทนเนอร์ /mnt/Robots |
-e CTID='mycid' | ตั้งค่าชื่อผู้ใช้ cTID ของคุณเป็นตัวแปรสภาพแวดล้อม |
-e PWD-FILE='/mnt/Robots/ctrader-cli.pwd' | กำหนดเส้นทางไปยังไฟล์รหัสผ่าน cTID ของคุณ โดยสัมพันธ์กับจุดเมาท์ |
-e ACCOUNT='9102302' | ตั้งค่าหมายเลขบัญชีเทรดของคุณเป็นตัวแปรสภาพแวดล้อม |
-e SYMBOL='EURUSD' | ตั้งค่าชื่อสัญลักษณ์เป็นตัวแปรสภาพแวดล้อม |
-e PERIOD='H1' | ตั้งค่าช่วงเวลาเป็นตัวแปรสภาพแวดล้อม |
"/mnt/Robots/My bot.algo" | ระบุเส้นทางไปยังไฟล์อัลกอริทึม cBot ของคุณ โดยสัมพันธ์กับจุดเมาท์ |
--environment-variables | แจ้งให้ cTrader CLI ทราบว่ากำลังใช้ตัวแปรสภาพแวดล้อมในการส่งการตั้งค่าการกำหนดค่า |
คุณยังสามารถสร้างอิมเมจ Docker ที่พร้อมใช้งานตามอิมเมจ cTrader CLI คัดลอกไฟล์อัลกอริทึมของคุณลงในนั้น แล้วกำหนดค่าตัวแปรสภาพแวดล้อมทั้งหมดและการตั้งค่าอื่นๆ โดยตรงภายในอิมเมจได้
หมายเหตุ
คุณสมบัติทั้งหมดของ cTrader CLI สามารถใช้งานได้เมื่อใช้อิมเมจ Docker รวมถึงการ Backtesting และคำสั่งอื่นๆ ที่อธิบายไว้ในบทความนี้
กรณีการใช้งานทั่วไป
นี่คือรายการการดำเนินการยอดนิยมที่นักเทรดใช้ cTrader CLI:
-
รับสัญลักษณ์ทั้งหมด
1ctrader-cli symbols --ctid=letstrade@email.com --pwd-file=C:/test/password.pwd --account=1234567การตอบสนอง:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
[ { "Id": 1, "Name": "EURUSD", "Description": "Euro vs US Dollar" }, . . . { "Id": 21497, "Name": "HONG KONG 50", "Description": "HONG KONG 50" } ] -
รับข้อมูลเมตาของ Algo
1ctrader-cli metadata C:/test/RSI_cBot.algoการตอบสนอง:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
{ "Name": "RSI_cBot", "Type": "cBot", "AccessRights": "None", "BuildTime": "2023-05-11T16:42:56.7421508+03:00", "Parameters": [ { "PropertyName": "Quantity", "FriendlyName": "Quantity (Lots)", "GroupName": "Volume", "Type": "Double", "DefaultValue": 1.0, "MinValue": 0.01 }, { "PropertyName": "Source", "FriendlyName": "Source", "GroupName": "RSI", "Type": "DataSeries", "DefaultValue": { "OwnerId": "00000000-0000-0000-0000-000000000000", "FriendlyName": "Close", "IsStandard": true } }, { "PropertyName": "Periods", "FriendlyName": "Periods", "GroupName": "RSI", "Type": "Integer", "DefaultValue": 14 } ] } -
Backtest cBot
1ctrader-cli run C:\test\mycbot.algo -c=letstrade@email.com --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 -
รัน cBot ด้วยพารามิเตอร์เริ่มต้น
1ctrader-cli run C:\test\mycbot.algo -c=letstrade --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 -
รัน cBot ด้วยพารามิเตอร์ที่กำหนดเอง
1ctrader-cli run C:\mycbot.algo -c=letstrade@email.com --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1 --ConsolidationPeriods=3 --Periods=15 -
รัน cBot ด้วยพารามิเตอร์ที่บันทึกไว้ในไฟล์
1ctrader-cli run C:\mycbot.algo C:\test\mysettings.cbotset -c=letstrade --pwd-file=C:\test\password.pwd --account=1234567 --symbol=EURUSD --period=h1
การแจกแจงคำสั่ง
cTrader CLI ทำงานเหมือนกับเครื่องมือคำสั่งบรรทัดอื่น ๆ ผู้ใช้พิมพ์ ctrader-cli พร้อมกับคำสั่งที่กำหนดไว้ล่วงหน้าและรันคำสั่งนั้น ตัวอย่างเช่น คำสั่ง periods ใช้ในลักษณะนี้เพื่อแสดงรายการช่วงเวลากราฟทั้งหมดที่อัลกอริทึมสามารถรันได้:
1 | |
คำสั่งบางคำสั่งมีตัวเลือกหรืออาร์กิวเมนต์ที่ทำตามกฎเหล่านี้:
-
--เขียนไว้หน้าเวอร์ชันเต็มของตัวเลือก (เช่น--ctid,--symbol) ในขณะที่-เขียนไว้หน้าเวอร์ชันย่อ (เช่น-c,-s) -
ค่าของตัวเลือกสามารถระบุโดยใช้ช่องว่าง (เช่น
--ctid letstrade,--symbol EURUSD) หรือใช้เครื่องหมายเท่ากับ (เช่น--ctid=letstrade,--symbol=EURUSD) -
ไม่เหมือนกับตัวเลือก อาร์กิวเมนต์จะถูกพิมพ์ตามที่เป็น พิจารณาเส้นทางไปยังอัลกอริทึม มันเป็นอาร์กิวเมนต์ที่เพียงแค่พิมพ์:
C:/test/mycbot.algo
ตัวอย่าง
-
คำสั่งพร้อมตัวเลือก
คำสั่ง
accountsนี้ ซึ่งรับ--ctidและ--pwd-fileเป็นตัวเลือก แสดงข้อมูลเกี่ยวกับบัญชีทั้งหมดที่เชื่อมโยงกับ letstrade:1ctrader-cli accounts --ctid=letstrade --pwd-file=C:/test/password.pwd -
คำสั่งพร้อมอาร์กิวเมนต์
คำสั่ง
metadataนี้ ซึ่งรับเส้นทางไปยัง algo เป็นอาร์กิวเมนต์เดียว แสดงข้อมูลเมตาดาตาที่สำคัญเกี่ยวกับ algo:1ctrader-cli metadata C:/Users/{username}/Documents/cAlgo/Sources/Robots/mycoolcbot.algo
เส้นทางหรือค่าใด ๆ ที่มีช่องว่างต้องระบุโดยใช้เครื่องหมายคำพูดเดี่ยวหรือคู่ดังที่แสดงด้านล่าง:
- อาร์กิวเมนต์เช่น
'C:/test for cbot/my cbot.algo'หรือ"C:/test for cbot/my cbot.algo" - ตัวเลือกเช่น
--pwd-file='C:\test for cbot\password.pwd'หรือ--pwd-file="C:\test for cbot\password.pwd",--start='01/01/2024 12:34'หรือ--start="01/01/2024 12:34"และอื่น ๆ
หมายเหตุ
หากคุณเลือกสไตล์ในการทำบางสิ่ง หลีกเลี่ยงการใช้สไตล์ที่แตกต่างในภายหลังในโค้ดของคุณ ตัวอย่างเช่น เมื่อคุณได้ใช้เครื่องหมายคำพูดเดี่ยว (') สำหรับเส้นทางหรือค่าที่มีช่องว่างแล้ว คุณต้องใช้เครื่องหมายคำพูดเดี่ยวสำหรับเส้นทางหรือค่าอื่น ๆ ที่มีช่องว่างในโค้ดของคุณ
การสร้างไฟล์ PWD หรือ TXT
รหัสผ่านสำหรับ cTrader ID ไม่ได้ระบุโดยตรง แทนที่จะเป็นเช่นนั้น รหัสผ่านจะถูกบันทึกในไฟล์ PWD หรือ TXT และจากนั้นจะใช้ตัวเลือก --pwd-file เพื่อระบุเส้นทางไปยังไฟล์ (เช่น --pwd-file=C:\test\password.pwdหรือ --pwd-file=C:\test\password.txt)
เปิดเอกสารเปล่าในโปรแกรมแก้ไขข้อความเช่น Notepad วางหรือพิมพ์รหัสผ่านของคุณ (โดยไม่มีช่องว่างใด ๆ) จากนั้นบันทึกไฟล์ด้วยนามสกุล .pwd หรือ .txt
คำสั่ง CLI ทั้งหมด
หมายเหตุ
ตัวเลือกที่ไม่จำเป็นสำหรับคำสั่งที่กำหนดจะถูกแสดงในวงเล็บเหลี่ยม เช่น [--broker] ในตารางด้านล่าง เมื่อคุณใช้ตัวเลือกดังกล่าวในโค้ดของคุณ คุณต้องพิมพ์โดยไม่มีวงเล็บเหลี่ยม เช่น --broker
| คำสั่ง | ฟังก์ชัน | ตัวเลือกและอาร์กิวเมนต์ที่รองรับ |
|---|---|---|
--help หรือ -h | แสดงรายการคำสั่งที่มีอยู่และอาร์กิวเมนต์ของคำสั่งนั้น | — |
periods | แสดงรายการช่วงเวลากราฟที่มีอยู่ | — |
accounts | แสดงรายการบัญชีที่เชื่อมโยงกับ cTID | --ctid หรือ -c, --pwd-file, [--broker], [--environment-variables หรือ -e] |
symbols | แสดงรายการสัญลักษณ์ที่มีอยู่ | --ctid หรือ -c, --pwd-file, --account หรือ -a, [--broker], [--environment-variables หรือ -e] |
metadata | แสดงข้อมูลเมตาดาตาเกี่ยวกับ cBot หรืออินดิเคเตอร์ | <cbot.algo> |
run | รัน cBot บนสัญลักษณ์เฉพาะด้วยช่วงเวลาที่กำหนด | <cbot.algo>, [<params.cbotset>], --ctid หรือ -c, --pwd-file, --account หรือ -a, [--broker], [--environment-variables หรือ -e], --symbol, --period, [--full-access], [--CustomParameter1], …, [--CustomParameterN] |
backtest | ทำ Backtesting cBot โดยใช้ข้อมูลในอดีตสำหรับช่วงเวลา สัญลักษณ์ และพารามิเตอร์อื่น ๆ ที่ระบุ | <cbot.algo>, [<params.cbotset>], --start=<start-time>, --end=<end-time>, --data-mode=<data-mode>, [--data-file=<path>], [--balance=<balance>], [--commission=<commission>], [--spread=<pips>], [--report=<path>], [--report-json=<path>], --ctid=<ctid>, --pwd-file=<path>, --account=<id>, --symbol=<name>, --period=<period>, [--CustomParameter1=<value>], [--environment-variables] |
คำอธิบาย
| อาร์กิวเมนต์ | Explanation |
|---|---|
<cbot.algo> | เส้นทางไปยังไฟล์ .algo ที่เกี่ยวข้อง (เช่น C:/test/mycbot.algo) ในคำสั่ง run, metadata และ backtest พารามิเตอร์นี้ต้องระบุเป็นอันดับแรก |
<params.cbotset> | เส้นทางไปยังไฟล์ .cbotset ที่มีค่าพารามิเตอร์สำหรับ cBot (เช่น C:/test/special-parameters.cbotset) ในคำสั่ง run และ backtest พารามิเตอร์นี้ต้องระบุทันทีหลังจาก <cbot.algo> |
| ตัวเลือก | Explanation |
|---|---|
--version หรือ -v | เวอร์ชันของ cTrader CLI |
--ctid หรือ -c | ชื่อผู้ใช้หรืออีเมล cTID (เช่น --ctid=letstrade, --ctid=letstrade@email.com) |
--pwd-file | เส้นทางไปยังไฟล์ PWD หรือ TXT ที่มีรหัสผ่านสำหรับ cTID ที่ระบุ (เช่น --pwd-file=C:/test/password.pwd) |
--account หรือ -a | หมายเลขบัญชีเทรด (เช่น --account=1234567) |
--broker | ชื่อของโบรกเกอร์เฉพาะ (เช่น --broker=spotware) ตัวเลือกนี้ใช้เพื่อขจัดความกำกวมในกรณีที่ cTID ที่ระบุมีบัญชีเทรดหลายบัญชีกับโบรกเกอร์ต่าง ๆ ที่มีหมายเลขเดียวกัน |
--symbol หรือ -s | สัญลักษณ์ที่อัลกอริทึมเทรดหรือดำเนินการ (เช่น --symbol=EURUSD) |
--period | ช่วงเวลาสำหรับกราฟสัญลักษณ์ (เช่น --period=h1) ในคำสั่ง run และ backtest พารามิเตอร์นี้เป็นสิ่งจำเป็น |
--environment-variables หรือ -e | หากระบุ จะอนุญาตให้ค่าสำหรับตัวเลือกอื่น ๆ (เช่น ctid) ถูกนำมาจากตัวแปรสภาพแวดล้อมแทนที่จะพิมพ์อย่างชัดเจน |
--full-access | หากระบุ อัลกอริทึมจะรันโดยไม่มีข้อจำกัดสิทธิ์การเข้าถึงใด ๆ |
--CustomParameter1 | ค่าของพารามิเตอร์ที่กำหนดเองใด ๆ ที่มีชื่อตรงกับ CustomParameter1 (เช่น --SpecialPeriods=20) |
--balance | เงินทุนเริ่มต้นสำหรับ backtest (เช่น --balance=10000) |
--commission | ค่าคอมมิชชั่นต่อล้านสำหรับ backtest (เช่น --commission=30) |
--spread | สเปรดในหน่วย pips สำหรับ backtest (เช่น --spread=1) |
--data-mode | Ticks เช่น m1, m1-csv, open เป็นต้น สำหรับ backtest (เช่น --data-mode=m1) |
--data-file | เส้นทางไปยังไฟล์ CSV ที่มีข้อมูลสำหรับ backtest (เช่น --data-file=C:/test/data.csv) |
--start | เวลาเริ่มต้นใน UTC ในรูปแบบ DD/MM/YYYY [hh:mm] สำหรับ backtest (เช่น --start=01/01/2024 หรือ --start='01/01/2024 12:34' ) |
--end | เวลาสิ้นสุดใน UTC ในรูปแบบ DD/MM/YYY [hh:mm] สำหรับ backtest (ตัวอย่างเช่น --end=31/08/2024 หรือ --end='31/08/2024 20:56' ) |
--report | เส้นทางไปยังไฟล์ HTML ที่รายงาน backtest ถูกบันทึกไว้ (ตัวอย่างเช่น --report=C:/test/report.html) |
--report-json | เส้นทางไปยังไฟล์ JSON ที่รายงาน backtest ถูกบันทึกไว้ (ตัวอย่างเช่น --report-json=C:/test/report.json) |
--exit-on-stop | หากระบุไว้ กระบวนการ CLI จะสิ้นสุดลงเมื่อ cBot หยุดทำงาน |
Backtesting ใน cTrader CLI
Backtesting ช่วยให้นักเทรดสามารถใช้ข้อมูลในอดีตเพื่อประเมินประสิทธิภาพและความน่าเชื่อถือของ cBot ค้นพบจุดแข็งหรือจุดอ่อน และทดลองกับพารามิเตอร์ต่างๆ การจำลองการเทรดบนสภาวะตลาดในอดีตด้วย Backtesting ช่วยให้สามารถกำหนดได้ว่าอัลกอริทึมอาจทำงานอย่างไรก่อนที่จะนำเงินจริงไปใช้ในตลาดจริง
หมายเหตุ
แม้ว่า Backtesting จะไม่รับประกันว่าอัลกอริทึมจะประสบความสำเร็จ แต่ก็ให้การสนับสนุนทางสถิติที่ช่วยลดความเสี่ยงของความล้มเหลวที่ไม่คาดคิดในสภาพแวดล้อมการเทรดจริง
คำสั่ง
คำสั่ง backtest พร้อมตัวเลือกทั้งหมดที่เป็นไปได้:
1 | |
ตัวอย่างคำสั่ง backtest:
1 | |
รายงาน
หลังจากที่คำสั่ง backtest ถูกดำเนินการ cTrader CLI จะแสดงข้อมูลเกี่ยวกับพารามิเตอร์ของ Backtesting ก่อน

เมื่อการดำเนินการ Backtesting เสร็จสิ้น cTrader CLI จะแสดงสรุปผลลัพธ์

นอกจากนี้ cTrader CLI ยังบันทึกผลลัพธ์ของ Backtesting และรายละเอียดที่เป็นประโยชน์ไว้ในโฟลเดอร์ Backtesting การดำเนินการ Backtesting แต่ละครั้งจะได้รับ InstanceID และโฟลเดอร์ Backtesting ที่ไม่ซ้ำกัน
เส้นทางไปยังอินสแตนซ์ Backtesting ของ cBot เฉพาะ: …\data\{cBotName}\{BacktestingInstanceID}\Backtesting
โฟลเดอร์ข้อมูลในเส้นทางด้านบนมักอยู่ในไดเรกทอรีเดียวกันกับไฟล์อัลกอริทึม cBot ที่ระบุไว้ระหว่างการทำ Backtesting

ไฟล์ JSON ของเหตุการณ์มีรายละเอียดสำหรับทุกเหตุการณ์การเทรดที่สำคัญ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |
ไฟล์ TXT (ข้อความ) ของบันทึกให้ข้อมูลเกี่ยวกับการเริ่มต้น การหยุด การดำเนินการเทรด และผลลัพธ์ของ cBot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
ไฟล์ CBOTSET ของพารามิเตอร์มีพารามิเตอร์และค่าที่ใช้ในการดำเนินการ Backtesting
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
ไฟล์ HTML ของรายงานเป็นรายงาน GUI ที่ให้ภาพรวมของการดำเนินการ Backtesting สถิติการเทรด ประวัติคำสั่ง และรายละเอียดสำคัญอื่นๆ อีกมากมาย สามารถดูได้ในเว็บเบราว์เซอร์ใดก็ได้
การแก้ไขปัญหาข้อผิดพลาด
| ข้อความแสดงข้อผิดพลาด | โซลูชัน |
|---|---|
| ข้อยกเว้นที่ไม่ได้จัดการหรือการใช้งานที่ไม่ถูกต้อง | ตรวจสอบโค้ดของคุณอย่างละเอียด แก้ไขข้อผิดพลาดในไวยากรณ์หรือลบคำสั่ง ตัวเลือก หรืออาร์กิวเมนต์ที่ไม่รู้จัก |
| cTrader CLI ไม่รองรับ cBot ของ .NET 4 | คอมไพล์ cBot ของคุณใหม่สำหรับ .NET 6 ในแอปพลิเคชัน cTrader Windows ล่าสุดและใช้ไฟล์ cBot ใหม่ |
| ไม่สามารถสร้างการเชื่อมต่อได้ | ตรวจสอบและแก้ไขการเชื่อมต่ออินเทอร์เน็ตบนคอมพิวเตอร์ของคุณ |
| ข้อมูลประจำตัว cTrader ID ไม่ถูกต้อง | ตรวจสอบอีเมล ชื่อผู้ใช้ หรือรหัสผ่าน cTrader ID ที่ระบุอย่างละเอียด |
| ไม่พบบัญชี | ใช้คำสั่ง accounts เพื่อแสดงรายการบัญชีเทรดทั้งหมดที่เชื่อมโยงกับ cTrader ID ของคุณ แล้วระบุหมายเลขที่ถูกต้อง |
| ชื่อสัญลักษณ์ไม่รู้จัก | ใช้คำสั่ง symbols เพื่อแสดงรายการสัญลักษณ์ที่มีอยู่ แล้วระบุสัญลักษณ์ที่ถูกต้อง |
| ช่วงเวลาไม่รู้จัก | ใช้คำสั่ง periods เพื่อแสดงรายการช่วงเวลาที่มีอยู่ แล้วระบุช่วงเวลาที่ถูกต้อง |
| Stop out (เฉพาะ Backtesting) | ปรับปรุงโค้ด cBot ของคุณ เปลี่ยนพารามิเตอร์เพื่อป้องกันมาร์จิ้นคอล หรือทำทั้งสองอย่าง |
| ไม่มีข้อมูลย้อนหลังสำหรับช่วงเวลาที่ระบุ (เฉพาะ Backtesting) | ระบุเส้นทางไปยังไฟล์ที่มีข้อมูลย้อนหลังสำหรับช่วงเวลาที่ระบุ หรือระบุช่วงเวลาอื่น |
ต้องการ AccessRights เพิ่มเติม | ใช้ --full-access เพื่อให้สิทธิ์ที่สูงขึ้นแก่ cBot |
| รูปแบบไฟล์ CBOTSET ไม่ถูกต้อง | พิจารณาสร้างไฟล์ CBOTSET ของคุณโดยใช้ cTrader Windows เวอร์ชันล่าสุดเพื่อให้แน่ใจว่าถูกต้อง |
| หมายเลขบัญชีกำกวม | ใช้ --broker เพื่อระบุโบรกเกอร์ที่เกี่ยวข้องกับบัญชีอย่างชัดเจนเพื่อหลีกเลี่ยงความกำกวม |
| cBot ที่ไม่รองรับ | สร้าง cBot ของคุณโดยใช้ .NET 6 ใน cTrader Windows ล่าสุด ส่งออก cBot แล้วใช้ไฟล์ที่ส่งออก |
| การตั้งค่าไม่ถูกต้อง (เฉพาะ Backtesting) | ตรวจสอบพารามิเตอร์ทั้งหมดที่ระบุสำหรับ Backtesting อย่างละเอียดและแก้ไขข้อผิดพลาด |
cTrader Algo API ใน cTrader CLI
สมาชิก cTrader Algo API บางตัวทำงานแตกต่างกันใน cTrader CLI ตารางด้านล่างแสดงรายการสมาชิกและอธิบายการเปลี่ยนแปลงในพฤติกรรมของพวกเขา
| สมาชิก cAlgo API | พฤติกรรมใน cTrader CLI |
|---|---|
MessageBox | ส่งคืน MessageBoxResult.None |
Window | เมธอดทั้งหมดถูกละเว้น ไม่มีหน้าต่างแสดง |
Notifications.PlaySound | ถูกละเว้นโดยสิ้นเชิง |
Chart.TakeChartshot | ส่งคืน null |
สรุป
cTrader CLI เป็นฟีเจอร์ที่สำคัญสำหรับนักเทรดที่ต้องการขยายขอบเขตของกิจกรรมการเทรดด้วย Algo เนื่องจากช่วยให้พวกเขาสามารถเรียกใช้และจัดการ cBot ได้อย่างมีประสิทธิภาพด้วยคำสั่งบรรทัดคำสั่งที่ตรงไปตรงมา ผู้ใช้ได้รับการสนับสนุนให้ผสานรวม cTrader CLI กับ API ที่มีประโยชน์และบริการของบุคคลที่สามที่เหมาะกับความต้องการของพวกเขาเสมอ
