API Streamster

Konten di bawah ini menjelaskan cara menggunakan API Streamster untuk membuat aplikasi yang berinteraksi dengan platform trading Streamster. Aplikasi menggunakan API Streamster dapat mengambil berbagai data dari platform, mengeksekusi dan mengubah pesanan dan posisi, dan melakukan berbagai tindakan terkait.

Untuk membuka dan membaca bagian tertentu, silakan klik judulnya.

1. Pengantar API Streamster™

Streamster API memperlihatkan fungsionalitasnya melalui protokol SOAP standar industri. SOAP secara luas didukung pada hampir semua platform pemrograman, termasuk PHP, Visual Basic, C#, C++, Java dan banyak platform bahasa lainnya.

Untuk menggunakan API Streamster, aplikasi terhubung ke layanan SOAP yang dibangun ke Streamster. Untuk mengaktifkan API Streamster dan layanan SOAP Streamster, masuk ke akun Anda dan klik tombol Settings. Di tab “Advanced”, centang kotak “Enable web service API” dan klik OK. Windows Firewall akan meminta Anda untuk mengizinkan Streamster menerima koneksi pada port 8018 – klik tombol “Keep Blocking”, yang akan mencegah komputer lain di internet atau jaringan Anda mengakses API Streamster.

Setelah diaktifkan, API Streamster siap melayani setiap permintaan yang datang dari komputer Anda. Sangat penting untuk dicatat bahwa permintaan yang datang dari komputer manapun selain milik Anda akan selalu ditolak, bahkan jika Anda mengizinkan akses Windows Firewall ke port 8018 dari internet atau komputer atau jaringan lain. Ini untuk mencegah orang lain di internet mengakses dari API Streamster di komputer dan akun Anda. Harap dicatat tidak ada pilihan di Streamster yang memungkinkan penghindaran dari perlindungan ini.

Dengan mengaktivkan API Streamster, Anda dapat menggunakan bahasa seperti PHP dan Visual Basic untuk menjalankan sampel yang ditampilkan di bawah ini atau aplikasi Anda sendiri. Untuk setiap fungsi API Streamster Anda akan melihat contoh dalam PHP dan Visual Basic. Jika Anda berniat menggunakan bahasa atau platform lain, konversi kode sampel biasanya sangat mudah.

1.1. Menggunakan API dari PHP

PHP mendukung SOAP dan API Streamster dengan sangat baik. Memasang PHP di komputer Anda sederhana – unduh dan instal Windows binaries dari situs PHP.net. PHP versi 5 atau lebih baru diperlukan. Beberapa versi PHP pada Windows tidak memiliki SOAP yang diaktifkan secara default – Anda dapat mengaktifkan ekstensi SOAP dengan mengedit file PHP.INI dan merubah baris extension=php_soap.dll.

Untuk melakukan tes PHP sederhana, buat file PHP bernama “test.php” dan edit di Windows Notepad. Sisipkan kode berikut ke dalamnya:

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$quote = $api -> GetQuote("EUR/USD");
echo $quote -> Last;

?>

Uji skrip PHP di atas dengan menjalankan “php test.php” dan itu seharusnya akan menampilkan harga terakhir EUR/USD.

Untuk menguji kesalahan kritis (misalnya, ketika Streamster tidak dimulai sama sekali, ketika parameter metode tidak valid, dll), Anda dapat menggunakan penanganan eksepsi PHP standar.

1.2. Menggunakan API dari Visual Basic

Menggunakan API Streamster dari Visual Basic adalah sederhana karena pada dasarnya mendukung layanan web SOAP. Ada banyak cara untuk menggunakan layanan web dari Visual Basic, tetapi yang paling sederhana adalah menambahkan “Web Service Reference” ke proyek Visual Basic Anda. Alamat dari Streamster API Web Service adalah http://127.0.0.1:8018/service.wsdl dan ini yang perlu ditentukan saat menambahkan referensi layanan web ke proyek Visual Basic Anda.

Setelah referensi ditambahkan ke proyek Anda, menggunakan API Streamster semudah menggunakan objek Visual Basic lainnya. Sebagai contoh, silakan coba kode di bawah ini:

Dim api As StreamsterApi = New StreamsterApi
Dim q As Quote = api.GetQuote("EUR/USD")

Console.WriteLine ("Last = " & q.Last)

Jika proyek Visual Basic Anda adalah aplikasi Windows Forms, Anda dapat mengubah baris terakhir menjadi Label1.Text = q.Last atau yang sejenis.

Tergantung pada versi Visual Basic Anda, Anda harus memastikan telah menambahkan “Web Service Reference”, bukan “Service Reference”. Jika Anda menambahkan “Service Reference”, nama kelas API Streamster akan menjadi “StreamsterApiClientInterface” bukan hanya “StreamsterApi” sehingga contoh yang ditampilkan dalam dokumen ini harus diperbarui sesuai dengan hal tersebut.

Setelah referensi layanan web API Streamster ditambahkan ke proyek Visual Basic Anda, perlu juga untuk menambahkan referensi layanan web API Streamster ke daftar “Imported Namespaces” dalam proyek Visual Basic Anda. Ini diperlukan agar Anda tidak perlu mengawali setiap jenis API Streamster dengan nama referensi layanan web, yang dapat membosankan.

Untuk mencari tahu cara menambahkan referensi layanan web ke daftar “Imported Namespaces” dalam proyek Anda, silakan baca sistem bantuan Visual Basic.

2. Metode Pengambilan API Streamster™

Setelah objek SOAP dibuat, Streamster API memaparkan sejumlah metode yang dapat Anda gunakan untuk berkomunikasi dengan Streamster dari skrip atau aplikasi Anda. Bagian berikut mengeksplorasi metode pengambilan yang tersedia dan struktur terkait.

2.1. GetQuote

Metode GetQuote mengembalikan struktur “Quote” untuk nama instrumen yang diberikan. Struktur Quote berisi bidang yang setara dengan kolom di jendela Tarif di Streamster. GetQuote hanya mengembalikan bidang yang tersedia di Streamster – jika Anda ingin mengambil semua bidang yang saat ini tidak ditampilkan di Streamster, Anda harus menambahkannya dengan mengklik tombol Kolom.

Contoh – PHP: Contoh berikut mengambil harga untuk EUR/USD, menampilkan bidang “Last” dan kemudian daftar semua bidang yang tersedia.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$quote = $api -> GetQuote("EUR/USD");

echo $quote -> Last . "n";

foreach($quote as $field => $value) {
    echo $field . " = " . $value . "n";
}

?>

Contoh – Visual Basic: Contoh berikut mengambil harga untuk EUR/USD, menampilkan bidang “Last” dan kemudian menampilkan semua bidang lainnya.

Dim api As StreamsterApi = New StreamsterApi

Dim q As Quote
q = api.GetQuote("EUR/USD")

Console.WriteLine("Last: " & q.Last)
Console.WriteLine("Bid: " & q.Bid)
Console.WriteLine("Offer: " & q.Offer)
Console.WriteLine("Change: " & q.Change)
Console.WriteLine("High: " & q.High)
Console.WriteLine("Low: " & q.Low)
Console.WriteLine("Open: " & q.Open)
Console.WriteLine("Close: " & q.Close)
Console.WriteLine("Time: " & q.Time)
Console.WriteLine("Currency: " & q.Currency)
Console.WriteLine("Yield: " & q.Yield)
Console.WriteLine("Ask: " & q.Ask)

 

2.2. GetOrders

Metode GetOrders mengembalikan array struktur “Order”. Array ini berhubungan langsung dengan jendela Pesanan di Streamster. Setiap struktur Order dalam array yang dikembalikan berisi satu pesanan dengan bidang terkait seperti yang ditampilkan di Streamster. GetOrders mengembalikan susunan struktur Pesanan yang hanya berisi bidang yang tersedia di Streamster – jika Anda ingin mengambil semua bidang yang saat ini tidak ditampilkan di jendela Pesanan Streamster, Anda harus menambahkannya dengan mengklik tombol Kolom.

Contoh – PHP: Contoh berikut mengambil semua pesanan dan mencantumkannya.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$r = $api -> GetOrders();
if(property_exists($r, "Order")) {
    foreach($r -> Order as $n => $OrderInfo) {
        echo "tOrder " . $n . "n";
        foreach($OrderInfo as $field => $value) {
            echo "ttField: " . $field . " = " . $value . "n";
        }
    }
}

?>

Contoh – Visual Basic: Sampel berikut mengambil semua pesanan dan mencantumkannya.

Dim api As StreamsterApi = New StreamsterApi

Dim ao As Order()
Dim o As Order

ao = api.GetOrders()

For Each o In ao
    Console.WriteLine("")
    Console.WriteLine("Order:")

    Console.WriteLine("OrderID: " & o.OrderID)
    Console.WriteLine("Desk: " & o.Desk)
    Console.WriteLine("Instrument: " & o.Instrument)
    Console.WriteLine("Side: " & o.Side)
    Console.WriteLine("Phase: " & o.Phase)
    Console.WriteLine("PriceType: " & o.PriceType)
    Console.WriteLine("Price: " & o.Price)
    Console.WriteLine("ActiveQuantity: " & o.ActiveQuantity)
    Console.WriteLine("TradedQuantity: " & o.TradedQuantity)
    Console.WriteLine("ExitStopLoss: " & o.ExitStopLoss)
    Console.WriteLine("ExitTarget: " & o.ExitTarget)
    Console.WriteLine("Status: " & o.Status)
    Console.WriteLine("PositionID: " & o.PositionID)
    Console.WriteLine("Currency: " & o.Currency)
    Console.WriteLine("Duration: " & o.Duration)
    Console.WriteLine("DurationType: " & o.DurationType)
    Console.WriteLine("Quantity: " & o.Quantity)
    Console.WriteLine("QuantityType: " & o.QuantityType)
    Console.WriteLine("Text: " & o.Text)
    Console.WriteLine("Entered: " & o.Entered)
Next
2.3. GetTrades

Metode GetTrades mengembalikan array struktur “Trade”. Array ini berhubungan langsung dengan jendela Trade di Streamster. Setiap struktur Trade dalam array yang dikembalikan berisi satu trade dengan bidang terkait seperti yang ditampilkan di Streamster. GetTrades mengembalikan array struktur Trade yang hanya berisi bidang yang tersedia di Streamster – jika Anda ingin mengambil bidang apa pun yang saat ini tidak ditampilkan di jendela Trades Streamster, Anda harus menambahkannya dengan mengklik tombol Kolom.

Contoh – PHP: Contoh berikut mengambil semua trades dan mencantumkannya.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$r = $api -> GetTrades();
if(property_exists($r, "Trade")) {
    foreach($r -> Trade as $n => $TradeInfo) {
        echo "tTrade " . $n . "n";
        foreach($TradeInfo as $field => $value) {
            echo "ttField: " . $field . " = " . $value . "n";
        }
    }
}

?>

Contoh – Visual Basic: Contoh berikut mengambil semua trades dan mencantumkannya.

Dim api As StreamsterApi = New StreamsterApi

Dim at As Trade()
Dim t As Trade

at = api.GetTrades()

For Each t In at
    Console.WriteLine("")
    Console.WriteLine("Trade:")

    Console.WriteLine("TradeID: " & t.TradeID)
    Console.WriteLine("Desk: " & t.Desk)
    Console.WriteLine("Instrument: " & t.Instrument)
    Console.WriteLine("Side: " & t.Side)
    Console.WriteLine("Phase: " & t.Phase)
    Console.WriteLine("Price: " & t.Price)
    Console.WriteLine("Quantity: " & t.Quantity)
    Console.WriteLine("Executed: " & t.Executed)
    Console.WriteLine("Status: " & t.Status)
    Console.WriteLine("Currency: " & t.Currency)
    Console.WriteLine("Text: " & t.Text)
    Console.WriteLine("OrderID: " & t.OrderID)
Next
2.4. GetPositions

Metode GetPositions mengembalikan array dari struktur “Posisi”. Array ini berhubungan langsung dengan jendela Posisi di Streamster. Setiap struktur Posisi dalam array yang dikembalikan berisi satu posisi dengan bidang terkait seperti yang ditampilkan di Streamster. GetPositions mengembalikan array dari struktur Posisi yang hanya berisi bidang yang tersedia di Streamster – jika Anda ingin mengambil setiap bidang yang saat ini tidak ditampilkan di jendela Posisi Streamster, Anda harus menambahkannya dengan mengklik tombol Kolom.

Contoh – PHP: Contoh berikut mengambil semua posisi dan mencantumkannya.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$r = $api -> GetPositions();
if(property_exists($r, "Position")) {
    foreach($r -> Position as $n => $PositionInfo) {
        echo "tPosition " . $n . "n";
        foreach($PositionInfo as $field => $value) {
            echo "ttField: " . $field . " = " . $value . "n";
        }
    }
}

?>

Contoh – Visual Basic: Sampel berikut mengambil semua posisi dan mencantumkannya.

Dim api As StreamsterApi = New StreamsterApi

Dim ap As Position()
Dim p As Position

ap = api.GetPositions()

For Each p In ap
    Console.WriteLine("")
    Console.WriteLine("Position:")

    Console.WriteLine("PositionID: " & p.PositionID)
    Console.WriteLine("Desk: " & p.Desk)
    Console.WriteLine("Instrument: " & p.Instrument)
    Console.WriteLine("Side: " & p.Side)
    Console.WriteLine("OpenPrice: " & p.OpenPrice)
    Console.WriteLine("Currency: " & p.Currency)
    Console.WriteLine("Quantity: " & p.Quantity)
    Console.WriteLine("Points: " & p.Points)
    Console.WriteLine("Profit: " & p.Profit)
    Console.WriteLine("ExitStopLoss: " & p.ExitStopLoss)
    Console.WriteLine("ExitTarget: " & p.ExitTarget)
    Console.WriteLine("Entered: " & p.Entered)
    Console.WriteLine("Exited: " & p.Exited)
    Console.WriteLine("Status: " & p.Status)
    Console.WriteLine("Text: " & p.Text)
    Console.WriteLine("ClosePrice: " & p.ClosePrice)
    Console.WriteLine("Interest: " & p.Interest)
Next
2.5. GetDesks

Metode GetDesks mengembalikan array struktur “Desk”. Setiap struktur Desk dalam array yang dikembalikan menggambarkan satu desk di akun Anda, termasuk nama desk, jumlah dana yang tersedia di desk, dan mata uang di mana jumlah ini tersedia.

Contoh – PHP: Contoh berikut mengambil semua desk dan mencantumkannya.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$r = $api -> GetDesks();
if(property_exists($r, "Desk")) {
    foreach($r -> Desk as $n => $Desk) {
        echo "Name: " . $Desk -> Name;
        echo ", Currency: " . $Desk -> Currency;
        echo ", Amount: " . $Desk -> Amount;
        echo "n";
    }
}

?>

Contoh – Visual Basic: Sampel berikut mengambil semua desk dan mencantumkannya.

Dim api As StreamsterApi = New StreamsterApi

Dim ad As Desk()
Dim d As Desk

ad = api.GetDesks()

For Each d In ad
    Console.WriteLine("Name: " & d.Name & ", Currency: " & d.Currency &
        ", Amount: " & d.Amount)
Next
2.6. GetBars

Metode GetBars mengambil array bar untuk instrumen dan periode tertentu. Setiap bar dalam array bar yang dikembalikan mengandung harga pada titik waktu tertentu.

CATATAN: Hanya bar dari jendela Charting terbuka di Streamster yang dapat diambil. Jika Anda ingin mengambil bar dari skrip Anda untuk instrumen dan periode tertentu, Anda harus memastikan bahwa instrumen/periode ini ditampilkan di salah satu jendela Charting Streamster.

Metode GetBars memiliki tiga parameter: instrumen, periode, dan tanda untuk pilihan.

Parameter pertama dari metode GetBars adalah string yang menentukan instrumen untuk bar mana yang akan diambil. Parameter kedua Periode, menentukan periode yang diperlukan seperti “5 Menit”, “15 Menit”, “30 Menit”, “Setiap Jam”, “4 Jam”, “Harian”, “Mingguan”, atau “Bulanan”. Parameter ketiga adalah string yang menentukan urutan di mana bar dikembalikan: string kosong jika bar harus dikembalikan dalam urutan menurun atau string “f” (seperti pada “flip”) untuk urutan menaik.

Setiap bar dalam array bar yang dikembalikan memiliki bidang-bidang berikut: BarDateTime, Open, High, Low, Close dan Volume.

Contoh – PHP: Kode berikut mengambil bar 5 menit EUR/USD dan menampilkan semuanya.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$r = $api -> GetBars("EUR/USD", "5 minutes", "f");

if(property_exists($r, "Bar")) {
    foreach($r -> Bar as $n => $Bar) {
        echo $Bar -> BarDateTime . " " . $Bar -> Open . " " . $Bar -> High .
            " " . $Bar -> Low . " " . $Bar -> Close . "n";
    }
}

?>

Contoh – Visual Basic: Kode berikut mengambil bar 5 menit EUR/USD dan menampilkan semuanya.

Dim api As StreamsterApi = New StreamsterApi

Dim ab As Bar()
Dim b As Bar

ab = api.GetBars("EUR/USD", "5 minutes", "")

For Each b In ab
    Console.WriteLine(b.BarDateTime & " " & b.Open & " " & b.High &
        " " & b.Low & " " & b.Close)
Next
2.7. GetLastMessage

GetLastMessage mengambil pesan kesalahan atau peringatan terakhir yang ditampilkan di Streamster jika ada. Metode GetLastMessage mengembalikan string kosong jika tidak ada pesan setelah panggilan GetLastMessage sebelumnya.

Contoh – PHP: Kode berikut menunjukkan pesan kesalahan atau peringatan terakhir.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$r = $api -> GetLastMessage();

if($r != "") {
    echo($r);
}

?>

Contoh – Visual Basic: Kode berikut menunjukkan pesan kesalahan atau peringatan terakhir.

Dim api As StreamsterApi = New StreamsterApi

Dim s As String

s = api.GetLastMessage()

If s <> "" Then Console.WriteLine(s)

3. Metode Perdagangan API Streamster™

Setelah objek SOAP dibuat, Streamster API memaparkan sejumlah metode yang dapat Anda gunakan untuk berkomunikasi dengan Streamster dari skrip atau aplikasi Anda. Bagian berikut membahas metode perdagangan yang tersedia dan struktur terkait.

3.1. SendOrder

Metode SendOrder mengirim pesanan baru. Ini setara dengan mengklik tombol New di jendela Orders di Streamster dan kemudian mengisi form dan mengklik OK. Metode SendOrder memiliki satu parameter, struktur “Order” yang berisi detail pesanan baru. Arti bidang dalam struktur Order adalah sama seperti dalam form Kirim Pesanan di Streamster.

Bidang berikut dalam struktur Order valid dan digunakan saat memanggil metode SendOrder:

Instrument: Nama instrumen (misalnya, EUR/USD), bidang wajib diisi
Side: BELI (Default) atau JUAL
PriceType: MARKET (Default), LIMIT atau STOP
Price: Bidang yang diperlukan ketika parameter PriceType diatur ke LIMIT atau STOP
DurationType: GTC (Default), GTD atau IOC
Duration: Diperlukan ketika parameter DurationType diset ke GTD (Good Till Date)
Quantity: Bidang wajib diisi
QuantityType: FULL (Default) atau PARTIAL
ExitStopLoss: Pilihan
ExitTarget: Pilihan
Desk: Nama desk yang akan digunakan untuk order, bidang wajib diisi
Currency: Diperlukan jika ada lebih dari satu mata uang di desk yang ditentukan
Text: Pilihan

Metode SendOrder tidak memiliki nilai kembali – jika pesanan berhasil, itu biasanya akan muncul di jendela Pesanan segera. Jika ada parameter yang tidak valid, eksepsi akan dimunculkan (seperti di semua metode API Streamster lainnya).

Contoh – PHP: Kode berikut untuk mengirimkan order dasar.

 SOAP_SINGLE_ELEMENT_ARRAYS));

$api -> SendOrder(array(
    "Instrument" => "EUR/USD",
    "Desk" => "Virtual Forex",
    "Quantity" => 10
));

?>

Kode berikut untuk menghasilkan order beubah-ubah, sebagian besar bidangnya terisi dan mengirim order.

 SOAP_SINGLE_ELEMENT_ARRAYS));

$order -> Instrument = "Dow Jones";
$order -> Side = "BUY";
$order -> Price = 8756.24;
$order -> PriceType = "LIMIT";
$order -> ExitTarget = 8770;
$order -> Desk = "Testing";
$order -> Currency = "EUR";
$order -> Quantity = 10;
$order -> DurationType = "GTD";
$order -> Duration = date("c", time() + 3600);
$order -> Text = "test order from my script";

$api -> SendOrder($order);

?>

Contoh – Visual Basic: Kode berikut untuk mengirimkan order dasar.

Dim api As StreamsterApi = New StreamsterApi

Dim o As Order = New Order

o.Instrument = "EUR/USD"
o.Desk = "Virtual Forex"
o.Quantity = 10
o.QuantitySpecified = True

api.SendOrder(o)

Kode berikut untuk mengirimkan pesanan dengan banyak parameter opsional.

Dim api As StreamsterApi = New StreamsterApi

Dim o As Order = New Order

o.Instrument = "Dow Jones"
o.Side = "BUY"
o.Price = 8756.24
o.PriceSpecified = True
o.PriceType = "LIMIT"
o.ExitTarget = 8770
o.ExitTargetSpecified = True
o.Desk = "Testing"
o.Currency = "EUR"
o.Quantity = 10
o.QuantitySpecified = True
o.DurationType = "GTD"
o.Duration = DateAdd("d", 1, Now())
o.DurationSpecified = True
o.Text = "test order from my script"

api.SendOrder(o)
3.2. ChangeOrder

ChangeOrder mengubah parameter tertentu dari pending order. Metode ChangeOrder memiliki satu parameter, struktur “Order”, yang menentukan ID pesanan yang akan diubah dan parameter baru pesanan tersebut.

Bidang berikut dalam struktur Order valid dan digunakan pada saat memanggil metode ChangeOrder:

OrderID: Berisi ID pesanan yang akan diubah
PriceType: MARKET (Default), LIMIT atau STOP
Price: Bidang yang diperlukan ketika parameter PriceType diatur ke LIMIT atau STOP
DurationType: GTC (Default), GTD atau IOC
Duration: Diperlukan ketika parameter DurationType diset ke GTD (Good Till Date)
Quantity: Bidang wajib diisi
QuantityType: FULL (Default) atau PARTIAL
ExitStopLoss: Pilihan; ketika kosong, parameter Exit Stop Loss akan dikosongkan untuk posisi tersebut
ExitTarget: Pilihan; saat kosong, parameter Exit Target akan dikosongkan untuk posisi tersebut
Text: Menetapkan parameter Teks posisi

Semua bidang lain dalam struktur Pesanan akan diabaikan ketika metode ChangeOrder dipanggil.

CATATAN: Jika salah satu bidang di atas dibiarkan kosong, nilai default akan diasumsikan, bukan nilai sebelumnya yang terkait dengan pesanan. Sebagai contoh, jika ChangeOrder dipanggil dengan bidang ExitStopLoss dibiarkan kosong, nilai Exit Stop Loss akan dikosongkan – tidak akan memiliki nilai seperti sebelum panggilan.

Contoh – PHP: Kode berikut untuk mengubah pesanan.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$order -> OrderID = "CR82JA01D";
$order -> Price = 8756.24;
$order -> PriceType = "LIMIT";
$order -> ExitTarget = 8765;
$order -> Quantity = 10;
$order -> DurationType = "GTD";
$order -> Duration = date("c", time() + 3600);
$order -> Text = "test order from my script";

$api -> ChangeOrder($order);

?>

Contoh – Visual Basic: Kode berikut untuk mengubah pesanan.

Dim api As StreamsterApi = New StreamsterApi

Dim o As Order = New Order

o.OrderID = "K82LVC9DR"
o.Price = 8756.24
o.PriceSpecified = True
o.PriceType = "LIMIT"
o.ExitTarget = 8765
o.ExitTargetSpecified = True
o.Quantity = 10
o.QuantitySpecified = True
o.DurationType = "GTD"
o.Duration = DateAdd("d", 1, Now())
o.DurationSpecified = True
o.Text = "test order from my script"

api.ChangeOrder(o)

 

3.3. CancelOrder

CancelOrder membatalkan pesanan dengan ID Pesanan yang diberikan. Metode CancelOrder memiliki satu parameter, string “OrderID” yang menentukan pesanan yang akan dibatalkan. Metode CancelOrder tidak memiliki nilai kembali.

Contoh – PHP: Kode berikut membatalkan pesanan.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$api -> CancelOrder("Z4AEVG7Z0");

?>

Contoh – Visual Basic: Kode berikut untuk membatalkan pesanan.

Dim api As StreamsterApi = New StreamsterApi

api.CancelOrder("Z4AEVG7Z0")
3.4. ChangePosition

ChangePosition mengubah parameter tertentu dari posisi terbuka. Metode ChangePosition memiliki satu parameter, struktur “Posisi”, yang menentukan ID posisi yang akan diubah dan parameter baru dari posisi tersebut.

Bidang berikut dalam struktur Posisi yang valid dan digunakan saat memanggil metode ChangePosition:

PositionID: Berisi ID dari posisi yang akan diubah
ExitStopLoss: Mengatur parameter Exit Stop Loss; ketika kosong, parameter Exit Stop Loss akan dikosongkan untuk posisi tersebut
ExitTarget: Mengatur parameter Exit Target; saat kosong, parameter Exit Target akan dikosongkan untuk posisi tersebut
Text: Menetapkan parameter Teks posisi

Semua bidang lain dalam struktur Posisi diabaikan ketika metode ChangePosition dipanggil.

CATATAN: Jika salah satu bidang di atas dibiarkan kosong, nilai default akan diasumsikan, bukan nilai sebelumnya yang terkait dengan pesanan. Sebagai contoh, jika ChangePosition dipanggil dengan bidang ExitStopLoss dibiarkan kosong, nilai Exit Stop Loss akan direset – tidak akan memiliki nilai seperti sebelum panggilan.

Contoh – PHP: Kode berikut untuk mengubah posisi.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$position -> PositionID = "B2HN72VL3";
$position -> ExitStopLoss = 3.20;
$position -> ExitTarget = 3.50;
$position -> Text = "hello world";

$api -> ChangePosition($position);

?>

Contoh – Visual Basic: Kode berikut untuk mengubah posisi.

Dim api As StreamsterApi = New StreamsterApi

Dim p As Position = New Position

p.PositionID = "B2HN72VL3"
p.ExitStopLoss = 3.20
p.ExitStopLossSpecified = True
p.ExitTarget = 3.50
p.ExitTargetSpecified = True
p.Text = "hello world"

api.ChangePosition(p)

 

3.5. ClosePosition

ClosePosition menutup posisi dengan ID Posisi yang diberikan. Metode ClosePosition memiliki satu parameter, string “PositionID” yang menentukan posisi yang akan ditutup. Metode ClosePosition tidak memiliki nilai kembali.

Contoh – PHP: Kode berikut untuk menutup suatu posisi.

<?php

$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
    array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));

$api -> ClosePosition("B2HN72VL3");

?>

Contoh – Visual Basic: Kode berikut untuk menutup suatu posisi.

Dim api As StreamsterApi = New StreamsterApi

api.ClosePosition("B2HN72VL3")

 

Kirimkan komentar dan saran Anda yang mungkin Anda miliki tentang API Streamster.

Kami berharap dapat menerima masukan Anda dan meningkatkan konten di halaman ini untuk membantu Anda memanfaatkan API secara maksimal.

Bergabung dengan komunitas trader berpengetahuan luas

Hanya butuh 30 detik.

Pengungkapan risiko

Perdagangan instrumen keuangan melibatkan resiko yang tinggi, termasuk kemungkinan kerugian atas modal ditambah kerugian lain dan tidak sesuai untuk semua anggota masyarakat.

Anda harus membuat penilaian independen tentang apakah perdagangan ini sesuai untuk Anda mengingat kondisi keuangan Anda, pengalaman investasi, toleransi resiko, dan faktor-faktor lain yang relevan.


© 2018 Agea

Pin It on Pinterest