金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
123
返回列表 发新帖
楼主: rock4

后台移动止损问题

[复制链接]

14

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-7-20
曾用名:
 楼主| 发表于 2021-8-23 11:20 | 显示全部楼层
技术009 发表于 2021-8-20 14:49
看错了是最新价。

1.你全局变量名称还是 stra 这意味着你要是多品种,你还是所有品种都用这个全局变量的 ...

好的,那你测试下,多谢。
ZH1:='';
下单资金量:=20000;
ss:=FLOOR(下单资金量/(100*c)) ;//单位是手
股数:=ss*100;//单位是股
S1:=股数;//每个交易品种投入约2万元,以股数为计量。
if STKLABEL='' then S1:=股数;
ct1:=EXTGBDATA('CT1_'+S1);//和品种挂钩的 全局变量名称
stra:='b'+'_'+STKLABEL;//
VARIABLE:stra=0;
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
ma差:=ma1-ma2;//
kd3:=ma差>0;
PD:=ma差<0;
cd1:=TAVGENTERPRICEEX2(zh1,'',0)/DYNAINFO(7)>=1.05  and TTYPE(1)=1;
if cd1 then begin
tsell(cd1,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');//0全部执行止损
end
//回撤开始
//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX(ZH1,'' ,0 )>0 AND EXTGBDATA(stra)=0 THEN BEGIN
EXTGBDATASET(stra,1 );
END
//使A始终表示监控开始后的最高价:DYNAINFO(5)
IF DYNAINFO(5)>EXTGBDATA(stra) and EXTGBDATA(stra)>0 THEN BEGIN
EXTGBDATASET(stra,DYNAINFO(5));
END
//{测试移动止损开始}
IF EXTGBDATA(stra)- DYNAINFO(5)/DYNAINFO(7)>1.02 and EXTGBDATA(stra)>0 THEN BEGIN
TSELL(1,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');
EXTGBDATASET(stra,0);//发现价格回落止损,并将a赋值为0表示移动止损动作完成
END
cd:=TENTERBARS(0)=-1 or TENTERBARS(0)>=3;
buy_COND:=DYNAINFO(7)/TAVGENTERPRICEEX2(ZH1,'' ,0)>=1.02  and TAVGENTERPRICEEX2(ZH1,'' ,0)<>0 or TAVGENTERPRICEEX2(ZH1,'' ,0)=0 ;
    if kd3 then  begin //这二条都是为了防止重复开仓
TBUY(kd3 and cd and TBUYHOLDINGEX(ZH1,'' ,1)<1 and buy_COND,S1,LMT,CLOSE,1,ZH1,'');//
    end   
    BBj:=TAVGENTERPRICEEX2(ZH1,'',0);//多头持仓均价
    Byk:=DYNAINFO(7)/BBj;//
    IF byk>1.02 and EXTGBDATA('CT1_'+S1)<=0 and TBUYHOLDINGEX(ZH1,'',1)>100 THEN begin //
    TBUY(kd3 and TBUYHOLDINGEX(ZH1,'' ,1)>100,S1,LMT,CLOSE,1,ZH1,'');//仓位判断问题,股票单位是股/100股了
    EXTGBDATASET('CT1_'+S1,ct1+1);//第二次加多仓
    EXTGBDATASET('CT1_'+S1,ct1+2);//第3次加多仓
    end
TSELL(pd,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');
  if pd then EXTGBDATASET('CT1_'+S1,0); //平仓时候重置 超全局变量
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-23 13:23 | 显示全部楼层
本帖最后由 技术009 于 2021-8-23 13:53 编辑

ZH1:='';
下单资金量:=20000;
ss:=FLOOR(下单资金量/(100*c)) ;//单位是手
股数:=ss*100;//单位是股
S1:=股数;//每个交易品种投入约2万元,以股数为计量。
if STKLABEL='' then S1:=股数;
ct1:=EXTGBDATA('CT1_'+S1);//和品种挂钩的 全局变量名称
stra:='b'+'_'+STKLABEL;//
MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
ma差:=ma1-ma2;//
kd3:=ma差>0;
PD:=ma差<0;
cd1:=TAVGENTERPRICEEX2(zh1,'',0)/DYNAINFO(7)>=1.05  and TTYPE(1)=1;
if cd1 then begin
tsell(cd1,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');//0全部执行止损
end
//回撤开始
//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX(ZH1,'' ,0 )>0 AND EXTGBDATA(stra)=0 THEN BEGIN
EXTGBDATASET(stra,1 );
END
//使A始终表示监控开始后的最高价:DYNAINFO(5)
IF DYNAINFO(5)>EXTGBDATA(stra) and EXTGBDATA(stra)>0 THEN BEGIN //用DYNAINFO(5) 无法表述持仓后的回落。因为最高价是可能在你开仓前就有了。
EXTGBDATASET(stra,DYNAINFO(5));
END
//{测试移动止损开始}
IF (EXTGBDATA(stra)-DYNAINFO(7))/EXTGBDATA(stra)>0.02 and EXTGBDATA(stra)>0 THEN BEGIN
TSELL(1,TBUYHOLDINGEX(ZH1,'',1),MKT,1,ZH1,'');
EXTGBDATASET(stra,0);//发现价格回落止损,并将a赋值为0表示移动止损动作完成
END
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-23 13:27 | 显示全部楼层
红色部分是我觉得有问题的地方,你自己再确认核对下。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-7-20
曾用名:
 楼主| 发表于 2021-8-23 13:53 | 显示全部楼层
技术009 发表于 2021-8-23 13:27
红色部分是我觉得有问题的地方,你自己再确认核对下。

使A始终表示监控开始后的最高价:DYNAINFO(5)
IF DYNAINFO(5)>EXTGBDATA(stra) and EXTGBDATA(stra)>0 THEN BEGIN //用DYNAINFO(5) 无法表述持仓后的回落。因为最高价是可能在你开仓前就有了。
EXTGBDATASET(stra,DYNAINFO(5));
END
那么把DYNAINFO(5)换成HHV(H,5),如何写了
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-23 13:55 | 显示全部楼层
1.
(EXTGBDATA(stra)-DYNAINFO(7))/EXTGBDATA(stra)>0.02
这里是0.02 忘改掉了。

2.“那么把DYNAINFO(5)换成HHV(H,5),如何写了”在后台无法用这种形式。或者说这种形式同样无法体现开仓后的最高价。
hhv是统计多个周期的最高价了。你开仓的位置 很可能还是在这个最高价已经出现之后的位置。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-7-20
曾用名:
 楼主| 发表于 2021-8-23 14:14 | 显示全部楼层
技术009 发表于 2021-8-23 13:55
1.
(EXTGBDATA(stra)-DYNAINFO(7))/EXTGBDATA(stra)>0.02
这里是0.02 忘改掉了。


1.
(EXTGBDATA(stra)-DYNAINFO(7))/EXTGBDATA(stra)>0.02
这里是0.02 忘改掉了
这是从哪一句中改的呢?
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-23 14:15 | 显示全部楼层
看22楼 我在那里面改的。你看下就知道位置了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

14

主题

96

帖子

96

积分

等级: 免费版

注册:
2021-7-20
曾用名:
 楼主| 发表于 2021-8-23 14:24 | 显示全部楼层
技术009 发表于 2021-8-23 14:15
看22楼 我在那里面改的。你看下就知道位置了。

IF EXTGBDATA(stra)- DYNAINFO(5)/DYNAINFO(7)>1.02 and EXTGBDATA(stra)>0 THEN BEGIN //旧的
IF (EXTGBDATA(stra)-DYNAINFO(7))/EXTGBDATA(stra)>0.02 and EXTGBDATA(stra)>0 THEN BEGIN//新的
把旧的去掉更换新的?
那么这句的意思是直接取最新价回落2%么?
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-23 14:53 | 显示全部楼层
“那么这句的意思是直接取最新价回落2%么?”
就是你开仓后的最高价 回落了2%.肯定是以当前最新价判断回落程度的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 22:35 , Processed in 0.326819 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表