Langkau tajuk talian

Cara menambah awan pada indikator cTrader

cTrader Algo membolehkan anda melukis awan antara garisan pada carta. Awan sedemikian membolehkan anda mengenal pasti kawasan utama pada carta dengan cepat dan mengesan perubahan dalam tingkah laku pasaran.

Dalam artikel ini dan video yang berkaitan, kami akan menunjukkan kepada anda cara untuk menambah dan menyesuaikan awan dalam indikator.

Tambah indikator

Indikator Bollinger Bands yang tipikal terdiri daripada jalur atas, jalur bawah dan purata bergerak mudah di tengah. Untuk meningkatkan penampilan indikator, kami merancang untuk mengisi ruang antara jalur dengan awan.

Untuk mencipta indikator, buka aplikasi Algo dan navigasi ke tab Indikator. Klik butang Baharu, taip nama untuk indikator, seperti "Bollinger Bands Cloud" kemudian klik butang Cipta.

Kini kita boleh mengubah suai kod indikator. Kami akan menjadikan contoh kami sebagai indikator tindihan.

1
[Indicator(AccessRights = AccessRights.None, IsOverlay = true)]

Kemudian kami menambah tiga garisan output yang diperlukan untuk melukis Bollinger Bands pada carta.

1
2
3
4
5
6
7
8
[Output("Main", LineColor = "Yellow", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries Main { get; set; }

[Output("Top", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries Top { get; set; }

[Output("Bottom", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries Bottom { get; set; }

Kami mengisytiharkan indikator Bollinger Bands kami.

1
private BollingerBands _bollingerBands;

Mulakan indikator.

1
_bollingerBands = Indicators.BollingerBands(Bars.ClosePrices, 20, 2, MovingAverageType.Simple);

Isikan garisan dengan nilai indikator dalam kaedah Calculate().

1
2
3
Main[index] = _bollingerBands.Main[index];
Top[index] = _bollingerBands.Top[index];
Bottom[index] = _bollingerBands.Bottom[index];

Anda boleh menyalin kod penuh di bawah:

 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
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo
{
    [Indicator(AccessRights = AccessRights.None, IsOverlay = true)]

    public class BollingerBandsCloud : Indicator
    {

        [Output("Main", LineColor = "Yellow", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Main { get; set; }

        [Output("Top", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Top { get; set; }

        [Output("Bottom", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Bottom { get; set; }

        private BollingerBands _bollingerBands;


        protected override void Initialize()
        {
            _bollingerBands = Indicators.BollingerBands(Bars.ClosePrices, 20, 2, MovingAverageType.Simple);
        }

        public override void Calculate(int index)
        {
            Main[index] = _bollingerBands.Main[index];
            Top[index] = _bollingerBands.Top[index];
            Bottom[index] = _bollingerBands.Bottom[index];
        }
    }
}

Klik Bina atau gunakan pintasan Ctrl+B untuk membina indikator.

Tambah satu contoh indikator untuk simbol EURUSD.

Anda sepatutnya melihat indikator Bollinger Bands yang tipikal pada carta.

Tambah awan pada Bollinger Bands

Sekarang, kami kembali ke penyunting kod dan kemudian bekerja untuk menambah awan antara jalur.

Untuk mencapai matlamat kami, kami menambah atribut Cloud pada indikator sedia ada. Atribut Cloud mengarahkan indikator untuk melukis awan antara garisan Top dan Bottom.

1
[Cloud("Top", "Bottom", Opacity = 0.2)]

Anda boleh menyalin kod yang diubah sepenuhnya di bawah:

 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
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo
{
    [Indicator(AccessRights = AccessRights.None, IsOverlay = true)]
    [Cloud("Top", "Bottom", Opacity = 0.2)]

    public class BollingerBandsCloud : Indicator
    {

        [Output("Main", LineColor = "Yellow", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Main { get; set; }

        [Output("Top", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Top { get; set; }

        [Output("Bottom", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Bottom { get; set; }

        private BollingerBands _bollingerBands;

        protected override void Initialize()
        {
            _bollingerBands = Indicators.BollingerBands(Bars.ClosePrices, 20, 2, MovingAverageType.Simple);
        }

        public override void Calculate(int index)
        {
            Main[index] = _bollingerBands.Main[index];
            Top[index] = _bollingerBands.Top[index];
            Bottom[index] = _bollingerBands.Bottom[index];
        }
    }
}

Kami membina semula algoritma dan kemudian memeriksa indikator kami untuk melihat apa yang telah berubah.

Anda sepatutnya melihat awan merah antara jalur. Jika anda menukar warna garisan Top, warna awan akan dikemas kini secara automatik.

Kami kembali ke penyunting kod dan menukar atribut Cloud untuk melukis awan hanya sebelum garisan Main (kuning).

1
[Cloud("Top", "Main", Opacity = 0.2)]

Bina semula indikator dan kemudian periksanya untuk mengesahkan rupa barunya.

Tambah awan pada persilangan MA

Kami akan mencipta indikator baharu dan menggunakannya untuk menunjukkan bagaimana awan dengan warna berbeza boleh ditambah pada carta. Kami bercadang untuk membangunkan indikator Persilangan Purata Bergerak (MA) dengan awan hijau untuk aliran menaik dan awan merah untuk aliran menurun.

Ulangi langkah-langkah dari bahagian sebelumnya untuk mencipta indikator baharu. Kali ini, nama indikator sepatutnya "MA Cloud".

Kami mula mengubah suai indikator baharu dengan menetapkan sifat IsOverlay kepada True.

1
[Indicator(AccessRights = AccessRights.None, IsOverlay = true)]

Tambah atribut Cloud yang diperlukan.

1
[Cloud("Fast", "Slow", Opacity = 0.2)]

Tambah garisan output dan isytiharkan purata bergerak.

1
2
3
4
5
6
7
8
[Output("Fast", LineColor = "Green", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries Fast { get; set; }

[Output("Slow", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
public IndicatorDataSeries Slow { get; set; }

SimpleMovingAverage _fastMA;
SimpleMovingAverage _slowMA;

Ulangi langkah dari contoh sebelumnya (Bollinger Bands). Mulakan purata bergerak dan hantar nilai yang terhasil kepada garisan supaya ia dipaparkan pada carta.

1
2
3
4
5
_fastMA = Indicators.SimpleMovingAverage(Bars.ClosePrices, 7);
_slowMA = Indicators.SimpleMovingAverage(Bars.ClosePrices, 13);

Fast[index] = _fastMA.Result[index];
Slow[index] = _slowMA.Result[index];

Anda boleh menyalin kod penuh di bawah:

 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
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo
{
    [Indicator(AccessRights = AccessRights.None, IsOverlay = true)]
    [Cloud("Top", "Bottom", Opacity = 0.2)]

    public class BollingerBandsCloud : Indicator
    {

        [Output("Main", LineColor = "Yellow", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Main { get; set; }

        [Output("Top", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Top { get; set; }

        [Output("Bottom", LineColor = "Red", PlotType = PlotType.Line, Thickness = 1)]
        public IndicatorDataSeries Bottom { get; set; }

        private BollingerBands _bollingerBands;

        protected override void Initialize()
        {
            _bollingerBands = Indicators.BollingerBands(Bars.ClosePrices, 20, 2, MovingAverageType.Simple);
        }

        public override void Calculate(int index)
        {
            Main[index] = _bollingerBands.Main[index];
            Top[index] = _bollingerBands.Top[index];
            Bottom[index] = _bollingerBands.Bottom[index];
        }
    }
}

Bina indikator dan tambah satu contoh untuk melihat indikator pada carta.

Warna awan berubah pada setiap persilangan (pertemuan) purata bergerak.

Artikel ini menunjukkan kepada anda cara untuk menambah awan yang berguna pada indikator dalam cTrader.

Image title