Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:这个语句是否正确?

1楼
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
2楼
yukizzc 发表于:2016/7/7 14:04:52

这样不行的,你如果米有tuby时候,上一笔委托也是成功的,那么直接就执行tsell了

你或者取判断hy2是否有持仓,如果有持仓了,那么就执行tsell

3楼
NatalieGuan 发表于:2016/7/7 14:10:10
那么我如何表示持仓比上一次执行多了一手?
类似于
NextBuyHold:tbuyholdingex(AccountID,HY2,1);
a:=NextBuyHold;
If a<NextBuyHold then begin
tsell
end
4楼
yukizzc 发表于:2016/7/7 14:36:48

if  tholding>EXTGBDATA( 'num') then

 

利用全局变量记录num来和tholding走判断

5楼
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),不会平仓
6楼
yukizzc 发表于:2016/7/8 10:08:19

EXTGBDATASET('Num',NEXTBUYHOLD);

这句话只能执行一次,你再用一个全局变量去控制执行一次

7楼
NatalieGuan 发表于:2016/7/8 10:12:49
不好意思,我好像没看懂你的意思?
8楼
yukizzc 发表于:2016/7/8 10:15:27

021-20339087

电话联系下我

9楼
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手
10楼
NatalieGuan 发表于:2016/7/8 10:50:19
需求是若HY2开多成功1手则平仓1手HY1,若未成功则撤单
共12 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.