ข้ามไปที่เนื้อหา

พารามิเตอร์ที่ปรับแต่งได้ในปลั๊กอิน

พารามิเตอร์ที่ปรับแต่งได้คือฟิลด์ที่ผู้ใช้สามารถแก้ไขได้ ซึ่งค่าหรือการตั้งค่าจะถูกใช้ในการทำงานของอัลกอริทึม พารามิเตอร์เหล่านี้ช่วยให้ผู้ใช้ปลั๊กอินสามารถกำหนดค่าหรือควบคุมพฤติกรรมของปลั๊กอินได้โดยไม่จำเป็นต้องเข้าถึงหรือแก้ไขซอร์สโค้ด

พารามิเตอร์ที่ปรับแต่งได้ในปลั๊กอินภายในหนึ่งนาที

  • พารามิเตอร์ที่ปรับแต่งได้ช่วยขยายขีดความสามารถของปลั๊กอินได้อย่างมาก โดยเปลี่ยนโค้ดปลั๊กอินที่คงที่ให้กลายเป็นตรรกะที่เปลี่ยนแปลงได้และกำหนดค่าได้
  • นักพัฒนาปลั๊กอินใช้พารามิเตอร์ที่ปรับแต่งได้ในโค้ดของพวกเขา เพื่อให้ผู้ใช้ปลายทางสามารถปรับพฤติกรรมของอัลกอริทึมให้ตรงกับความต้องการของพวกเขาได้
  • พารามิเตอร์ที่ปรับแต่งได้ในปลั๊กอินช่วยเพิ่มการเข้าถึงและทำให้การทำงานของปลั๊กอินสอดคล้องกับความสามารถที่กำหนดไว้ของ cBot และอินดิเคเตอร์

คุณสามารถเข้าถึงและแก้ไขพารามิเตอร์ที่ปรับแต่งได้ของปลั๊กอิน หากมี ใน ส่วนปลั๊กอิน ในการตั้งค่า

การประกาศพารามิเตอร์

พารามิเตอร์จะถูกประกาศโดยใช้แอตทริบิวต์ [Parameter] ที่วางไว้เหนือคุณสมบัติ C# สาธารณะ เครื่องมือปลั๊กอินจะอ่านแอตทริบิวต์เหล่านี้ในขั้นตอนการเริ่มต้นและสร้างแผงพารามิเตอร์ตามนั้น

หมายเหตุ

ปลั๊กอิน Python ใช้พารามิเตอร์ที่ปรับแต่งได้ซึ่งประกาศใน ไฟล์ .cs

โค้ดด้านล่างนี้บอกให้ cTrader แสดงฟิลด์ข้อความ API Key ภายใต้กลุ่ม API & SYSTEM SETTINGS และสิ่งที่ผู้ใช้ป้อนเข้ามาจะถูกกำหนดให้กับคุณสมบัติ ApiKey ก่อนที่ปลั๊กอินจะเริ่มทำงาน

1
2
[Parameter("API Key", Group = "API & SYSTEM SETTINGS", DefaultValue = " ")]
public string ApiKey { get; set; }

นี่คือตัวอย่างโค้ดที่ประกาศพารามิเตอร์ที่ปรับแต่งได้หลายรายการ:

 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
// API & SYSTEM SETTINGS
[Parameter("API Key", Group = "API & SYSTEM SETTINGS", DefaultValue = " ")]
public string ApiKey { get; set; }

[Parameter("Max Retries", Group = "API & SYSTEM SETTINGS", DefaultValue = 3)]
public int MaxRetries { get; set; }

[Parameter("Enable Logging", Group = "API & SYSTEM SETTINGS", DefaultValue = false)]
public bool EnableLogging { get; set; }

// RISK MANAGEMENT

[Parameter("Stop Loss (pips)", Group = "RISK MANAGEMENT", DefaultValue = 40.0, MinValue = 1.0, Step = 1.0)]
public double StopLossPips { get; set; }

[Parameter("Enable Trailing Stop", Group = "RISK MANAGEMENT", DefaultValue = true)]
public bool EnableTrailingStop { get; set; }

[Parameter("Stop Loss Trigger Method", Group = "RISK MANAGEMENT", DefaultValue = StopTriggerMethod.Trade)]
public StopTriggerMethod StopLossTrigger { get; set; }

// TRADE SETTINGS
[Parameter("Trade Direction", Group = "TRADE SETTINGS", DefaultValue = TradeType.Buy)]
public TradeType TradeDirection { get; set; }

// ORDER SETTINGS
[Parameter("Pending Order Type", Group = "ORDER SETTINGS", DefaultValue = PendingOrderType.Limit)]
public PendingOrderType OrderType { get; set; }

[Parameter("Expiry Time (HH:mm:ss)", Group = "ORDER SETTINGS", DefaultValue = "00:30:00")]
public string ExpiryTime { get; set; }

การใช้พารามิเตอร์

เมื่อพารามิเตอร์ถูกกำหนดแล้ว สามารถใช้ภายในเมธอดใดก็ได้ในโค้ดปลั๊กอิน ในกรณีส่วนใหญ่ ค่าเหล่านี้จะถูกอ่านภายใน OnStart() หรือใช้ระหว่างการทำงาน

ในตัวอย่างโค้ดนี้ พารามิเตอร์ที่ปรับแต่งได้ที่ประกาศไว้ก่อนหน้านี้หลายรายการถูกใช้ในคำสั่งพิมพ์ ซึ่งจะถูกดำเนินการเมื่อปลั๊กอินเริ่มทำงาน:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
protected override void OnStart()
{
    Print($"API Key: {ApiKey}");
    Print($"Max Retries: {MaxRetries}");
    Print($"Enable Logging: {EnableLogging}");

    Print($"Stop Loss (pips): {StopLossPips}");
    Print($"Enable Trailing Stop: {EnableTrailingStop}");
    Print($"Stop Loss Trigger Method: {StopLossTrigger}");

    Print($"Trade Direction: {TradeDirection}");

    Print($"Pending Order Type: {OrderType}");
    Print($"Expiry Time: {ExpiryTime}");
}

Image title