如何撤单
<h4><strong>简要说明</strong></h4>
<ul>
<li>
<p>可使用ths_api包中提供的交易接口函数:cmd进行撤单。主要包括以下几种类型:</p>
<ol>
<li>撤最后:撤掉时间上最后的一笔委托单</li>
<li>按买卖方向撤掉某方向的所有可撤委托单</li>
<li>对某股票代码/当前分时行情代码的所有可撤委托单/所有可撤买单/卖单进行撤单</li>
<li>撤全部:撤掉所有可撤委托单</li>
<li>按合同编号撤单</li>
</ol>
</li>
<li>
<p>下面给出cmd函数进行撤单的调用格式,并对以上几种下单委托分别进行举例说明。</p>
<p><strong>调用格式</strong></p>
<pre><code>cmd('操作动作 参数值')</code></pre>
<p><strong>参数</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">操作动作</td>
<td style="text-align: left;">cancel(撤单)</td>
</tr>
<tr>
<td style="text-align: left;">参数值</td>
<td style="text-align: left;">-h 合同编号、方向(buy/sell)、代码、代码+方向(buy/sell)、全撤/撤最后(all/last)</td>
</tr>
</tbody>
</table>
<hr />
<h4>1. 撤最后:撤掉时间上最后的一笔委托单</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例1:
xd.cmd('cancel last')</code></pre>
<p><strong>运行结果</strong></p>
<p>弹窗提示是否撤单,确认后,日志输出如下,可撤委托表中,时间最后的一笔委托被撤单。</p>
<pre><code>#例1:
tips=您的撤单委托已成功提交,合同编号:1250971305。</code></pre>
<hr />
<h4>2.按买卖方向撤掉某方向的所有可撤委托单</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例2:
xd.cmd('cancel buy')</code></pre>
<p><strong>运行结果</strong></p>
<p>弹窗提示是否撤单,确认后,日志输出如下,可撤委托表中的所有买入委托单被撤单。</p>
<pre><code>#例2:
tips=您的撤单委托已成功提交,成功笔数:4。</code></pre>
<hr />
<h4>3. 对某股票代码/当前分时行情代码的所有可撤委托单/所有可撤买单/卖单进行撤单</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例3:撤掉当前行情分时代码的所有委托单
xd.cmd('cancel fsdm')
#例4:撤掉当前行情分时代码的所有卖单
xd.cmd('cancel fsdm sell')
#例5:撤掉000001的所有委托单
xd.cmd('cancel 000001')</code></pre>
<p><strong>运行结果</strong></p>
<p>弹窗提示是否撤单,确认后,日志输出如下,可撤委托表中的相应委托单均被撤单。</p>
<pre><code>#例3:
tips=您的撤单委托已成功提交,成功笔数:3。
#例4:
tips=您的撤单委托已成功提交,成功笔数:2。
#例5:
tips=您的撤单委托已成功提交,成功笔数:2。</code></pre>
<hr />
<h4>4. 撤全部:撤掉所有可撤委托单</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例6:
xd.cmd('cancel all')</code></pre>
<p><strong>运行结果</strong></p>
<p>弹窗提示是否撤单所有可撤委托,确认后,日志输出如下,可撤委托表中的所有委托单被撤单。</p>
<pre><code>#例6:
tips=您的撤单委托已成功提交,成功笔数:4。</code></pre>
<hr />
<h4>5. 按合同编号撤单</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例7:撤掉合同编号为1251100009的委托单
print(xd.g_order) #输出当日可撤委托表
xd.cmd('cancel -h 1251100009') #按合同编号撤单</code></pre>
<p><strong>运行结果</strong></p>
<p>弹窗提示是否撤单,确认后,日志及输出如下。由输出可见,可撤委托表中原先有一笔合同编号为1251100009的委托单,被成功提交撤单,之后撤单成功。</p>
<pre><code>#例7:
{'600812': [{'zqmc': '华北制药', 'wtsl': 200, 'bz': '未成交', 'cxsl': 0, 'wtrq': '20191030', 'cjjj': 0.0, 'htbh': '1251100009', 'cz': '买入', 'gdzh': 'A482940614', 'wtsj': '21:00:22', 'jysc': '上海A股', 'cjsl': 0, 'zqdm': '600812', 'wtjg': 6.4}], '300362': [{'zqmc': '天翔环境', 'wtsl': 300, 'bz': '未成交', 'cxsl': 0, 'wtrq': '20191030', 'cjjj': 0.0, 'htbh': '1251134005', 'cz': '买入', 'gdzh': '00107220280', 'wtsj': '20:59:22', 'jysc': '深圳A股', 'cjsl': 0, 'zqdm': '300362', 'wtjg': 3.12}]}
tips=您的撤单委托已成功提交,合同编号:1251100009。</code></pre>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
import time
#例8:按合同编号撤掉刚下的委托单:
ret = xd.cmd('buy 000001 zxjg 100')
print(ret)
time.sleep(1) #延时1s,以保证委托单已更新到可撤委托表,可从表中按合同编号撤单。
xd.cmd('cancel -h %s' % ret['htbh']) #按合同编号撤单</code></pre>
<p><strong>运行结果</strong></p>
<p>运行程序后,弹窗提示是否提交委托,确认后cmd函数的返回值ret为字典,包含了‘htbh’字段,如下。延时1s后,取ret的‘htbh’字段,并按该编号撤单,日志tips返回撤单成功。</p>
<pre><code>#例8:
tips=send buy code:000001 price:16.34 amount:100
tips=您的买入委托已成功提交,合同编号:1269979187。
{'htbh': '1269979187', 'retMsg': '您的买入委托已成功提交,合同编号:1269979187。', 'retCode': '0'}
tips=您的撤单委托已成功提交,合同编号:1269979187。</code></pre>
<p><strong>示例代码</strong></p>
<pre><code>#例9:获取当日可撤委托表中的000001的所有委托单的合同编号,并按合同编号撤单所有这些委托单
print(xd.g_order) #输出当日可撤委托表
for item in xd.g_order['000001']: #对每个000001的委托单遍历
xd.cmd('cancel -h %s' % (item['htbh'])) #获取某笔000001委托单的合同编号,并按编号撤单
</code></pre>
<p><strong>运行结果</strong></p>
<p>弹窗提示是否撤单,确认后,日志及输出如下。由输出可见,可撤委托表中的两笔000001的委托单被成功提交撤单,之后撤单成功。</p>
<pre><code>#例9:
{'300362': [{'zqmc': '天翔环境', 'wtsl': 300, 'bz': '未成交', 'cxsl': 0, 'wtrq': '20191030', 'cjjj': 0.0, 'htbh': '1251134005', 'cz': '买入', 'gdzh': '00107220280', 'wtsj': '20:59:22', 'jysc': '深圳A股', 'cjsl': 0, 'zqdm': '300362', 'wtjg': 3.12}], '000001': [{'zqmc': '平安银行', 'wtsl': 200, 'bz': '未成交', 'cxsl': 0, 'wtrq': '20191030', 'cjjj': 0.0, 'htbh': '1251064962', 'cz': '买入', 'gdzh': '00107220280', 'wtsj': '21:17:17', 'jysc': '深圳A股', 'cjsl': 0, 'zqdm': '000001', 'wtjg': 16.43}, {'zqmc': '平安银行', 'wtsl': 300, 'bz': '未成交', 'cxsl': 0, 'wtrq': '20191030', 'cjjj': 0.0, 'htbh': '1250893092', 'cz': '买入', 'gdzh': '00107220280', 'wtsj': '21:17:25', 'jysc': '深圳A股', 'cjsl': 0, 'zqdm': '000001', 'wtjg': 16.43}]}
tips=您的撤单委托已成功提交,合同编号:1251064962。
tips=您的撤单委托已成功提交,合同编号:1250893092。</code></pre>