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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]VBA中,如果判断一分钟的K线柱本柱已走完?

   

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


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

主题:[求助]VBA中,如果判断一分钟的K线柱本柱已走完?

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


加好友 发短信
等级:论坛游侠 帖子:136 积分:35 威望:0 精华:0 注册:2012/3/30 14:35:39
[求助]VBA中,如果判断一分钟的K线柱本柱已走完?  发帖心情 Post By:2016/5/27 22:50:55 [只看该作者]

VBA中,如果判断K线图中的一分钟的K线柱本柱已走完?

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/5/29 15:56:54 [只看该作者]

每个K线柱的日期时间属性上的时间都是固定的,当判断最后一跟K的时间不同了,就表示已经新产生一根K了


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
hxl
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:136 积分:35 威望:0 精华:0 注册:2012/3/30 14:35:39
  发帖心情 Post By:2016/5/29 20:05:17 [只看该作者]

请问,VBA原码应如何写?帮帮忙,谢谢了………

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/5/29 21:26:12 [只看该作者]

没法回答,你都没有说清楚你要什么地方使用,怎么帮你弄?


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
hxl
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:136 积分:35 威望:0 精华:0 注册:2012/3/30 14:35:39
  发帖心情 Post By:2016/5/29 23:29:24 [只看该作者]

 History2.close(History2.Count-1) = close
History2.high(History2.Count-1) = mxhigh
History2.low(History2.Count-1) = mxlow
History2.Date(History2.Count-1) = mxdate
History2.Volume(History2.Count-1) = mxxVolume
History2.OpenInt(History2.Count-1) = mxOpenInt
call History2.SaveData(xinheyue,xinshichang,1)
 
if abs(close-mxopen) > qj then
'根据条件新建一个K线 ,并保存。
 
call History2.InsertAt(History2.Count)
History2.open(History2.Count-1) = close
History2.close(History2.Count-1) = close
History2.high(History2.Count-1) = close
History2.low(History2.Count-1) = close
History2.Date(History2.Count-1) = mxdate
History2.Volume(History2.Count-1) = 0
History2.OpenInt(History2.Count-1) = OpenInt
call History2.SaveData(xinheyue,xinshichang,1)
mxxVolume = 0
end if
call Application.ActivateFrameWithCode("Technic",xinheyue,xinshichang,0)
call Technic.Refresh
 
 
上面红色部分, 这个条件不行,应怎么改才能和K线实际运行相一致?

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


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

那个代码是建立等价k,所以是价差达到一定程度才新建。你要根据k线运行可以如下去操作,记录下数据的count,然后当这个总量大于保存的count时候就满足条件了

dim num


call application.SetTimer(0,1000)
Sub APPLICATION_Timer(ID)
set Data1= marketdata.GetHistoryData("cl00","nm",0)

if Data1.count>num then

   '新建k的动作程序

   num = Data1.count

end if

 


application.MsgOut Data1.count
End Sub


 回到顶部