用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 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容