CryptoHopper, Bitcoin, Ethereum, Litecoin ve daha fazlası için ticareti ve portföy yönetimini otomatikleştirmenize olanak tanıyan otomatik bir kripto ticaret botudur.
Bir Geliştirici Hesabı gerektirir ve onaylandıktan sonra yeni bir Uygulama oluşturmaya başlayabilirsiniz. API kimlik doğrulaması için OAuth2 kullanır, böylece Uygulamanızdan client_id ve client_secret'i alabilirsiniz.
oCryptoHopper := TsgcHTTP_Cryptohopper.Create(nil);
oCryptoHopper.CryptoHopperOptions.OAuth2.ClientId := 'client_id';
oCryptoHopper.CryptoHopperOptions.OAuth2.ClientSecret := 'client_secret';
oCryptoHopper.CryptoHopperOptions.OAuth2.LocalIP := '127.0.0.1';
oCryptoHopper.CryptoHopperOptions.OAuth2.LocalPort := 8080;
oCryptoHopper.CryptoHopperOptions.OAuth2.Scope.Text := "read,notifications,manage,trade";
CryptoHopper, API'ye İstek göndermek için protokol olarak HTTPs kullanır. Bazı yöntemler kimlik doğrulama gerektirir (emir verme, kullanıcı verilerini alma...) ve diğerleri geneldir (örneğin exchange verilerini alma).
İşlevler CryptoHopper yanıtını döndürür ve herhangi bir hata varsa bir istisna oluşturulur.
Hoppers
Temel Hopper İşlemlerini Yönetin.
| Yöntem | Arguments | Açıklama |
| GetHoppers | Kullanıcıların Hopper'larını alın. | |
| CreateHopper | aBody: yapılandırma json metni. | Yeni bir Hopper oluşturun. |
| GetHopper | aId: hopper id | Retrieve Hopper |
| DeleteHopper | aId: hopper id | Hopper'ı Sil |
| UpdateHopper | aId: hopper id aBody: yapılandırma json metni. | Update Hopper |
Orders
Hopper'ınızın Emirlerini yönetin.
| Yöntem | Arguments | Açıklama |
| GetOpenOrders | aId: hopper id | Hopper'ın tüm açık siparişlerini alın. |
| CreateNewOrder | aId: hopper id aOrder: TsgcHTTPCTHOrder örneği | Yeni alış veya satış emri oluşturun. Satış için bunun yerine sell uç noktasını kullanın. |
| PlaceMarketOrder | aId: hopper id aOrderSide: cthosBuy veya cthosSell. aCoin: coin adı, örnek: EOS aAmount: emir boyutu. | Bir Market Emri verin. |
| PlaceLimitOrder | aId: hopper id aOrderSide: cthosBuy veya cthosSell. aCoin: coin adı, örnek: EOS aAmount: emir boyutu. aPrice: limit fiyatı. |
Bir Limit Emri Verin |
| DeleteOrder | aId: hopper id aOrderId: order id | Seçili hopper için emri siler. |
| DeleteAllOrders | aId: hopper id | Seçilen hopper için tüm açık emirleri siler. |
| GetOpenOrder | aId: hopper id aOrderId: order id | Hopper'daki açık emri id'ye göre alın. |
| CancelOrder | aId: hopper id aOrderId: order id | Açık bir emri iptal edin. |
Position
Hopper'ınızın Pozisyonlarını yönetin.
| Yöntem | Arguments | Açıklama |
| GetPosition | aId: hopper id | Hopper'ın açık pozisyonlarını alın. |
Trade
Hopper'ınızdan Trade History.
| Yöntem | Arguments | Açıklama |
| GetTradeHistory | Hopper'ın işlem geçmişini alın. | |
| GetTradeHistoryById | aId: hopper id aTradeId: trade id | Hopper'ın id'sine göre bir işlemi alın. |
Exchange
CryptoHopper'da mevcut borsalardan Bilgi Al
| Yöntem | Arguments | Açıklama |
| GetExchange | Cryptohopper'da mevcut tüm borsaları alın. | |
| GetAllTickers | aExchange: exchange adı | Tüm çiftler için ticker alın |
| GetMarketTicker | aExchange: exchange adı aPair: çift (pair) adı | Piyasa çiftinden ticker alın. |
| GetOrderBook | aExchange: exchange adı aPair: çift (pair) adı aDepth: emir defteri derinliği |
Seçilen borsa, piyasa ve orderbook derinliği için orderbook'u alır. |
Webhooks
Hopper'ınızdan Trade History.
| Yöntem | Arguments | Açıklama |
| CreateWebhook | aURL: webhook url'si aMessageTypes: virgülle ayrılmış mesaj türleri. | Bir Webhook'u güncelleyin veya oluşturun |
| DeleteWebhook | aURL: webhook url | Mevcut bir Webhook'u silin. |
Signals
CryptoHopper API'ye Sinyaller Gönderin.
| Yöntem | Arguments | Açıklama |
| SendSignal | aSignal: sinyal göndermek için gereken tüm alanları içeren sınıftır. | Bir Sinyal Gönderir |
| SendTestSignal | aSignal: sinyal göndermek için gereken tüm alanları içeren sınıftır. | Bir Test Sinyali Gönderir |
| GetSignalStats | aSignalId: sinyalin kimliği. aExchange: isteğe bağlı, exchange'in adı. | Sinyal istatistiklerinden bazılarını alın. |
Hopper Yapılandırmasını güncellemek için UpdateHopper yöntemini kullanın. Yöntem aşırı yüklenmiştir, böylece JSON dizesini geçirebilir veya TsgcHTTPCTHopper nesnesini kullanabilir ve Hopper Özelliklerini etkinleştirmek veya devre dışı bırakmak için özellikleri kullanabilirsiniz.
function EnableHopper: string;
var
oHopper: TsgcHTTPCTHopper;
begin
oHopper := TsgcHTTPCTHopper.Create;
Try
if Cryptohopper.GetHopper('1234', oHopper) then
begin
oHopper.Enabled := 1;
result := Cryptohopper.UpdateHopper('1234', oHopper);
end;
Finally
FreeAndNil(oHopper);
End;
end;
Webhook, bir hopper'da bir şey olduğunda bildirim almanıza olanak tanır. Webhook'lar, cryptohopper tarafından gönderilen tüm mesajları bir URL adresinde dinleyecek genel bir HTTPs Sunucusu gerektirir. Genel sunucunun bir SSL sertifikasıyla korunması gerekir (kendinden imzalı sertifikalara izin verilmez).
Önce bir webhook oluşturmanız gerekir, bu nedenle sunucunun dinleyeceği Host ve Port değerlerini ayarlayarak Cryptohopper istemcisinin Webhook özelliğini yapılandırın. Ardından SSLOptions özelliğinde sertifikayı yapılandırın.
Örnek: Genel IP adresi 1.1.1.1 ve dinleme portu 443 olacaktır. Sertifika, sgc.pem dosya adıyla ve parola olmadan PEM dosyası olarak saklanır.
/* OAuth2 */
cryptohopper.CryptohopperOptions.OAuth2.ClientId = 'client_id';
cryptohopper.CryptohopperOptions.OAuth2.ClientSecret := 'client_secret';
cryptohopper.CryptohopperOptions.OAuth2.LocalIP := '127.0.0.1';
cryptohopper.CryptohopperOptions.OAuth2.LocalPort := 8080;
/* Webhook */
cryptohopper.CryptohopperOptions.Webhook.Enabled := True;
cryptohopper.CryptohopperOptions.Webhook.Host := '1.1.1.1';
cryptohopper.CryptohopperOptions.Webhook.Port := 443;
cryptohopper.CryptohopperOptions.Webhook.ValidationCode := '1234';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.CertFile := 'sgc.pem';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.KeyFile := 'sgc.pem';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.RootCertFile := 'sgc.pem';
cryptohopper.CryptohopperOptions.Webhook.SSLOptions.Password := '';
cryptohopper.StartWebhook;