Rss & SiteMap

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

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

标题:价格没有锁住

1楼
haizxj 发表于:2017/8/23 15:03:47

VARIABLE p1:=0,p2:=0;

 

AA:=.......;//指定价AA

if kd then
BEGIN
开多:BUY(r1 AND HOLDING=0 and kd,1,LIMITR,aa),IGNORECHECKPRICE;
p1:=aa;
end

 

结果发现P1没有锁住,还是每根K游动,怎么回事

2楼
FireScript 发表于:2017/8/23 15:07:49
锁住?你要的效果是什么样的呢?可否详细说下。
3楼
haizxj 发表于:2017/8/23 15:13:16

AA:=ref(C,1)-ref(c,1)*0.02;

 

当开仓时,锁定这个开仓的价

4楼
haizxj 发表于:2017/8/23 15:22:49

用 MMM:p1;查看

但是发现P1还是移动的,并没有锁锭这个价

5楼
FireScript 发表于:2017/8/23 15:31:04
以下是引用haizxj在2017/8/23 15:22:49的发言:

用 MMM:p1;查看

但是发现P1还是移动的,并没有锁锭这个价

这个p1的赋值在开仓条件情况下就会触发,所以p1肯定在变了啊。 p1在被重新赋值之前都会保持上一次赋值的值。还要考虑历史上的开仓条件触发次数的影响,起始K位置也要固定下最好。

6楼
haizxj 发表于:2017/8/23 16:32:04

怎么固定呢

7楼
FireScript 发表于:2017/8/23 16:36:42
以下是引用haizxj在2017/8/23 16:32:04的发言:

怎么固定呢

如果你要给P1赋值一次之后不再赋值,那么可以添加一个条件 :

if p1=0 then p1:=aa; 

 

或者呢这样

N:BARSSINCE(buycond);

定位第一次开仓的位置,然后取得那个时候的P1值。

ref(p1,n);

 

8楼
haizxj 发表于:2017/8/23 16:39:33

if kd then
BEGIN
开多:BUY(r1 AND HOLDING=0 and kd,1,LIMITR,aa),IGNORECHECKPRICE;
p3:=BARPOS;
if BARPOS=p3 then
BEGIN
p1:=aa;
end
end

 

还是不好锁锭

9楼
haizxj 发表于:2017/8/23 16:45:48

if kd then
BEGIN
开多:BUY(r1 AND HOLDING=0 and kd,1,LIMITR,aa),IGNORECHECKPRICE;

if p1:=0 then p1:=aa;

end

if r1 and holding>0 and pd and aa>p1 then
BEGIN
平多:SELL(r1 and holding>0 and pd and aa>p1 ,1,LIMITR,aa),IGNORECHECKPRICE;
if p1>0 then p1:=0;
 end

好像还不行

 

10楼
wenarm 发表于:2017/8/23 17:06:19

VARIABLE p1:=0;

if C>O and HOLDING=0 then
 BEGIN
  开多:BUY(  1,1,LIMITR,c),IGNORECHECKPRICE;
      p1:=c;   
 end
aaaaa:p1;
类似上面的处理,把你的开仓条件全部放到if中,这样就不会每次都进入到判断语句内,造成p1被改变。

 

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


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