Ana içeriğe geç

Yapay zeka kullanarak Python'da bir forex işlem botu nasıl oluşturulur

Bu makale ve video, cTrader için yapay zeka ile ücretsiz bir Python işlem botu oluşturmayı göstermektedir.

Not

cTrader, yerel Python desteği sunan tek büyük platformdur ve herkesin işlem stratejilerini otomatikleştirmek için güçlü Python robotları oluşturmasına olanak tanır. Hiçbir adaptör veya karmaşık geçici çözüm dahil değildir.

ChatGPT gösterim için kullanılırken, yapay zeka ile işlem botları oluşturmak için aynı adımlar Gemini, Claude, DeepSeek ve diğerleri için de geçerlidir.

Bir Python şablonu seçin

cTrader Windows veya Mac'te cTrader Algo'yu açın, ardından yeni bir işlem botu oluşturmaya başlamak için Yeni'ye tıklayın.

Algoritma oluşturma sihirbazında yeni bir algoritma oluşturun ve ona bir ad verin.

Programlama dili olarak Python'ı seçin, ardından Şablon Kullanarak seçeneğini belirleyin.

cTrader, her strateji türünü, analiz stilini veya otomatik işlem etkinliğini kapsayan çok çeşitli Python şablonları sunar. Bu önceden oluşturulmuş algoritmalar, tam işlem mantığı ve ayarlanabilir parametreler içerir, bu nedenle kaydedip derledikten sonra kullanıma hazırdır.

Not

Algoritma şablonlarının tam koleksiyonu cTrader Windows veya Mac'teki algo oluşturma sihirbazında mevcuttur ve bunlara genel depomuzdan da erişebilirsiniz.

Kırılma işleminde uzmanlaştığımızı varsayalım. Bu nedenle, Örnek Breakout cBot'u seçiyoruz.

Not

Breakout cBot dahil olmak üzere popüler algoritma şablonlarının ayrıntılı açıklamaları Bilgi Bankamızda mevcuttur.

Breakout cBot, önceden tanımlanmış bir destek veya direnç seviyesinin ötesindeki fiyat hareketinden yararlanır ve Bollinger Bands göstergesi kararlarını yönlendirir. İşlem botunu derleyelim ve geriye dönük test edelim.

=Ctrl+B tuşlarına basın veya kod düzenleyicinin üst kısmındaki Derle'ye tıklayın.

Derleme başarılı olduğunda, cBot adının altında mevcut herhangi bir örneğe tıklayın.

Ana ızgarada, Geriye Dönük Test sekmesine gidin. Robot sonuçlarını değerlendirmek için varsayılan parametreleri kullanarak bir yıllık geriye dönük test gerçekleştirin. cBot, bu dönem için %22'lik bir kazanç sağlar ve İşlem istatistikleri sekmesinde kaydedildiği üzere 194 işlemden 74'ünü kazançlı olarak gerçekleştirir.

cBot'u yapay zeka ile yükseltin

Yapay zeka yardımıyla, daha iyi sonuçlar için işlem botunun kodunu yükseltebilir ve daha yüksek getiriler sağlayan parametre kombinasyonlarını belirleyebilirsiniz.

RSI, zayıf kırılmaları veya yanlış sinyalleri filtreleyen bir momentum göstergesidir. Bu gösterge, Örnek Breakout cBot'unda kullanılan Bollinger Bands'ı mükemmel bir şekilde uyum sağlamalı ve tamamlamalıdır. Referans olarak, Super cBot için RSI entegrasyonunu bir Yardım Merkezi makalesinde bulabilirsiniz.

RSI entegrasyon kod parçacığını alın, gerekli tüm bilgileri içeren bir isteme ekleyin, ardından her şeyi yapay zeka aracına besleyin:

İstek

Study the RSI integration in Super cBot, then implement the same RSI filters in Special cBot. 

[Special cBot code]

[Super cBot integrated with RSI code]

Yapay zeka düşünür ve ardından RSI ile entegre Özel cBot için kodu sağlar.

 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)

Ardından, yapay zekadan stratejimize göre işlem botu için optimal parametre ayarlarını önermesini isteyin.

İstek

I want the cBot to generate smoother, slower signals that pair naturally with the RSI filter. 
I prefer fewer trades but cleaner breakouts. 
I am setting the consolidation period to 1 because I want the cBot to act immediately when 
volatility compresses. 

Which moving average type is best for this?

Yapay zeka düşünür ve ardından bazı faydalı bilgiler sağlar. Stratejimiz için en iyi hareketli ortalama türü olarak Wilders Smoothing'i önerir.

Yapay zeka önerilerini uygulayın

cTrader'daki kod düzenleyiciye geri dönün ve önerilen değişiklikleri uygulayın. Güncellenmiş kodu yapıştırın, ardından yükseltilmiş cBot'u derleyin.

Geriye Dönük Test sekmesini tekrar açın. Hareketli ortalamayı, yapay zeka tarafından önerildiği gibi Wilders Smoothing olarak ayarlayın, ardından aynı bir yıllık dönem için bir geriye dönük test çalıştırın.

Bu kez, aynı dönemdeki geriye dönük test raporu %97'lik bir kazanç gösteriyor; bu, orijinal cBot mantığının sağladığı %22'ye kıyasla büyük bir gelişme.

Yeni sonuç, yapay zeka rehberliğinin işlem robotlarının performansını iyileştirmede ve mükemmel sonuçlar elde etmek için parametrelerini optimize etmede ne kadar etkili olabileceğini gösteriyor. Robotun kazanma oranı da önemli ölçüde iyileşerek toplam 93 işlemden 51 kazançlı işlem sağladı.

cBot'u bulutta başlat

Bulutta eşitleme sayesinde, yeni cBot, cTrader ID'nizin etkin olduğu tüm cTrader uygulamalarından otomatik olarak kullanılabilir. Hatta cTrader Mobile veya Web'de işlem robotunu başlatabilirsiniz.

Sadece Başlat simgesine dokunun.

cBot bulutta çalıştığı için, cTrader uygulamanız kapalı veya cihazınız kapalı olsa bile 24 saat kesintisiz işlem yapmaya devam eder. VPS gerekmez.

cBot'tan para kazan

İsteğe bağlı olarak, işlem ürünlerinin alıcılarını ve satıcılarını bir araya getiren güvenli ve dinamik bir pazar yeri olan cTrader Store’da cBot'unuzdan para kazanabilirsiniz.

Bir ürün yayınlamak için, doğrudan buluttan satmak istediğiniz cBot'u seçin veya bir dosya yükleyin, ardından gerekli detayları sağlayın. Yayınlandıktan sonra algoritma cTrader Store'da yayına girer ve milyonlarca cTrader kullanıcısının satın alması için kullanılabilir hale gelir.

Not

cTrader Store aracılığıyla Algo dağıtımı, kaynak kodunuz asla ifşa edilmediği veya hiçbir yere yüklenmediği için tamamen güvenlidir. Her ürün satın alımı tek kullanıcılı ve devredilemez olduğu için fikri mülkiyetiniz de korunur.

Image title