3.參數1可以是常數參數或序列數參數,其餘參數只能為常數參數.
4.若m_nParam1Start<0,则参数1为常数参数,参数等于*m_pfParam1;
5.若m_nParam1Start>=0,則參數1為序列數參數,m_pfParam1指向一個浮點型數組,
數組大小為m_nNumData,數據有效範圍為m_nParam1Start--m_nNumData.
在時間上m_pData[x]與m_pfParam1[x]是一致的
結構CALCINFO中用到的其它數據結構定義可在同一頭文件中找到,讀者如有疑問可自行查閱。
使用CustomAppWizard編程
由於CustomAppWizard
已完成了所有例行的工作,我們只需要讀出原始數據,對其進行處理後,寫入結果緩沖區就行了。具體可參閱網友Normal的大作,此處不再贅
述。有幾點補充如下:
1、函數返回-1表示錯誤或全部數據無效,否則返回第一個有效值位置,即:
m_pResultBuf[返回值]--m_pResultBuf[m_nNumData-1]間為有效值。
2、CustomAppWizard只適用於VC6.0,不能用於VC5.0。
不使用CustomAppWizard編程
手工編程的話,要註意以下幾點:
1、函數參數傳遞順序必須按照C規則,如果文件擴展名用.cpp,則函數聲明必須包含在extern"C"{}
的括號中;
2、Project->Settings...->C/C++->Category:General
->Preprocessordefinitions中加入FXJFUNC_EXPORTS;
3、編譯時選擇1字節對齊,即
Project->Settings...->C/C++->Category:CodeGeneration
->Structmemberalignment:選1Byte;
使用其它編程工具的,可參考以上設置。
不足及期望
編程接口雖然大大增強了公式編制的能力及靈活性,但也存在不足之處。比如,只能被動獲取原始數據,不能主動取得其它個股的指定數據;還有,不能同時取得不同週期的數據;另外,不提供基本的函數庫,連移動平均也得自己動手。由上可見,編程接口也有其局限性,並非萬能。我們期望匯天奇對其作進一步的完善。
(17)、自編公式中叠代問題的解決辦法
叠代,利用上次計算結果重複計算,和遞歸概念相近,不同是遞歸是從後往前推,而叠代是從頭到尾計算,從前往後推,很多定義是用遞歸定義的,但遞歸占用資源較多,效率較低,所以常常用叠代或回溯實現。
如階乘的定義:P(n)=P(n-1)*n;
實現時則可用叠代:for(P=i=1;i<=n;i++){P=P*i;}
在分析家公式系統中,既不支持遞歸,又不支持叠代(循環),難道很多遞歸定義的公式不能實現嗎?
有一些可以實現!有兩種方法我們可以嘗試:
1。利用統計函數
如OBV指標,它的算法是:從上市第一天起,逐日累計股票總成交量,若當日收盤價高於昨收,則前OBV加當日成交量為當日OBV,否則減當日成交量為當日OBV。從算法上看,它是個典型的需要叠代計算的例子,但讓我們看看分析家是怎樣實現的:
SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE 它用一個統計函數SUM就解決了叠代的問題。這種方法能解決每天權重相同的情況(也就是每一天同等對待,特點是用只用加減運算)。那對於每天不同權重的公式怎麼辦呢?
2。利用引用函數
分析家公式系統中有一組引用函數,特別是EMA、DMA、SMA。EMA既是函數,又是指標,先看看EMA的定義:
EMA(X,N),求X的N日指數平滑移動平均。算法:若Y=EMA(X,N)則Y=[2*X+(N-1)*Y]/(N+1),其中Y表示上一週期Y值。定義中用了乘除,每天的權重按指數規律變化。這種公式可以用DMA函數實現。如我去年編的成本價指標:
Cost:DMA(AMOUNT/VOL/100,VOL/CAPITAL)
這是成本分析中最簡單的公式,成本分析的原理詳見“成本分佈的秘密”一帖,基此思路,應可以輕松編出其它成本分佈的公式。
胡呵胡言亂語,贻笑大方
(18)、如何編制高成功率的實戰公式
一.引子
1.公式是我們為了用電腦這個設備把依據自己投資理念(衡量我們投資理念正確與否,公式的成功率是重要的評判標準之一)想要選出的股票而編制的一種程序
2.公式的最終定型是為了實戰,不允許使用任何可能導致未來數據的函數和超越單一日線的數據,如果不是這樣,我們連飛機都可以制造但那是飛不上天的。
3.公式的編制屬於預測範疇,由於市場的諸多不確定因素不可能達到100%。
二.思路(大盤背景以後再說)
1.首先我們要考慮的就是成交量。
成交量vol在使用中有一些弊病,它只能反映當天的成交多少,我們把它改為換手率使用比較科學(換手率=vol/capital*100)當日成交與流通盤所占的百分比.
換手率在公式中的應用必須要考慮的因素:
A:股價在即將啟動的時候換手率所表現的形式。
B:同樣的形式與股價循環週期高低位的關系。
C:換手率在區域時間内的有效性。
D:階段調整結束的標志。
2.價格變化在公式應用中的重要作用。
價格的變化不只是漲跌幅的概念,只關註當日價格的變化那將蒙住你智慧的雙眼,僅以一天的價格波動來判斷未來的趨勢是遠遠不夠的。
A:短期内價格波動的規律性,盤口語言。
B:同樣的規律和盤口語言在高低位的不同性質。
C:價格循環週期規律。
D:價格在向下量度調整的結束性標志。
3.趨勢因素
在量能和價格的複雜變化過程中,將逐漸演變出一種我們在K線上能用肉眼大至看清的走勢,即使這樣仍需你有一雙慧眼,這種走勢仍有許多不確定因素。
A:個股趨勢和大盤背景的關系——同步。
B:個股走勢的獨立性和有效性——異步。
C:均線系統和K線走勢的關系。
D:正偏離和負偏離。
E:主流資金的短期和中期獲利造成的抛售壓力。
三.小結
綜上所述,一個具有價值的公式需要艱苦的創作過程,它需要你必須有正確的投資理念,強烈的風險意識,對股市深刻的理解。高漲幅、抄底、多指標過濾可靠嗎?更不用說虛假的未來數據了。
19、未來數據
未來數據大致分為以下幾種:
1、使用ZIG類(之字轉向函數)
ZIG類(之字轉向函數)有:
ZIG(K,N)
之字轉向,當價格變化量超過N%時轉向。
PEAK(K,N,M)
向前數第M個ZIG轉向波峰值,表示之字轉向ZIG(K,N)的前M個波峰的數值。
PEAKBARS(K,N,M)
向前數第M個ZIG轉向波峰到本週期的距離,表示之字轉向ZIG(K,N)的前M個波峰到本週期的週期數。
TROUGH(K,N,M)
向前數第M個ZIG轉向波谷值,表示之字轉向ZIG(K,N)的前M個波谷的數值。
10/11 首頁 上一頁 8 9 10 11 下一頁 尾頁