最近大盤行情不太好,自行折騰點(diǎn)小玩意。
玩指標(biāo)少不了折騰模板,指標(biāo)雖然不是萬能的,但離開指標(biāo)又空蕩蕩的。相信很多同學(xué)都習(xí)慣將常用指組合成一個(gè)個(gè)模板,方便看大盤行情及作出趨勢(shì)判斷。但用過通達(dá)信的同學(xué)都知道,通達(dá)信的模板管理功能很弱的,不能自由組合編輯,并且還有模板數(shù)量限制。如果你只是需要幾個(gè)模板看盤的話,自已動(dòng)動(dòng)手,在通達(dá)信K線圖里組合一下就行了,也不需要看下去了。如果你有大量的用戶指標(biāo),要不斷的生成新模板,刪除舊模板的話,就要花不少時(shí)間精力去組合模板了,而且很多指標(biāo)都用不上,你還得刪掉,折騰來折騰去,人累不說,連看盤的精力都沒了。有沒有更好的模板組合方法呢?目前好像沒有,下面是自己折騰出的一點(diǎn)小玩法,拋磚引玉,供大家參考一下。 一、原理方法 其實(shí)很簡(jiǎn)單,用一張excel表格(大概65536行*256列),將你需要的指標(biāo)名稱放入表格中,(當(dāng)然,前提是\T0002\prics.dat或prigs.dat文件中要有這些指標(biāo)公式,并且名稱完全相同),按照主圖、副圖組合的方式形成一個(gè)個(gè)指標(biāo)模板,50個(gè)指標(biāo)模板為一組(與系統(tǒng)限制對(duì)應(yīng)),每個(gè)指標(biāo)模板含一個(gè)主圖和至多9個(gè)副圖(與系統(tǒng)限制對(duì)應(yīng))。這樣,在表格里就可以實(shí)現(xiàn)指標(biāo)的自由組合,模板的自由編輯,并且你所有用得著的公式指標(biāo)統(tǒng)統(tǒng)都可以放進(jìn)去,即便通達(dá)信把你的指標(biāo)模板整丟了,也可以通過這種方式重新生成原模板,也可以生成新模板。 二、首先通過prigs.xls中的vba代碼,從prigs.dat讀取所有用戶指標(biāo)公式名稱(下圖中已經(jīng)把vba代碼設(shè)置成菜單選項(xiàng),呵呵,大家不必去學(xué)習(xí)vba編程,只看看如何操作就行了) 上圖中,中間空白行上面是各主圖公式名稱,下面是各副圖公式名稱。 三、接下來打開pripack.xls文件,其中sheet1就是我們需要制作的模板格式,再把前面導(dǎo)出的主、副圖公式名稱復(fù)制到sheet2中,這樣的可以在pripack.xls文件中進(jìn)行各個(gè)模板制作了。 下面是一張pripack.xls表格,看看做成的模板是什么樣的。 說明一下: 1、 表格中陰影部分是一組指標(biāo)模板,其第一列數(shù)據(jù)為該組模板各行的說明兼模板組定位。第2列至51列分別對(duì)應(yīng)該組的1~50個(gè)指標(biāo)模板。52列之外為空白。 2、 各個(gè)指標(biāo)模板的數(shù)據(jù)結(jié)構(gòu)如下:第一行:模板名稱(小于8個(gè)漢字或16個(gè)字符即可,上圖中以數(shù)字命名,需手工填寫);第二行:指標(biāo)窗口數(shù)(主、副圖窗口總和,由程序自動(dòng)統(tǒng)計(jì));第三行:綁定周期(手工填入);第四行:主圖名稱(復(fù)制,粘貼即可);其余各行為副圖名稱(復(fù)制粘貼即可)。 3、 每組模板數(shù)據(jù)結(jié)構(gòu)是完全相同的。(只是副圖數(shù)量不同,行數(shù)也不同) 三、表格中各組模板編輯好后,保存一下,下面還要用到。如果是嚴(yán)格按上述格式填入數(shù)據(jù)的,就不用檢查了,否則要一項(xiàng)項(xiàng)檢查是否有錯(cuò)。 四、模板寫入 通達(dá)信只能使用其中一組模板(最多50個(gè)指標(biāo)模板,最新版本好像也有這個(gè)限制),因此你可以任意寫入一組,其余的作為備用,當(dāng)然如果需要隨時(shí)可以再次寫入其它模板組,達(dá)到短時(shí)間切換模板看盤的目的。寫入方法:1、先點(diǎn)擊任意指標(biāo),(如果你編輯沒有錯(cuò)誤的話),該指標(biāo)對(duì)應(yīng)的模板組被選中,其背景為陰影(如上圖所示)。2、點(diǎn)擊自定義菜單的“模板寫入”項(xiàng),這樣,選中的模板組就被寫到了T0002\pripack.dat當(dāng)中了。(注:通達(dá)信啟動(dòng)時(shí)是通過pripack.dat調(diào)用用戶指標(biāo)模板的)。說明一下:自定義菜單中有三個(gè)菜單項(xiàng),這里分別給它們編寫了三個(gè)宏模塊,(excel一般都自帶vba編輯器,其實(shí)你懂點(diǎn)vba的話也可以自行編寫相關(guān)命令,高手都懂的),分別執(zhí)行模板檢查、模板寫入、模板讀出功能,三個(gè)模塊配合運(yùn)行。各個(gè)模塊的原碼都在附件里。這里就貼一下“模板寫入”原碼,有點(diǎn)凌亂,感興趣的同學(xué)請(qǐng)自行完善。) Option Base 1 Sub writing() Dim temm$, r As Integer, n As Integer, m As Integer, a As Integer, b As Integer, c As Integer, i As Integer Dim j As Integer, k As Integer, s As Integer, p As Integer, q As Integer, arr() As String Application.ScreenUpdating = False If UBound(moban) > 0 And log = True Then i = ActiveCell.Row j = ActiveCell.Column For k = 1 To UBound(moban) - 1 If i >= moban(k) And i < moban(k + 1) Then p = moban(k): q = moban(k + 1) - moban(k) r = Application.CountA(Range(Cells(p, 2), Cells(p, 51))) Exit For End If Next k If q > 0 Then ReDim Preserve arr(r, q) b = 0 For m = 2 To 51 If Cells(p, m).Formula <> "" And b <= r Then b = b + 1 c = 0 For n = p To p + q - 1 c = c + 1 arr(b, c) = Cells(n, m).Formula Next n End If Next m End If Kill path Open path For Binary As #1 temm = Chr(0) For m = 1 To r k = 356 For n = 1 To q If arr(m, n) <> "" And n <> 2 And n <> 3 Then arr(m, n) = Trim(arr(m, n)) Put #1, , arr(m, n) For s = 1 To 32 - LenB(StrConv(arr(m, n), vbFromUnicode)) Put #1, , temm Next s k = k - 32 ElseIf n = 2 Then arr(m, n) = Trim(arr(m, n)) Put #1, , CInt(arr(m, n)) k = k - 2 ElseIf n = 3 And arr(m, n) <> "" Then arr(m, n) = Trim(arr(m, n)) Put #1, , CInt(arr(m, n)) k = k - 2 ElseIf n = 3 And arr(m, n) = "" Then Put #1, , temm + temm k = k - 2 End If Next n If k > 0 Then For s = 1 To k Put #1, , temm Next s End If Next m Close #1 Else MsgBox ("模板有錯(cuò)誤,請(qǐng)檢查?。?!") End If Application.ScreenUpdating = True End Sub 五、接下來看看寫入的效果。以上圖表格中選中的模板組(陰影部分)寫入為例。重啟一下通達(dá)信,(因?yàn)?/font>pripack.dat只在通達(dá)信啟動(dòng)時(shí)才讀入內(nèi)存,不重啟新模板是不生效的),如下圖 (見截圖8) 呵呵,各個(gè)指標(biāo)模板在K線圖里已經(jīng)有了。點(diǎn)擊6號(hào)模板,看看是不是表格中組合的模板。如下圖: (見截圖9) 呵呵,還真的一樣,說明寫入成功?。?! 補(bǔ)充一點(diǎn),如果你的指標(biāo)模板不見了,可以將任意一個(gè)文件放在T0002\下,重命名為pripack.dat,然后照上述方法重寫一下,原來的模板又回來了。(注:T0002\prics.dat是系統(tǒng)自帶的,里面是系統(tǒng)公式指標(biāo),估計(jì)各個(gè)版本做得差不多的;T0002\prigs,dat里面是用戶自編公式指標(biāo),所以prigs,dat和表格是萬萬不能弄丟的) 喜歡的同學(xué)請(qǐng)頂一下,不喜請(qǐng)飄過。 PriGs.rar (17.78 KB) pripack.rar (30.85 KB) userini.rar (25.24 KB) (鑒于重新編輯時(shí)間有限,請(qǐng)喜歡的同學(xué)跟帖交流。) 簡(jiǎn)單說下: prigs.xls用于讀取 prigs.dat中的用戶指標(biāo)名稱; pripack.xls用于向pripack.dat讀取、寫入新模板; (user.xls用于向user.ini讀取,寫入50個(gè)常用指標(biāo)名稱,也許有的同學(xué)用不上。); 各個(gè)文件已包含完整原碼。 注意備份prigs.dat,pripack.dat,user.ini文件; 注意修改prigs.xls,pripack.xls,user.xls文件中VBA代碼所對(duì)應(yīng)的文件路徑。 祝大家折騰愉快。 [ 本帖最后由 蘇州大王 于 2014-6-24 10:12 編輯 ]股票論壇 www. |
|