【通達信】自編公式指標模板的快速生成法(喜歡折騰指標模板的同學看一下)
上圖中,中間空白行上面是各主圖公式名稱,下面是各副圖公式名稱。三、接下來打開pripack.xls文件,其中sheet1就是我們需要製作的模板格式,再把前面導出的主、副圖公式名稱複製到sheet2中,這樣的可以在pripack.xls文件中進行各個模板製作了。下面是一張pripack.xls表格,看看做成的模板是什麼樣的。
說明一下:1、表格中陰影部分是一組指標模板,其第一列數據為該組模板各行的說明兼模板組定位。第2列至51列分別對應該組的1~50個指標模板。52列之外為空白。2、各個指標模板的數據結構如下:第一行:模板名稱(小於8個漢字或16個字元即可,上圖中以數字命名,需手工填寫);第二行:指標窗口數(主、副圖窗口總和,由程序自動統計);第三行:綁定周期(手工填入);第四行:主圖名稱(複製,粘貼即可);其餘各行為副圖名稱(複製粘貼即可)。3、每組模板數據結構是完全相同的。(只是副圖數量不同,行數也不同)三、表格中各組模板編輯好後,保存一下,下面還要用到。如果是嚴格按上述格式填入數據的,就不用檢查了,否則要一項項檢查是否有錯。四、模板寫入通達信只能使用其中一組模板(最多50個指標模板,最新版本好像也有這個限制),因此你可以任意寫入一組,其餘的作為備用,當然如果需要隨時可以再次寫入其它模板組,達到短時間切換模板看盤的目的。寫入方法:1、先點擊任意指標,(如果你編輯沒有錯誤的話),該指標對應的模板組被選中,其背景為陰影(如上圖所示)。2、點擊自定義菜單的「模板寫入」項,這樣,選中的模板組就被寫到了T0002pripack.dat當中了。(註:通達信啟動時是通過pripack.dat調用用戶指標模板的)。說明一下:自定義菜單中有三個菜單項,這裡分別給它們編寫了三個宏模塊,(excel一般都自帶vba編輯器,其實你懂點vba的話也可以自行編寫相關命令,高手都懂的),分別執行模板檢查、模板寫入、模板讀出功能,三個模塊配合運行。各個模塊的原碼都在附件里。這裡就貼一下「模板寫入」原碼,有點凌亂,感興趣的同學請自行完善。)Option Base 1Sub writing()Dim temm$, r As Integer, n As Integer, m As Integer, a As Integer, b As Integer, c As Integer, i As IntegerDim j As Integer, k As Integer, s As Integer, p As Integer, q As Integer, arr() As StringApplication.ScreenUpdating = FalseIf UBound(moban) > 0 And log = True Theni = ActiveCell.Rowj = ActiveCell.ColumnFor k = 1 To UBound(moban) - 1If i >= moban(k) And i < moban(k + 1) Thenp = moban(k): q = moban(k + 1) - moban(k)r = Application.CountA(Range(Cells(p, 2), Cells(p, 51)))Exit ForEnd IfNext kIf q > 0 ThenReDim Preserve arr(r, q)b = 0For m = 2 To 51If Cells(p, m).Formula <> "" And b <= r Thenb = b + 1c = 0For n = p To p + q - 1c = c + 1arr(b, c) = Cells(n, m).FormulaNext nEnd IfNext mEnd IfKill pathOpen path For Binary As #1temm = Chr(0)For m = 1 To rk = 356For n = 1 To qIf arr(m, n) <> "" And n <> 2 And n <> 3 Thenarr(m, n) = Trim(arr(m, n))Put #1, , arr(m, n)For s = 1 To 32 - LenB(StrConv(arr(m, n), vbFromUnicode))Put #1, , temmNext sk = k - 32ElseIf n = 2 Thenarr(m, n) = Trim(arr(m, n))Put #1, , CInt(arr(m, n))k = k - 2ElseIf n = 3 And arr(m, n) <> "" Thenarr(m, n) = Trim(arr(m, n))Put #1, , CInt(arr(m, n))k = k - 2ElseIf n = 3 And arr(m, n) = "" ThenPut #1, , temm + temmk = k - 2End IfNext nIf k > 0 ThenFor s = 1 To kPut #1, , temmNext sEnd IfNext mClose #1ElseMsgBox ("模板有錯誤,請檢查!!!")End IfApplication.ScreenUpdating = TrueEnd Sub五、接下來看看寫入的效果。以上圖表格中選中的模板組(陰影部分)寫入為例。重啟一下通達信,(因為pripack.dat只在通達信啟動時才讀入內存,不重啟新模板是不生效的),如下圖(見截圖8)呵呵,各個指標模板在K線圖裡已經有了。點擊6號模板,看看是不是表格中組合的模板。如下圖:(見截圖9)呵呵,還真的一樣,說明寫入成功!!!補充一點,如果你的指標模板不見了,可以將任意一個文件放在T0002下,重命名為pripack.dat,然後照上述方法重寫一下,原來的模板又回來了。(註:T0002prics.dat是系統自帶的,裡面是系統公式指標,估計各個版本做得差不多的;T0002prigs,dat裡面是用戶自編公式指標,所以prigs,dat和表格是萬萬不能弄丟的)喜歡的同學請頂一下,不喜請飄過。
PriGs.rar (17.78 KB)
pripack.rar (30.85 KB)
userini.rar (25.24 KB) (鑒於重新編輯時間有限,請喜歡的同學跟帖交流。)簡單說下:prigs.xls用於讀取 prigs.dat中的用戶指標名稱;pripack.xls用於向pripack.dat讀取、寫入新模板;(user.xls用於向user.ini讀取,寫入50個常用指標名稱,也許有的同學用不上。);各個文件已包含完整原碼。注意備份prigs.dat,pripack.dat,user.ini文件;注意修改prigs.xls,pripack.xls,user.xls文件中VBA代碼所對應的文件路徑。祝大家折騰愉快。[ 本帖最後由 蘇州大王 於 2014-6-24 10:12 編輯 ]股票論壇 www.55188.com
推薦閱讀:
※3D--獨膽公式
※億萬富翁賺錢公式 七大心法戰勝貧窮2
※瘦子比胖子易患10種病!一個公式算出你的體重「底線」
※3D鐵膽公式
※令人相見恨晚的公式輸入技巧