以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教如何实现持仓后立刻发出止盈、止损指令  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=67519)

--  作者:pig3009
--  发布时间:2014/7/17 15:10:30
--  请教如何实现持仓后立刻发出止盈、止损指令
请教在图表自动化交易中,如何用代码实现以下需求:

1、系统检测到有持仓(holding>0)时立刻发出止盈(enterprice+1)委托,这里用limitr还是用stopr?
2、如果价格反方向到一定程度,且止盈委托没有成交,则立刻撤单止盈委托,重新发出止损委托(enterprice-1),这里可以用limitr还是stopr?
3、系统检测到有持仓(holding<0)时立刻发出止盈(enterprice-1)委托,这里用limitr还是用stopr?
4、如果价格反方向到一定程度,且止盈委托没有成交,则立刻撤单止盈委托,重新发出止损委托(enterprice+1),这里可以用limitr还是stopr?

谢谢

--  作者:jinzhe
--  发布时间:2014/7/17 15:13:17
--  

1.2.3.4:

limitr是实际的限价下单函数,stopr是测评使用的函数

[此贴子已经被作者于2014/7/17 15:13:23编辑过]

--  作者:pig3009
--  发布时间:2014/7/17 15:20:07
--  
请问下面这个代码写的对么,能够实现我上面需求么?
//开多
IF KD THEN
BEGIN
sellshort(HOLDING<0,0,thisclose);
BUY(HOLDING=0,10,limitr,××××);//开多
END

IF PD1 THEN
BEGIN
sell(HOLDING>0,10,limitr,enterprice+n);//止盈
END

IF PD2 THEN
BEGIN
sell(HOLDING>0,10,limitr,enterprice-n);//止损
END

//开空
IF KK THEN
BEGIN
sell(HOLDING>0,0,thisclose);
BUYSHORT(HOLDING=0,10,limitr,××××);//开空
END

IF PK1 THEN
BEGIN
sellshort(HOLDING<0,10,limitr,enterprice-n);//止盈
END

IF PK2 THEN
BEGIN
sellshort(HOLDING<0,10,limitr,enterprice+n);//止损
END

--  作者:jinzhe
--  发布时间:2014/7/17 15:24:31
--  

就是用limitr的写法就是:   limitr,你想要的价格

照这样写就行


--  作者:pig3009
--  发布时间:2014/7/17 16:11:30
--  
比如我空仓持仓价格为1234,止损limitr的价格是1240,但行情价格直接跳空到1300,在图表上看到的就是白色箭头,但实际上行情价格高于止损价格,应该是触发止损的,应该成交,请问模拟交易中这时候会以1300成交么?
--  作者:jinzhe
--  发布时间:2014/7/17 16:21:22
--  
有白色箭头报单都没有,何论下单
--  作者:pig3009
--  发布时间:2014/7/17 16:25:48
--  
谢谢版主超速回答。
再叨扰一下,比如我空仓持仓价格为1234,止损limitr的价格是1240,但行情价格直接跳空到1300,请问模拟交易中这时候会以1300成交么?
如果我要实现高于止损价成交的话,应该用什么指令,thisclose?
[此贴子已经被作者于2014/7/17 16:26:43编辑过]

--  作者:jinzhe
--  发布时间:2014/7/17 16:42:20
--  

thisclose和market和marketr是按照当前的行情来下单的,没有指定的价格

limitr是按照指定价格下单,当出现白色箭头之后不会下单,

如果希望价格不论多少都能够报单的,呢么你要在下单语句后面加一个函数IGNORECHECKPRICE,用法:buy(),IGNORECHECKPRICE;

这样就不管你下的价格是多少,直接报单了。然后成交不成交,就看行情了