欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教下语句

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2561人关注过本帖树形打印复制链接

主题:请教下语句

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 9:54:36    Post IP:58.246.57.26[显示全部帖子]

 你是会有加仓的动作吗?如果是正常的平仓后再次开仓 那没什么特殊好处理,但是如果是加仓 并且还是按照开仓位置取止损价 那估计得全局变量了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 10:33:00    Post IP:58.246.57.26[显示全部帖子]

 不是啊。用不用取决于你是不是有加仓操作,你要是加仓。你就只能用全局变量去纪录。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 11:00:37    Post IP:58.246.57.26[显示全部帖子]

 那这样做:

INPUT:N(10,1,100,1);

//这个P1,P2取值放到开仓语句后面
P1:REF(HHV(H,N),ENTERBARS+2),NODRAW;//开仓K前N周期最高价,不包含开仓K。
P2:REF(LLV(L,N),ENTERBARS+2),NODRAW;
if c<p2 then sell(1,holding,market);
if c>p1 then sellshort(1,holding,market);

你如果没有加仓,这样是ok的。用ref+ENTERBARS 直接获取最近一次开仓的位置,然后进行取值。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 13:50:55    Post IP:58.246.57.26[显示全部帖子]

 1.这样做:

INPUT:N(10,1,100,1);

//这个P1,P2取值放到开仓语句前面
P1:REF(HHV(H,N),ENTERBARS+1),NODRAW;//开仓K前N周期最高价,不包含开仓K。
P2:REF(LLV(L,N),ENTERBARS+1),NODRAW;
if c<p2 then sell(1,holding,market);
if c>p1 then sellshort(1,holding,market);

//开仓语句

这样就行了。依旧不包括开仓K,但是不会导致开仓了又平仓了。是否包含开仓K,你就调整ENTERBARS+1就行了

2.这个得全局变量了。
你稍等下,我前几天刚写过一个。我找出来给你。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 13:53:25    Post IP:58.246.57.26[显示全部帖子]

 VARIABLE:ss:=1;

input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF :EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :EMA(DIFF,M);
MACD1 :2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea),NODRAW;//macd金叉
macdsc:cross(dea,diff),NODRAW;


if macdjc and holding=0 then
begin
buy(1,ss,market);    
end

if macdsc and holding>0 then
begin
sell(1,holding,market);    
if NUMPROFIT(1)<0 and ss<8 then ss:=ss*2;
if NUMPROFIT(1)>0 then ss:=1;

end

原贴在这:
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=188329

基本差不多。就是在平仓时候 判断下盈亏情况,如果亏损了,那么全局变量(手数)增加。


命数如织,当如磐石。
 回到顶部