انتقل إلى المحتوى

استخدام Visual Studio وبيئات التطوير المتكاملة الأخرى

إنشاء cBots/مؤشرات جديدة

يمكنك اختيار استخدام بيئات التطوير المتكاملة الخارجية لإنشاء cBots/مؤشرات جديدة بدلاً من القيام بذلك باستخدام محرر التعليمات البرمجية المدمج. يحمل استخدام بيئات التطوير المتكاملة الخارجية العديد من المزايا مثل القدرة على استخدام ملحقات بيئة التطوير المتكاملة المخصصة بما في ذلك المدققات اللغوية والمنسقات التلقائية.

بيئات التطوير المتكاملة الخارجية

فيما يلي القائمة الكاملة لبيئات التطوير المتكاملة الخارجية التي يدعمها cTrader حاليًا.

  • Visual Studio
  • Visual Studio Code
  • Rider
  • Sublime Text

يمكنك استخدام أي من البيئات المذكورة أعلاه لتحرير خوارزمية إذا كان لديك حق الوصول إلى التعليمة البرمجية المصدر الخاصة بها. حدد مثل هذه الخوارزمية في القائمة وافتح القائمة المنسدلة تحرير في... في أعلى نافذة محرر التعليمات البرمجية. في القائمة، حدد بيئة التطوير المتكاملة التي تريد فتح الخوارزمية بها.

على الرغم من وجود عدد كبير من بيئات التطوير المتكاملة المناسبة للعمل مع C# و.NET، نوصي باستخدام إما Microsoft Visual Studio أو Visual Studio Code. كلتا بيئتي التطوير المتكاملة هذه سهلة الاستخدام وتقدم مجموعة واسعة من الإعدادات القابلة للتخصيص لتسهيل العمل مع C# و.NET. تغطي وثائقنا هذه البيئات المتكاملة فقط.

Visual Studio

تثبيت حزمة cTrader.Automate NuGet

قبل إنشاء cBot أو مؤشر، قم بتثبيت حزمة cTrader.Automate NuGet. يمكنك القيام بذلك عن طريق تنفيذ الإجراءات التالية:

  • افتح قائمة Project في Visual Studio وحدد Manage NuGet packages.
  • حدد nuget.org كمصدر للحزمة واكتب cTrader في شريط البحث.
  • انقر على حزمة cTrader.Automate وحدد Install.

Image title

ملاحظة

إذا كنت تعمل من إصدار أقدم من Visual Studio (2015 أو أقدم)، فستحتاج أيضًا إلى تثبيت NuGet Package Manager. لمزيد من المعلومات، راجع هذه الوثائق.

بدلاً من ذلك، افتح قائمة Tools، وحدد NuGet package manager، وافتح Package Manager Console. فيها، اكتب Install-Package cTrader.Automate.

بعد تثبيت حزمة cTrader.Automate NuGet، عندما تقوم ببناء مشروع cBot/مؤشر، سيقوم Visual Studio تلقائيًا بإنشاء ملف .algo لمشروعك في دليل build الخاص به. عند العمل في Windows، ستقوم الحزمة أيضًا بإنشاء ملف .algo مقابل في مجلد ../Documents/cAlgo/Sources/{Robots/Indicators}.

إنشاء cBots ومؤشرات جديدة في Visual Studio

لإنشاء cBot/مؤشر جديد، قم بإنشاء مشروع جديد داخل Visual Studio واختر Class library. قم بتسمية مشروعك كما تريد أن يتم تسمية cBot/الإضافة الخاصة بك.

Image title

في ملف "Class1.cs"، اكتب الكود الخاص بـ cBot/المؤشر الخاص بك. بعد ذلك، افتح قائمة Build وحدد Build solution. بدلاً من ذلك، اضغط على Ctrl+Shift+B. بعد البناء الناجح، يجب أن ترى ملف .algo في الدلائل المحددة أعلاه.

إذا لم تر cBot/المؤشر الجديد الخاص بك في واجهة مستخدم cTrader، أعد تشغيل منصة cTrader، وسيظهر بين الإضافات الأخرى.

لمزيد من المعلومات حول Visual Studio، راجع هذه الوثائق.

Visual Studio Code

مقارنة بـ Visual Studio، يعد VS Code محرر كود أخف بكثير، مما يبرر شعبيته المتزايدة بين المطورين. لإنشاء cBots/مؤشرات عبر VS Code، يجب عليك تلبية المتطلبات الأساسية التالية.

  • قم بتثبيت .NET SDK.
  • قم بتثبيت إضافة C# داخل VS Code.

لتثبيت إضافة مناسبة، افتح سوق الإضافات، واكتب C# في شريط البحث واختر إما الإضافة الرسمية من Microsoft أو أي إضافة أخرى مناسبة.

Image title

بعد ذلك، سيتعين عليك استخدام واجهة سطر أوامر .NET (CLI) لإنشاء حل ومشروع مكتبة فئة يحتوي على cBot/المؤشر الخاص بك.

ملاحظة

يجب عليك استخدام Documents\cAlgo\Sources فقط إذا كنت تستخدم نظام Windows، وإلا يمكنك إنشاء وبناء مشاريع المؤشر/cBot الخاصة بك في أي دليل.

إنشاء مؤشر

لإنشاء مؤشر عبر VS Code، افتح طرفية PowerShell جديدة عن طريق اختيار New terminal في قائمة Terminal. بدلاً من ذلك، اضغط على Ctrl+Shift+`.

1. في الطرفية، افتح دليل Documents\cAlgo\Sources\Indicators الخاص بك.

cd Documents\cAlgo\Sources\Indicators\

2. قم بإنشاء دليل جديد لمؤشرك. سيحتوي على حل ومشروع المؤشر الخاص بك. انتقل إلى هذا الدليل.

mkdir MyIndicator
cd MyIndicator

3. قم بإنشاء حل .NET جديد داخل الدليل الذي تم إنشاؤه حديثًا.

dotnet new sln

4. قم بإنشاء مشروع مكتبة فئة .NET.

dotnet new classlib --name MyIndicator

سيتم إنشاء هذا المشروع داخل دليل MyIndicator.

5. أضف المشروع إلى الحل الخاص بك.

dotnet sln add .\MyIndicator\MyIndicator.csproj

6. قم بتثبيت حزمة cTrader.Automate NuGet.

dotnet add .\MyIndicator\MyIndicator.csproj package cTrader.Automate

7. أضف فئة المؤشر. للقيام بذلك، قم بإعادة تسمية ملف Class1.cs إلى MyIndicator.cs وافتحه، ثم استبدل محتوياته بالكود التالي. قم بتحرير الكود داخل VS Code.

 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
using cAlgo.API;

namespace cAlgo;

[Indicator(AccessRights = AccessRights.None)]
public class MyIndicator : Indicator
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    [Output("Main")]
    public IndicatorDataSeries Result { get; set; }

    protected override void Initialize()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    public override void Calculate(int index)
    {
        // Calculate value at specified index
        // Result[index] =
    }
}

8. قم ببناء المشروع.

dotnet build --configuration Release

يمكنك أيضًا بناء مشروعك باستخدام كود المصدر.

dotnet build --configuration Release -p:IncludeSource=True

يمكنك تغيير تكوين البناء إلى Debug إذا كنت ترغب في تصحيح أخطاء المؤشر الخاص بك.

بعد البناء الناجح سيكون لديك ملف .algo الخاص بالمؤشر داخل مجلد bin الخاص بمشروعه وأيضًا داخل مجلد Documents\cAlgo\Sources\Indicators\ إذا كنت تستخدم Windows.

إنشاء cBot

إنشاء cBot مشابه لإنشاء مؤشر باستثناء أنه يجب عليك استخدام فئة Robot بدلاً من فئة Indicator ودليل Documents\cAlgo\Sources\Robots\ بدلاً من Documents\cAlgo\Sources\Indicators\.

يمكنك استخدام نموذج الكود أدناه لفئة 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
using cAlgo.API;

namespace cAlgo.Robots;

[Robot(AccessRights = AccessRights.None)]
public class MyRobot : Robot
{
    [Parameter(DefaultValue = "Hello world!")]
    public string Message { get; set; }

    protected override void OnStart()
    {
        // To learn more about cTrader Algo visit our Help Center:
        // https://help.ctrader.com/ctrader-algo

        Print(Message);
    }

    protected override void OnTick()
    {
        // Handle price updates here
    }

    protected override void OnStop()
    {
        // Handle cBot stop here
    }
}

بيئات تطوير .NET الأخرى

إذا اخترت ذلك، يمكنك استخدام بيئات تطوير أخرى للعمل مع cBots والإضافات والمؤشرات. اتبع هذه الخطوات لإنشاء إضافات cTrader صالحة:

  1. قم بإنشاء مشروع مكتبة فئة .NET.
  2. قم بتثبيت حزمة cTrader.Automate NuGet.
  3. قم بإنشاء ملف فئة يحتوي على كود المصدر الخاص بـ cBot/المؤشر الخاص بك. ترث المؤشرات من فئة Indicator بينما يجب أن ترث cBots من فئة Robot.
  4. قم ببناء الإضافة الخاصة بك. لمزيد من المعلومات حول التجميع/البناء، راجع القسم ذي الصلة من هذه الوثائق.