用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  进行 有偿 编写!(不贵!点击查看价格!)
                        
相关文章
- 
                        没有相关内容
                       

 
                     会员登录/注册
会员登录/注册