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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请帮看一下,写的A条件成立后记录最高价的写法有什么问题

   

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


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

主题:请帮看一下,写的A条件成立后记录最高价的写法有什么问题

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


加好友 发短信
等级:超级版主 帖子:18691 积分:0 威望:0 精华:0 注册:2013/7/15 9:22:16
请帮看一下,写的A条件成立后记录最高价的写法有什么问题  发帖心情 Post By:2018/4/17 9:29:31    Post IP:180.169.30.6[只看该作者]

你好,请帮我看一下,我写的A条件成立后记录最高价的写法有什么问题,这个写法没成功
M:=0;
if A<>0 then begin
 for i=0 to 50000 do begin
  if M[i]<>C then begin
   n:=max(M[i],C);
  if A=0 then begin
  BREAK;
  end
 end 
 end
 end
nn:n,linethick1;

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2018/4/17 10:02:26    Post IP:180.169.30.6[只看该作者]

variable:a=0,hh=0;

if cond=1 then

begin

a:=1;

end

 

if a=1 and high>hh then

hh:=high;

 

这样写,通过调节成立后去记录


 回到顶部
帅哥哟,离线,有人找我吗?
小飞哥
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2018/4/9 15:07:12
  发帖心情 Post By:2018/4/17 10:10:15    Post IP:59.41.245.200[只看该作者]

使用high来赋值,,直接条件成立时,,HH就变成了high,,但条件成立的那一刻,C并不等于high,这个写法还是不可以麻烦再帮我想想!!我使用C就是为了过滤成立时记录的最高价就会变成了high,,,,可能条件成立的时候,可能这条K线有上影线的
[此贴子已经被作者于2018/4/17 10:11:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2018/4/17 10:22:07    Post IP:180.169.30.6[只看该作者]

这个记录不到,对于历史只能记录到k线的价格,无法记录中间的价格

 回到顶部
帅哥哟,离线,有人找我吗?
小飞哥
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2018/4/9 15:07:12
  发帖心情 Post By:2018/4/17 10:28:52    Post IP:59.41.245.200[只看该作者]

不管历史记录的,,,是在成立的那一刻从当前时间记录K线当前价的最高值,(相当于重新绘制一条K线,条件成立的那一刻C等于开盘价),,请教过写C语言的朋友是使用循环语句,但在这里不知道怎么表达!

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/4/17 11:21:01    Post IP:180.169.30.6[只看该作者]

你不要想当然的处理,之前已经说过了,for循环值在纵向方向上的,它计算你的过程对于历史k线来说,就只有开搞低收可以使用,而对于横向的k线时间上,策略本身就是在k线时间方向上不断的循环,你这种记录方式压根就记录不到某根k线的其中一个中间过程,唯一能体现的就只有k线的最高价。

 

你不把机制理解清楚,写这些东西其实都是白费功夫。



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
小飞哥
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2018/4/9 15:07:12
  发帖心情 Post By:2018/4/17 12:54:25    Post IP:59.41.245.29[只看该作者]

第一条成立条件是用来纵向方向对比的计算呀,第二条K线就可以使用最高价来对比了,而且我不计算过去的历史K线呀,,我知道这个表达没有成功,,所以请教如何能实现呀,,,就用于买入后从买入价最高涨了多少点,,这个不应该实现不了的吧??如果一买入把赋值最高价为high,必然是错的

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/4/17 12:56:21    Post IP:180.169.30.6[只看该作者]

图表中没法记录你要的结果的过程。
[此贴子已经被作者于2018/4/17 13:05:03编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
小飞哥
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:55 积分:0 威望:0 精华:0 注册:2018/4/9 15:07:12
  发帖心情 Post By:2018/4/17 14:01:15    Post IP:59.41.245.29[只看该作者]

没人说是图表模式呀,,,后台模式怎么记录买入后的最高价?

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/4/17 14:37:33    Post IP:180.169.30.6[只看该作者]

你参考后台移动止损的代码的处理方式。

 

ZH1:'1000';
PZ1:'IF00';
VARIABLE:A=0;

//条件判断
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
CONDBUY:=CROSS(MA5,MA10);
CONDSELL:=CROSS(MA10,MA5);

//开仓和平仓
TBUY(CONDBUY AND TBUYHOLDINGEX( ZH1,PZ1 ,0 )<10,1,LMT,CLOSE,0,ZH1,PZ1 );
TSELL(CONDSELL,TBUYHOLDINGEX( ZH1,PZ1 ,0 ),MKT,0,ZH1,PZ1);

 

//移动止损模块部分*******************************
//A有三种数值状态:1,0,最新价;
//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落

//将A赋值为1,表示当前有持仓
IF TBUYHOLDINGEX( '','' ,0 )>0 AND EXTGBDATA('a' )=0 THEN BEGIN
EXTGBDATASET( 'a',1 );
END

//使A始终表示监控开始后的最高价
IF DYNAINFO(  7)>EXTGBDATA('a' ) and EXTGBDATA('a' )>0 THEN BEGIN
EXTGBDATASET( 'a',DYNAINFO(  7));
END

//发现价格回落止损,并将A赋值为0表示移动止损动作完成
IF EXTGBDATA('a' )-DYNAINFO(  7)>5*MINDIFF and EXTGBDATA('a' )>0 THEN BEGIN
TSELL(1,1,MKT );
EXTGBDATASET( 'a',0);
END
//*******************************



编程无捷径,技巧靠积累。
 回到顶部
总数 11 1 2 下一页