如何下单及弹窗自定义提示语
<h4><strong>简要说明</strong></h4>
<ul>
<li>
<p>可使用ths_api包中提供的交易接口函数:cmd。支持买入、卖出、撤单(在下一节介绍)。主要包括以下几种:</p>
<ol>
<li>按股数买卖具体证券代码/分时行情代码股票</li>
<li>按金额买卖具体证券代码/分时行情代码股票</li>
<li>按可用仓位的某个比例买卖具体证券代码/分时行情代码股票</li>
<li>按总仓位的某个比例买卖具体证券代码/分时行情代码股票</li>
<li>对多个账号执行同一命令</li>
<li>执行时不弹出委托确认弹窗,直接委托</li>
<li>弹窗提示自定义的提示语</li>
</ol>
</li>
<li>下面给出cmd函数进行委托的调用格式,并对以上几种下单委托分别进行举例说明。</li>
</ul>
<p><strong>调用格式</strong></p>
<pre><code>cmd('操作动作 证券代码 价格 数量(金额/仓位) 辅助参数(可有可无)')</code></pre>
<p><strong>参数</strong></p>
<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;">buy(买入),sell(卖出)</td>
</tr>
<tr>
<td style="text-align: left;">证券代码</td>
<td style="text-align: left;">600000(举例),fsdm(当前行情分时代码)</td>
</tr>
<tr>
<td style="text-align: left;">价格</td>
<td style="text-align: left;">固定的具体价格、zxjg(最新价)、ztjg(涨停价)、dtjg(跌停价)、mrj1~mrj5(买入价1~5)、mcj1~mcj5(卖出价1~5)、dsj1~dsj5(对手价1~5)</td>
</tr>
<tr>
<td style="text-align: left;">数量(金额/仓位)</td>
<td style="text-align: left;">按股数:固定值; 按金额:-m 金额值; 可用仓位:-cw 比例值; 目标仓位:-zcw 比例值</td>
</tr>
<tr>
<td style="text-align: left;">辅助参数</td>
<td style="text-align: left;">对某账户执行命令:-account 资金账号; 执行时不弹出委托确认弹窗,直接委托:-notip</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:以最新价买入000001平安银行100股
xd.cmd('buy 000001 zxjg 100') #“zxjg”为“最新价格”的简拼
#例2:按照当前对手价——卖一价买入000001平安银行100股
xd.cmd('buy 000001 dsj1 100') #“dsj1”为“对手价1”的简拼</code></pre>
<p>编写好代码后,系统会自动对代码及各种修改进行保存。点击右侧的“运行”按钮,即启动程序。程序运行中途可以通过“停止”按钮,强制停止程序。</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/d50297b0d09d4caa7d9196e612ca3eb0?showdoc=.jpg" alt="" /></p>
<p><strong>运行结果</strong></p>
<p>均弹出委托确认提示弹窗,确认后,提交委托。编辑器下方窗口的日志输出如下:</p>
<pre><code>#例1:
tips=send buy code:000001 price:16.60 amount:100
tips=您的买入委托已成功提交,合同编号:1250570088。
#例2:
tips=send buy code:000001 price:16.45 amount:100
tips=您的买入委托已成功提交,合同编号:1250784611。</code></pre>
<hr />
<h4>2. 按金额买卖具体证券代码/分时行情代码股票</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例3:按照买一价卖出300362十万元
xd.cmd('sell 300362 mrj1 -m 100000')
#例4:按照跌停价卖出分时行情股票一万元
xd.cmd('sell fsdm dtjg -m 10000') #使用分时行情股票“fsdm”时,请点开和python策略编辑器入口:“策略”并列位置的“内嵌”功能,才可识别行情分时代码。</code></pre>
<p><strong>运行结果</strong></p>
<p>弹出委托确认提示弹窗,确认后,提交委托。编辑器下方窗口的日志输出如下:</p>
<pre><code>#例3:
tips=send sell code:300362 price:3.12 amount:32000
tips=您的卖出委托已成功提交,合同编号:1250728557。
#例4:
tips=send sell code:300362 price:2.97 amount:3300
tips=您的卖出委托已成功提交,合同编号:1250792433。</code></pre>
<hr />
<h4>3. 按可用仓位的某个比例买卖具体证券代码/分时行情代码股票</h4>
<p>可用仓位=某笔委托的委托金额/可用金额</p>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例5:按照当前可买数量以涨停价格买入1/5仓的300059
xd.cmd('buy 300059 ztjg -cw 1/5')</code></pre>
<p><strong>运行结果</strong></p>
<p>弹出委托确认提示弹窗,确认后,提交委托。编辑器下方窗口的日志输出如下:</p>
<pre><code>#例5:
tips=send buy code:300059 price:16.70 amount:3600
tips=您的买入委托已成功提交,合同编号:1250857514。
</code></pre>
<hr />
<h4>4. 按总仓位的某个比例买卖具体证券代码/分时行情代码股票</h4>
<p>总仓位=某笔委托的委托金额/总资产</p>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例6:按照固定价格:3.10,卖出300362,卖出金额占总仓位的1/10
xd.cmd('sell 300362 3.10 -zcw 0.1')</code></pre>
<p><strong>运行结果</strong></p>
<p>弹出委托确认提示弹窗,确认后,提交委托。编辑器下方窗口的日志输出如下:</p>
<pre><code>#例6:
tips=send sell code:300362 price:3.10 amount:14800
tips=您的卖出委托已成功提交,合同编号:1250846085。
</code></pre>
<hr />
<h4>5. 对多个账号执行同一命令</h4>
<p>首先添加多个交易账户,点击交易系统顶部功能栏中间的“增加账户”按钮,进行添加:</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/ecbf55bed6f96616ce1991606ec175a8?showdoc=.jpg" alt="" /></p>
<p>完成多账户添加后,在“增加账户”按钮旁可看到已添加的账户,如下图:</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/d59aadb6487dca9bae3eb541ecc1a152?showdoc=.jpg" alt="" /></p>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例7:对两个已添加的账户,按照卖三价买入000001 100股
xd.cmd('buy 000001 mcj3 100 -account 57780814; buy 000001 mcj3 100 -account 57821499')</code></pre>
<p>-account加资金账号的方式进行委托时,可以通过分号,一次对多个账号执行相同的委托。</p>
<p><strong>运行结果</strong></p>
<pre><code>#例7:
tips=send buy code:000001 price:16.45 amount:100
tips=您的买入委托已成功提交,合同编号:1250846089。
tips=send buy code:000001 price:16.45 amount:100
tips=您的买入委托已成功提交,合同编号:1250865166。
</code></pre>
<hr />
<h4>6. 执行时不弹出委托确认弹窗,直接委托</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例8:按照最新价买入000001 100股,不需弹窗提示确认委托。
xd.cmd('buy 000001 zxjg 100 -notip')
</code></pre>
<p><strong>运行结果</strong></p>
<p>无委托确认弹窗,直接提交委托。编辑器下方窗口的日志输出如下:</p>
<pre><code>#例8:
tips=send buy code:000001 price:16.43 amount:100
tips=您的买入委托已成功提交,合同编号:1250848086。
</code></pre>
<hr />
<h4>7.弹窗提示自定义的提示语</h4>
<p><strong>调用格式</strong></p>
<pre><code>tip(strTip)
'''
函数名 tip
函数功能:弹框提示
参数:
strTip:提示内容
'''</code></pre>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例8:按照最新价买入000001 100股,买入前弹窗提示当前该股的持仓情况。
code = '000001'
#计算所占总仓位比例=实际数量*市价/总资产
cw = xd.g_position[code]['sjsl']*xd.g_position[code]['sj']/xd.g_money['zzc']
xd.tip('%s当前持仓占总仓位的%.2f%%' % (code, cw*100))
xd.cmd('buy 000001 zxjg 100')</code></pre>
<p>程序中,g_position、g_money为持仓表和资金表,可见本在线帮助文档的“如何查询交易相关数据/如何获取账户资金、持仓信息”。</p>
<p><strong>运行结果</strong></p>
<p>程序运行后,提示框如下:</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/e1e9feb7e31258193907cf40d023a5c3?showdoc=.jpg" alt="" /></p>
<p>确定提示后,弹窗提醒是否提交委托,确定后编辑器下方窗口的日志输出如下:</p>
<pre><code>#例8:
tips=send buy code:000001 price:15.47 amount:100
</code></pre>