Langkau tajuk talian

Cara mencipta bot dagangan forex dalam Python menggunakan AI

Artikel dan video ini menunjukkan cara mencipta bot dagangan Python percuma untuk cTrader dengan AI.

Nota

cTrader ialah satu-satunya platform utama yang menawarkan sokongan Python asli, membolehkan sesiapa sahaja mencipta robot Python yang berkuasa untuk mengautomasikan strategi dagangan. Tiada penyesuai atau penyelesaian rumit yang terlibat.

Walaupun ChatGPT digunakan untuk demonstrasi, langkah yang sama untuk mencipta bot dagangan dengan AI boleh digunakan untuk Gemini, Claude, DeepSeek dan lain-lain.

Pilih templat Python

Buka cTrader Algo dalam cTrader Windows atau Mac, kemudian klik Baru untuk mula mencipta bot dagangan baharu.

Dalam wizard penciptaan algoritma, bina algoritma baharu dan berikan nama.

Pilih Python sebagai bahasa pengaturcaraan, kemudian pilih pilihan Menggunakan templat.

cTrader menyediakan pelbagai templat Python, meliputi setiap jenis strategi, gaya analisis atau aktiviti dagangan automatik. Algoritma pra-bina ini sudah mengandungi logik dagangan penuh dan parameter yang boleh disesuaikan, jadi ia sedia digunakan sebaik sahaja anda menyimpan dan membinanya.

Nota

Koleksi penuh templat algoritma tersedia dalam wizard penciptaan algo dalam cTrader Windows atau Mac, dan anda juga boleh mengaksesnya dalam repositori awam kami.

Katakan kita pakar dalam dagangan terobosan. Oleh itu, kami memilih Sample Breakout cBot.

Nota

Penerangan terperinci tentang templat algoritma popular, termasuk Breakout cBot, tersedia dalam Pangkalan Pengetahuan kami.

Breakout cBot mengambil kesempatan daripada pergerakan harga melebihi tahap sokongan atau rintangan yang telah ditetapkan, dan penunjuk Bollinger Bands memandu keputusannya. Mari bina bot dagangan dan lakukan ujian belakang.

Tekan Ctrl+B atau klik Bina di bahagian atas editor kod.

Setelah pembinaan berjaya, klik mana-mana tika yang tersedia di bawah nama cBot.

Dalam grid utama, navigasi ke tab Ujian Belakang. Lakukan ujian belakang selama satu tahun menggunakan parameter lalai untuk menilai keputusan robot. cBot menghasilkan keuntungan 22% untuk tempoh ini, memberikan 74 dagangan yang menang daripada 194 seperti yang direkodkan dalam tab Statistik Dagangan.

Tingkatkan cBot dengan AI

Dengan bantuan AI, anda boleh meningkatkan kod bot dagangan untuk hasil yang lebih baik dan mengenal pasti kombinasi parameter yang menghasilkan pulangan yang lebih tinggi.

RSI ialah penunjuk momentum yang menapis terobosan lemah atau isyarat palsu. Penunjuk ini harus bergabung dengan sempurna dan melengkapkan Bollinger Bands yang digunakan dalam Sample Breakout cBot. Sebagai rujukan, anda boleh mendapatkan integrasi RSI untuk Super cBot yang disediakan dalam artikel Pusat Bantuan.

Ambil petikan integrasi RSI, lampirkannya pada prompt yang mengandungi semua maklumat yang diperlukan, kemudian berikan semuanya kepada alat AI:

Prom

Kaji integrasi RSI dalam Super cBot, kemudian laksanakan penapis RSI yang sama dalam Special cBot.

[Kod Special cBot]

[Kod Super cBot dengan RSI bersepadu]

AI berfikir dan kemudian memberikan kod untuk Special cBot yang diintegrasikan dengan RSI.

 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
import clr

clr.AddReference("cAlgo.API")

# Import cAlgo API types
from cAlgo.API import *

# Import trading wrapper functions
from robot_wrapper import *

class SampleBreakoutcBot():
    Label = "Sample Breakout cBot"

    def on_start(self):
        # Bollinger Bands for breakout consolidation logic
        self.bollingerBands = api.Indicators.BollingerBands(api.Source, api.Periods, api.Deviations, api.MAType)

        # Track consolidation bars
        self.consolidation = 0

        # --- RSI filter (same style as grid cBot) ---
        self.rsi_period = getattr(api, "RsiPeriod", 14)
        self.rsi_overbought = getattr(api, "RsiOverbought", 70)
        self.rsi_oversold = getattr(api, "RsiOversold", 30)
        self.rsi = api.Indicators.RelativeStrengthIndex(api.Bars.ClosePrices, self.rsi_period)

    def on_bar(self):
        top = self.bollingerBands.Top.Last(1)
        bottom = self.bollingerBands.Bottom.Last(1)

        # Detect consolidation via band height
        if top - bottom <= api.BandHeightPips * api.Symbol.PipSize:
            self.consolidation += 1
        else:
            self.consolidation = 0

        if self.consolidation >= api.ConsolidationPeriods:
            volumeInUnits = api.Symbol.QuantityToVolumeInUnits(api.Quantity)

            # Breakout up
            if api.Ask > top:
                if self.passes_rsi_filter():
                    api.ExecuteMarketOrder(TradeType.Buy, api.SymbolName, volumeInUnits, self.Label, api.StopLossInPips, api.TakeProfitInPips)
                    self.consolidation = 0
                else:
                    api.Print("RSI filter blocked BUY breakout (RSI={:.2f}, range {}-{})"
                              .format(self.get_rsi_value(), self.rsi_oversold, self.rsi_overbought))

            # Breakout down
            elif api.Bid < bottom:
                if self.passes_rsi_filter():
                    api.ExecuteMarketOrder(TradeType.Sell, api.SymbolName, volumeInUnits, self.Label, api.StopLossInPips, api.TakeProfitInPips)
                    self.consolidation = 0
                else:
                    api.Print("RSI filter blocked SELL breakout (RSI={:.2f}, range {}-{})"
                              .format(self.get_rsi_value(), self.rsi_oversold, self.rsi_overbought))

    # --- Helpers copied in spirit from the grid cBot ---
    def get_rsi_value(self):
        # Use the last CLOSED bar for stability
        return self.rsi.Result.Last(1)

    def passes_rsi_filter(self):
        r = self.get_rsi_value()
        return (r > self.rsi_oversold) and (r < self.rsi_overbought)

Seterusnya, minta AI untuk mencadangkan tetapan parameter optimum untuk bot dagangan berdasarkan strategi kami.

Prom

Saya mahu cBot menjana isyarat yang lebih lancar dan perlahan yang digandingkan secara semula jadi dengan penapis RSI.
Saya lebih mengutamakan bilangan dagangan yang lebih sedikit tetapi dengan penembusan yang lebih bersih.
Saya menetapkan tempoh pengukuhan kepada 1 kerana saya mahu cBot bertindak serta-merta apabila
volatiliti memampat.

Jenis purata bergerak yang manakah paling sesuai untuk tujuan ini?

AI berfikir dan kemudian memberikan beberapa maklumat berguna. Ia mencadangkan Wilders Smoothing sebagai jenis purata bergerak terbaik untuk strategi kami.

Gunakan cadangan AI

Kembali ke editor kod dalam cTrader dan gunakan perubahan yang disyorkan. Tampal kod yang dikemas kini, kemudian bina cBot yang ditingkatkan.

Buka tab Ujian Belakang sekali lagi. Tetapkan purata bergerak kepada Wilders Smoothing, seperti yang disyorkan oleh AI, kemudian jalankan ujian belakang untuk tempoh satu tahun yang sama.

Kali ini, laporan ujian belakang untuk tempoh yang sama menunjukkan keuntungan 97%, peningkatan yang besar berbanding dengan 22% yang dihasilkan oleh logik cBot asal.

Keputusan baharu ini menunjukkan betapa berkesannya panduan AI dalam memperhalusi prestasi bot dagangan dan mengoptimumkan parameternya untuk memberikan hasil yang cemerlang. Kadar kemenangan robot juga meningkat dengan ketara, memberikan 51 dagangan yang menang daripada jumlah 93.

Mulakan cBot dalam Awan

Terima kasih kepada penyegerakan awan, cBot baharu ini secara automatik tersedia dari semua aplikasi cTrader di mana cTrader ID anda aktif. Anda juga boleh mulakan bot dagangan dalam cTrader Mobile atau Web.

Cuma ketik ikon Mula.

Oleh kerana cBot berjalan dalam Awan, ia terus berdagang 24 jam tanpa henti, walaupun aplikasi cTrader anda ditutup atau peranti anda dimatikan. Tiada VPS diperlukan.

Jana pendapatan daripada cBot

Secara pilihan, anda boleh menjana pendapatan daripada cBot anda dalam cTrader Store, pasaran yang selamat dan dinamik yang menghubungkan pembeli dan penjual produk dagangan.

Untuk menerbitkan produk, pilih cBot yang anda ingin jual terus dari Awan atau muat naik fail, kemudian berikan maklumat yang diperlukan. Setelah diterbitkan, algoritma tersebut akan aktif dalam cTrader Store, dan tersedia untuk dibeli oleh berjuta-juta pengguna cTrader.

Nota

Pengedaran algo melalui cTrader Store adalah selamat sepenuhnya, kerana kod sumber anda tidak pernah didedahkan atau dimuat naik ke mana-mana. Hak intelek anda juga dihormati, kerana setiap pembelian produk adalah untuk pengguna tunggal dan tidak boleh dipindah milik.

Image title