用Vba寫的一個模擬K線功能,大家可以參考一下: [金字塔]
- 咨詢內(nèi)容:
最終效果:
此主題相關(guān)圖片如下:模擬k線:.jpg源文件下載:
http://www.weistock.com/bbs/UploadFile/2010-4/20104215214327834.rar
安裝及使用說明:
1,下載文件,并解壓。
2,首先,按Shift+W打開“管理面板”,在下方的選項卡選擇“高級”,這是,你能看到,金字塔VBA的管理窗口,在“框架”欄目上點擊右鍵,選擇“導(dǎo)入”,然后根據(jù)提示,導(dǎo)入:下載并解壓后的文件中的,框架文件,即:UserFrome6.Fme;在“窗體”欄目上點擊右鍵,選擇“導(dǎo)入”,然后根據(jù)提示導(dǎo)入:下載并解壓后的文件中的,窗體文件,即:UserForm2.frm。
3,在“模塊”欄目上,隨便打開一個文件,添加以下代碼:
Sub xMnkx()
UserForm2.Show()
End Sub
4,按功能鍵的快捷鍵“6”,調(diào)用框架,然后按ALT+F8,調(diào)用宏,在宏名中輸入:xMnkx,即可。。。
代碼如下:
'----------------------------------------------------------------------------
'窗體載入時,設(shè)置窗體屬性
Sub UserForm2_Load()
'指定一個自定義的圖標(biāo)
userForm2.SetTitileIcon("MyFile\Icon\yinwu.ICO")
userForm2.SetDefaultTabOrder()
End Sub
'設(shè)置控件屬性
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
'窗口打開時、默認(rèn)焦點位置
UserForm2_TextBox1.SetFocus
'----------------------------------------------------------------------------
'插入K線
Sub UserForm2_CommandButton1_Click()
'驗證TextBox中的數(shù)據(jù)
IF UserForm2_TextBox1.Text="" Or Not IsNumeric(UserForm2_TextBox1.Text) Then
MsgBox "請輸入正確的 |開盤價| 數(shù)值。。。"
UserForm2_TextBox1.SetFocus
Exit Sub
End If
'對用戶輸入的內(nèi)容進行驗證,防止輸入非法數(shù)據(jù)
IF UserForm2_TextBox2.Text="" Or Not IsNumeric(UserForm2_TextBox2.Text) Then
MsgBox "請輸入正確的 |最高價| 數(shù)值。。。"
UserForm2_TextBox2.SetFocus
Exit Sub
End If
'對用戶輸入的內(nèi)容進行驗證,防止輸入非法數(shù)據(jù)
IF UserForm2_TextBox3.Text="" Or Not IsNumeric(UserForm2_TextBox3.Text) Then
MsgBox "請輸入正確的 |最低價| 數(shù)值。。。"
UserForm2_TextBox3.SetFocus
Exit Sub
End If'對用戶輸入的內(nèi)容進行驗證,防止輸入非法數(shù)據(jù)
IF UserForm2_TextBox4.Text="" Or Not IsNumeric(UserForm2_TextBox4.Text) Then
MsgBox "請輸入正確的 |收盤價| 數(shù)值。。。"
UserForm2_TextBox4.SetFocus
Exit Sub
End If
'獲得框架中的歷史數(shù)據(jù)
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)
'重新計算框架內(nèi)的所有公式數(shù)據(jù)、刷新框架
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)
'重新計算框架內(nèi)的所有公式數(shù)據(jù)、刷新框架
UserFrame6.ReCalcAllGridFromula()
UserFrame6.Refresh()
End Sub
'關(guān)閉窗口
Sub UserForm2_CommandButton3_Click()
UserForm2.EndForm
End Sub - 金字塔客服:
丁頁
三少發(fā)
- 用戶回復(fù):
1.972已經(jīng)不用新建宏了,ALT+F8已經(jīng)可以在宏列表執(zhí)行窗體了
- 網(wǎng)友回復(fù):
不錯啊,現(xiàn)在看到了,VBA編寫交易程序,很不錯的,好處很多,大家慢慢體驗啊。。。
- 網(wǎng)友回復(fù): 謝謝高手分享,目前vba什么都不懂呵呵
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容