以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 这个语句是否正确? (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=100317) |
-- 作者:NatalieGuan -- 发布时间:2016/7/7 14:01:08 -- 这个语句是否正确? tbuy(1,1,lmt,stkindi(HY2,\'Formula3.bprice\',0,0)+0.2,0,AccountID,HY2); tSell(TISPRVREMAIN(1)=0,1,mkt,0,0,AccountID,HY1); 若HY2开多的委托单交易成功,则平掉HY1
|
-- 作者:yukizzc -- 发布时间:2016/7/7 14:04:52 -- 这样不行的,你如果米有tuby时候,上一笔委托也是成功的,那么直接就执行tsell了 你或者取判断hy2是否有持仓,如果有持仓了,那么就执行tsell |
-- 作者:NatalieGuan -- 发布时间:2016/7/7 14:10:10 -- 那么我如何表示持仓比上一次执行多了一手? 类似于 NextBuyHold:tbuyholdingex(AccountID,HY2,1); a:=NextBuyHold; If a<NextBuyHold then begin tsell end
|
-- 作者:yukizzc -- 发布时间:2016/7/7 14:36:48 -- if tholding>EXTGBDATA( \'num\') then
利用全局变量记录num来和tholding走判断 |
-- 作者:NatalieGuan -- 发布时间:2016/7/8 9:51:13 -- 可是代码效果不如预期 相关行如下: NextBuyHold:tbuyholdingex(AccountID,HY2,1); EXTGBDATASET(\'Num\',NEXTBUYHOLD); tbuy(1,1,lmt,stkindi(HY2,\'Formula3.bprice\',0,0)+0.2,0,AccountID,HY2); tSell(NEXTBUYHOLD>EXTGBDATA(\'Num\'),1,mkt,0,0,AccountID,HY1); TCANCELEX(NEXTBUYHOLD=EXTGBDATA(\'Num\'),1,AccountID,HY2); 这样的情况下,运行时会不停地开仓和撤单(但是最终成交的数量大于0),不会平仓
|
-- 作者:yukizzc -- 发布时间:2016/7/8 10:08:19 -- EXTGBDATASET(\'Num\',NEXTBUYHOLD); 这句话只能执行一次,你再用一个全局变量去控制执行一次 |
-- 作者:NatalieGuan -- 发布时间:2016/7/8 10:12:49 -- 不好意思,我好像没看懂你的意思? |
-- 作者:yukizzc -- 发布时间:2016/7/8 10:15:27 -- 021-20339087 电话联系下我 |
-- 作者:NatalieGuan -- 发布时间:2016/7/8 10:44:22 -- NextBuyHold:tbuyholdingex(AccountID,HY2,1); if... tbuy(1,1,lmt,stkindi(HY2,\'Formula3.bprice\',0,0)+0.2,0,AccountID,HY2); EXTGBDATASET(\'Num\',0); tSell(EXTGBDATA(\'Num\')=0 and TISPRVREMAIN(1)=0,1,mkt,0,0,AccountID,HY1); TCANCELEX(EXTGBDATA(\'Num\')=0 and TISPRVREMAIN(1),1,AccountID,HY2); end 这样的运行结果是若HY1持仓为10手,则这10手很快就平仓,但是HY2开仓成功的数量很少,远没有10手
|
-- 作者:NatalieGuan -- 发布时间:2016/7/8 10:50:19 -- 需求是若HY2开多成功1手则平仓1手HY1,若未成功则撤单 |