Rss & SiteMap

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

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

标题:研究下如何后台交易的移动止损

1楼
董小球 发表于:2011/8/17 11:23:42

//把A初始化为0;

//这里先假设用手工开多1手来做实验

//如果有持仓了并且a=0则把a赋值为1,表示现在有持仓了
if TBUYHOLDINGEX( '','' ,0 )>0 and EXTGBDATA('a' )=0 then begin
EXTGBDATASET( 'a',1 );
end

 

//如果最新价大于a当前值并且A=1了已经在持仓状态了,则把最新的高值赋给a

if DYNAINFO(  7)>EXTGBDATA('a' ) and EXTGBDATA('a' )>0 then begin
EXTGBDATASET( 'a',DYNAINFO(  7));
end

 

//如果a-最新价大于5个最小价位,也就是从高点回落了5个点位则平仓,并且吧A重置为0

if EXTGBDATA('a' )-DYNAINFO(  7)>5*mindiff and EXTGBDATA('a' )>0 then begin
TSELL(1,1,mkt );
EXTGBDATASET( 'a',0);
end

 

 

但是现在问题是,A仿佛一只被赋值为最新价,仿佛if DYNAINFO(  7)>EXTGBDATA('a' ) and EXTGBDATA('a' )>0 then begin
这个语句木有起到IF的效果~

2楼
阿火 发表于:2011/8/17 14:21:22

不能执行吗?

代码本身没有错误呀

3楼
阿火 发表于:2011/8/17 14:35:20

知道了,你是运行逐K模式,所以无法执行。

你的代码要运行序列模式

 

if EXTGBDATA('a' )-DYNAINFO(  7)>5*mindiff and EXTGBDATA('a' )>0 then begin
TSELL(1,1,mkt );//在逐K模式,非最后一根K线不下单
EXTGBDATASET( 'a',0);//但是平仓条件成立时,在第一根bar,这语句会执行赋值为0,导致后面的K线执行时,a又被赋值为最新价
end

 

 

 

[此贴子已经被作者于2011-8-17 14:37:22编辑过]
4楼
董小球 发表于:2011/8/17 17:31:36

啊哈哈 群众的力量是无穷的 啊火的智慧是社会先进生产力的三个代表

5楼
阿火 发表于:2011/8/18 8:09:21
图片点击可在新窗口打开查看 汗啊
[此贴子已经被作者于2011-8-18 8:09:42编辑过]
6楼
zhongjin 发表于:2011/8/19 16:36:33
请董老师和阿火老师写一个后台交易移动止损的标准范例给我们学习,在逐K模式下运行
7楼
阿火 发表于:2011/8/19 22:32:06

variable:zs=drawnull,hl=drawnull;

if holding>0 and l<zs then begin

    sell(1,1,limitr,c);

    tsell(1,1,mkt);

end

 

if holding=0 and ref(ma5>ma10,1) then begin

    buy(1,1,limitr,c);

    hl:=h;

    tbuy(1,1,mkt);

end

 

if holding>0 and h>=hl then begin

    hl:=h;

    zs:=hl-20;

end

8楼
zhongjin 发表于:2011/8/21 11:59:48

谢谢阿火老师这样快回复

 

再请教 后台止损平仓是不是用市价mkt效果比较好,为什么不用限价

9楼
阿火 发表于:2011/8/21 12:37:03

用mkt成交容易,损失滑点

用lmt成交慢,或者成交不了,不损失滑点

哪个好,哪个差 自行斟酌选择

共9 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 3 queries.