Streamster API

下面的内容描述了如何使用Streamster API来创建与Streamster交易平台交互的应用程序。使用Streamster API的应用程序可以从平台检索各种数据,执行和修改订单和合约头寸,并执行各种相关操作。

要打开和阅读一个特定的部分,请点击它的标题。

1. Streamster™ API介绍说明

Streamster API通过行业标准SOAP协议开放其功能。SOAP在几乎所有的编程平台上都得到了广泛的支持,包括PHP、Visual Basic、cc++、Java和许多其他语言和平台。

要使用Streamster API,需要启用Streamster API和Streamster内嵌的SOAP服务,以便让应用程序可以连接到Streamster。请登录您的帐户并单击Settings按钮,在“高级”选项下,勾选“启用web服务API”框并单击OK。Windows防火墙会要求您允许Streamster在端口8018上接受连接——点击“保持阻塞”按钮,这将阻止互联网或您的局域网中的其他计算机访问Streamster API。

一旦启用,Streamster API就可以为来自您的计算机的任何请求提供服务。需要注意的是,来自于您的计算机以外的任何计算机的请求将总是被拒绝,即使您允许Windows防火墙从internet或任何其他计算机和网络访问8018端口。这是为了防止互联网上的其他人在你的电脑和账户上访问Streamster API。请注意,在Streamster中没有允许绕过这种保护的选项。


启用Streamster API之后,您可以使用PHP和Visual Basic之类的语言来运行本文下部分中所示的示例,或是您自己的应用程序。对于每个Streamster API函数,您将同时看到PHP和Visual Basic示例。如果您打算使用另一种语言或平台,那么示例代码的转换通常非常简单。

1.1. 在PHP中调用API

PHP对于SOAP和Streamster API的支持非常好。在您的计算机上安装PHP很简单——下载并安装从PHP.net站点上的Windows二进制文件。要求PHP为5.0更高版本。Windows上的一些PHP版本在默认情况下没有启用SOAP——您可以通过编辑PHP.INI文件启用SOAP扩展,具体为找到文件中的 extension=php_soap.dll 行并取消注释即可。

要执行一个简单的PHP测试,请创建名为“test.php”的PHP文件,然后在Windows记事本中编辑它。将以下代码粘贴到其中:

<?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;

?>

通过运行“text.php”来测试上面的PHP脚本,它应该简单地显示欧元/美元的最后价格。

要测试关键错误(例如,当Streamster根本没有启动时,当方法参数无效时,等等),您可以使用标准的PHP异常处理。

1.2. 在Visual Basic中调用API

从Visual Basic中调用Streamster API很简单,因为它本身支持SOAP web服务。从Visual Basic中使用Web服务有很多方法,但最简单的方法是在Visual Basic项目中添加“Web服务引用”。Streamster API Web服务的地址是http://127.0.0.1:8018/service.wsdl,在将web服务引用添加到Visual Basic项目中时,需要指定改地址。

一旦将该引用添加到您的项目中,使用Streamster API就像使用任何其他可视化基本对象一样简单。例如,尝试下面的代码:

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

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

如果您的Visual Basic项目是一个Windows窗体应用程序,您可以将最后一行更改为 Label1.Text = q.Last 或类似形式。

根据您的Visual Basic版本,您需要确保添加了一个“Web服务引用”,而不是一个“服务引用”。如果您添加了一个“服务引用”,Streamster API类的名称将是“StreamsterApiClientInterface”,而不是“StreamsterApi”,因此,该情况下本文档中所示的示例必须相应地进行更新。

在您的Visual Basic项目中添加Streamster API web服务引用之后,还需要在您的Visual Basic项目中添加Streamster API web服务引用到“导入名称空间”列表。这一步是很有必要的,如此您就不必在每个Streamster API类型中加上web服务引用名称,那可是一项枯燥乏味的工作。

要了解如何在项目中添加web服务引用到“导入的名称空间”列表,请参考Visual Basic帮助系统。

2. Streamster™ API检索方法

一旦SOAP对象被创建,Streamster API就会开放一些您可以调用的方法,以便让您的脚本或应用程序能Streamster进行通信。下面的部分将探讨可用的检索方法和相关结构。

2.1. GetQuote

GetQuote方法为给定的品种名称返回一个“Quote”结构。Quote结构包含的字段相当于Streamster中的报价窗口中的列。GetQuote只返回Streamster中可用的字段——如果您想检索当前在Streamster中没有显示的任何字段,您必须通过点击“Columns”按钮来添加它们。

示例-PHP:下面的示例检索欧元/美元的报价,显示“Last”字段,然后列出所有可用字段。

<?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";
}

?>

示例-Visual Basic:示例-Visual Basic:以下示例检索欧元/美元报价,显示“Last”字段,然后显示所有其他字段。

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

GetOrders方法返回一个“Order”结构的数组。该数组直接对应Streamster中的定单窗口。返回数组中的每个Order结构都包含一个订单,其相关字段与Streamster平台中显示的一致。GetOrders返回的一组Order结构中只包含Streamster中可用的字段——如果您想要检索当前在Streamster的订单窗口中没有显示的任何字段,您必须通过单击Columns按钮来添加它们。

示例 – PHP: 下面的示例检索所有订单并将其列出。

<?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";
        }
    }
}

?>

示例 – Visual Basic: 下面的示例检索所有订单并将其列出。

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

GetTrades方法返回一个“Trade”结构的数组。该数组直接对应于Streamster中的交易窗口。返回数组中的每个Trade结构都包含一笔交易记录,其相关字段与Streamster平台中显示的一致。 GetTrades返回的一组Trader结构中只包含Streamster中可用的字段——如果您想要检索当前在Streamster的交易窗口中没有显示的任何字段,您必须通过单击Columns按钮来添加它们。

示例 – PHP: 下面的示例检索所有交易记录并将其列出。

<?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";
        }
    }
}

?>

示例 – Visual Basic: 下面的示例检索所有交易记录并将其列出。

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

GetPositions方法返回一个“Position”结构的数组,该数组直接对应Streamster中的合约窗口。返回的数组中的每个Position结构都包含一笔头寸,其相关字段与Streamster平台中显示的一致。GetPositions返回的一组Position结构中只包含Streamster中可用的字段——如果您希望检索Streamster的合约窗口中当前未显示的任何字段,您必须通过单击Columns按钮来添加它们。

示例 – PHP: 下面的示例检索所有合约头寸并将其列出。

<?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";
        }
    }
}

?>

示例 – Visual Basic: 下面的示例检索所有合约头寸并将其列出。

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

GetDesks方法返回一个“Desk”结构的数组。返回数组中的每个Desk结构都对应您账户中的一个资金子账户,其内容包括子账户的名称,子账户可用金额,以及可用资金的币种。

示例- PHP:下面的示例检索所有的资金账户并将其列出。

<?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";
    }
}

?>

示例 – Visual Basic: 下面的示例检索所有的资金账户并将其列出。

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

etBars方法按设定的周期获取指定品种的一组柱状图数据,返回数组中每条柱状图数据都包含某个特定时间点的价格。

注意: 只有在Streamster的任一个图表窗口中显示的图形数据中才可以检索到。如果您希望通过脚本检索特定的品种和周期,必须确保这个品种/周期显示在Streamster的一个图表窗口中。

GetBars方法有三个参数:品种名称、周期和标记可选项。

GetBars方法的第一个参数是一个字符串,它指定了将要检索图形数据的品种名称。第二个参数周期,指定了要检索的数据周期,包括”5 Minutes”, “15 Minutes”, “30 Minutes”, “Hourly”, “4 Hours”, “Daily”, “Weekly”, 和”Monthly”。第三个参数是一个字符串,用来确定返回图形数据的顺序:空白字符串表示数据按照降序排列,字符串”f”(即”flip”)则表示以升序排列。

返回的柱状图数据数组中的每个柱状图数据都有以下字段:数据时间、开盘价、最高价、最低价、收盘价和成交量。

示例- PHP: 下面的代码检索5分钟的欧元/美元数据,并将其全部显示出来。

<?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";
    }
}

?>

示例- Visual Basic: 下面的代码检索5分钟的欧元/美元数据,并将其全部显示出来。

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检索在Streamster中显示的最后一个错误或警告消息,如果有的话,将其返回。如果在上次的GetLastMessage调用之后没有任何消息,则GetLastMessage方法返回一个空白字符串,

示例- PHP: 下面的代码显示了最后一个错误或警告消息。

<?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);
}

?>

示例- Visual Basic: 下面的代码显示了最后一个错误或警告消息。

Dim api As StreamsterApi = New StreamsterApi

Dim s As String

s = api.GetLastMessage()

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

3. Streamster™ API的交易方法

一旦SOAP对象被创建,Streamster API就会开放一些您可以调用的方法,以便让您的脚本或应用程序能Streamster进行通信。下面的部分将探讨可用的交易方法和相关结构。

3.1. SendOrder

SendOrder方法发送一个新订单。它相当于在Streamster的定单窗口中点击新建按钮,然后填写表单并单击OK。SendOrder方法有一个参数,为一个包含新订单详细信息的“Order”结构。订单结构中字段的含义与Streamster中的Send Order表单相同。


Order结构中的下列有效字段,会在调用SendOrder方法时使用:

Instrument: 交易品种名称(比如 EUR/USD),必填项
Side: BUY (默认) 或 SELL
PriceType: MARKET (默认), LIMIT 或 STOP
Price: 当PriceType参数设为LIMIT或STOP时必填
DurationType: GTC (默认), GTD 或 IOC
Duration: Required when 当DurationType参数设为GTD (直到某日有效)时必填
Quantity: 必填项
QuantityType: FULL (默认) 或
PARTIAL
ExitStopLoss: 可选填
ExitTarget: 可选填
Desk: 用于订单交易的资金账户名称,必填项
Currency: 当指定的资金账户有多个币种时,此项必填
Text: 可选填

SendOrder方法没有返回值——如果订单成功,它通常会立刻出现在订单窗口中。如果存在任何参数无效,将会抛出一个异常(就像所有其他Streamster API方法一样)。

示例- PHP: 下面的代码发送一个普通的订单。

 SOAP_SINGLE_ELEMENT_ARRAYS));

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

?>

下面的代码创建一个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);

?>

示例- Visual Basic: 下面的代码发送一个普通的订单。

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)

下面的代码发送一个带有很多可选参数的订单。

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用于改变未成交订单的某些参数。ChangeOrder方法只有一个“Order”结构的参数,它指定要更改的定单ID和新的参数。

Order结构中的以下有效字段,将在调用ChangeOrder方法时使用:

OrderID:包含要修改的订单的ID
PriceType: MARKET (默认), LIMIT 或 STOP
Price: 当PriceType参数设为LIMIT或STOP时必填
DurationType: GTC (Default), GTD 或 IOC
Duration: 当DurationType参数设为GTD (直到某日有效)时必填
Quantity: 必填项
QuantityType: FULL (默认) 或
PARTIAL
ExitStopLoss: 可选填; 当为空时,止损价格将被重置为空
ExitTarget: 可选填; 当为空时,止盈价格将被重置为空
Text: 设置订单的备注参数

当调用ChangeOrder方法时,Order结构中的所有其他字段都会被忽略。

注意:如果上面的任何字段为空,那么将被重设为默认值,而不是与订单相关联的先前值。例如,当调用ChangeOrder时ExitStopLoss字段留为空,则订单的止损价格将被重置——它将不会保留调用之前所设定的价格。

示例- PHP: 下面代码修改一个订单。

<?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);

?>

示例- Visual Basic: 下面代码修改一个订单。

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取消指定ID所对应的订单。CancelOrder方法只有一个字符串参数“OrderID”,它指定要被取消的订单的编号。CancelOrder方法没有返回值。

示例- PHP:下面代码取消一个订单。

<?php

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

$api -> CancelOrder("Z4AEVG7Z0");

?>

示例- Visual Basic: 下面代码取消一个订单。

Dim api As StreamsterApi = New StreamsterApi

api.CancelOrder("Z4AEVG7Z0")
3.4. ChangePosition

ChangePosition用于改变持仓合约的某些参数。ChangePosition 方法只有一个“Position”结构的参数,它指定要更改的合约ID和新的参数。

Position结构中的以下有效字段,将在调用ChangePosition方法时使用:

PositionID: 包含要修改的合约的ID
ExitStopLoss: 设置止损参数;当为空时止损价格将被重置为空。
ExitTarget: 设置止盈参数;当为空时,止盈将被重置为空
Text: 设置合约的备注参数

当调用ChangePosition方法时,Position结构中的所有其他字段都会被忽略

注意:如果上面的任何字段为空,那么将被重设为默认值,而不是与合约相关联的先前值。例如,当调用ChangePosition时ExitStopLoss字段留为空,则合约的止损价格将被重置——它将不会保留调用之前所设定的价格。

示例 – PHP: 下面代码修改一个合约。

<?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);

?>

示例 – Visual Basic: 下面代码修改一个合约。

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平仓指定ID所对应的合约头寸。ClosePosition方法只有一个字符串参数”PositionID”,它指定要被平仓的合约的编号。ClosePosition方法没有返回值。

示例- PHP: 下面代码平仓一个合约。

<?php

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

$api -> ClosePosition("B2HN72VL3");

?>

示例- Visual Basic: 下面代码平仓一个合约。

Dim api As StreamsterApi = New StreamsterApi

api.ClosePosition("B2HN72VL3")

如果您对Streamster API有任何建议和意见,请发送给我们。

我们期待收到您的信息,帮助我们提高本页中的内容,以帮助您充分利用该API。

加入知识渊博的交易员群体

只需30秒

风险披露

金融产品交易伴随着很大风险,包括可能损失所有本金并出现额外亏损。该交易并不适于普通大众。

您需要根据自己的财务状况、投资经验、风险承受能力以及其他一些相关因素来独立判断自己是否适合进行此类型交易。


© 2018 Agea

Pin It on Pinterest