用Vba写的一个模拟K线功能,大家可以参考一下: [金字塔]
- 咨询内容:
最终效果:
此主题相关图片如下:模拟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 - 金字塔客服:
丁页
三少发
- 用户回复:
1.972已经不用新建宏了,ALT+F8已经可以在宏列表执行窗体了
- 网友回复:
不错啊,现在看到了,VBA编写交易程序,很不错的,好处很多,大家慢慢体验啊。。。
- 网友回复: 谢谢高手分享,目前vba什么都不懂呵呵
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容