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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 用Vba写的一个模拟K线功能,大家可以参考一下:

   

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


  共有19120人关注过本帖平板打印复制链接

主题:用Vba写的一个模拟K线功能,大家可以参考一下:

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


加好友 发短信 元帅
等级:论坛游民 帖子:100 积分:948 威望:0 精华:2 注册:2010/3/8 20:28:24
用Vba写的一个模拟K线功能,大家可以参考一下:  发帖心情 Post By:2010/4/2 15:34:27 [只看该作者]

最终效果:


此主题相关图片如下:模拟k线:.jpg
按此在新窗口浏览图片

 

源文件下载:

http://www.weistock.com/bbs/UploadFile/2010-4/20104215214327834.rar

 

安装及使用说明:

1,下载文件,并解压。

2,首先,按Shift+W打开“管理面板”,在下方的选项卡选择“高级”,这是,你能看到,金字塔VBA的管理窗口,在“框架”栏目上点击右键,选择“导入”,然后根据提示,导入:下载并解压后的文件中的,框架文件,即:UserFrome6.Fme;在“窗体”栏目上点击右键,选择“导入”,然后根据提示导入:下载并解压后的文件中的,窗体文件,即:UserForm2.frm。

3,在“模块”栏目上,随便打开一个文件,添加以下代码:

Sub xMnkx()

UserForm2.Show()

End Sub

4,按功能键的快捷键“6”,调用框架,然后按ALT+F8,调用宏,在宏名中输入:xMnkx,即可。。。

 

 代码如下:


'----------------------------------------------------------------------------
'窗体载入时,设置窗体属性
Sub UserForm2_Load()
'指定一个自定义的图标
userForm2.SetTitileIcon("MyFile\Icon\yinwu.ICO")
userForm2.SetDefaultTabOrder()
End Sub
'设置控件属性
UserForm2_TextBox1.TabIndex=0
UserForm2_TextBox2.TabIndex=1
UserForm2_TextBox3.TabIndex=2
UserForm2_TextBox4.TabIndex=3
UserForm2_CommandButton1.TabIndex=4
UserForm2_CommandButton2.TabIndex=5
UserForm2_CommandButton3.TabIndex=6
'窗口打开时、默认焦点位置
UserForm2_TextBox1.SetFocus

'----------------------------------------------------------------------------
'插入K线
Sub UserForm2_CommandButton1_Click()
'验证TextBox中的数据
IF UserForm2_TextBox1.Text="" Or Not IsNumeric(UserForm2_TextBox1.Text) Then
MsgBox "请输入正确的 |开盘价| 数值。。。"
UserForm2_TextBox1.SetFocus
Exit Sub
End If
'对用户输入的内容进行验证,防止输入非法数据
IF UserForm2_TextBox2.Text="" Or Not IsNumeric(UserForm2_TextBox2.Text) Then
MsgBox "请输入正确的 |最高价| 数值。。。"
UserForm2_TextBox2.SetFocus
Exit Sub
End If
'对用户输入的内容进行验证,防止输入非法数据
IF UserForm2_TextBox3.Text="" Or Not IsNumeric(UserForm2_TextBox3.Text) Then
MsgBox "请输入正确的 |最低价| 数值。。。"
UserForm2_TextBox3.SetFocus
Exit Sub
End If

'对用户输入的内容进行验证,防止输入非法数据
IF UserForm2_TextBox4.Text="" Or Not IsNumeric(UserForm2_TextBox4.Text) Then
MsgBox "请输入正确的 |收盘价| 数值。。。"
UserForm2_TextBox4.SetFocus
Exit Sub
End If
'获得框架中的历史数据
Set Grid_6=UserFrame6.GetGridByName("Main")
Set HistoryData_6=Grid_6.GetHistoryData()
HistoryData_6.InsertAt(HistoryData_6.Count)
'开盘价
HistoryData_6.Open(HistoryData_6.Count-1)=Cint(UserForm2_TextBox1.Text)
'最高价
HistoryData_6.High(HistoryData_6.Count-1)=Cint(UserForm2_TextBox2.Text)
'收盘价
HistoryData_6.Low(HistoryData_6.Count-1)=Cint(UserForm2_TextBox3.Text)
'最低价
HistoryData_6.Close(HistoryData_6.Count-1)=Cint(UserForm2_TextBox4.Text)
'重新计算框架内的所有公式数据、刷新框架
UserFrame6.ReCalcAllGridFromula()
UserFrame6.Refresh()
End Sub
'----------------------------------------------------------------------------
'删除K线
Sub UserForm2_CommandButton2_Click()
Set Grid_6=UserFrame6.GetGridByName("Main")
Set HistoryData_6=Grid_6.GetHistoryData()
HistoryData_6.RemoveAt(HistoryData_6.Count)
'重新计算框架内的所有公式数据、刷新框架
UserFrame6.ReCalcAllGridFromula()
UserFrame6.Refresh()
End Sub
'关闭窗口
Sub UserForm2_CommandButton3_Click()
UserForm2.EndForm
End Sub


[本帖被加为精华]
 回到顶部
总数 11 1 2 下一页