CC, 0" />

欧美二区在线_国产1区2区3区精品美女_久久精品99久久_av中文一区

自編公式實現Winner函數

來源:767股票知識網 時間:2019-05-15 15:50:33 責編:767股票 人氣:
    自編公式實現Winner函數

CC := DYNAINFO(7); { 今日收盤 }
ww := IF(L>CC, 0, IF(H<CC, 1, (CC-L+0.01)/(H-L+0.01))); { 每日獲利盤 }
Winner: DMA(ww, VOL/CAPITAL)*100; { 獲利盤 }

感謝胡呵的WINNER算法(作者:girlkiller)

感謝胡呵提供WINNER算法,對照分析家WINNER和胡呵的WINNER(簡稱HUWIN)有以下微小區別;

1,HUWIN中的價格加減幅度對20元以下的股票設置為0.05時與WINNER實際值接近,按0.01HUWIN的數據一般<WINNER數據.

2,由于參考動態價格,使得HUWIN無法對歷史的HUWIN保留當時的真實數據,具體可對照600608等股票,只能保持當天的HUWIN.因此,選股測試是用WINNER較好,因為WINNER對歷史保留.

但HUWIN能在分時線中表達,WINNER則不能,這是HUWIN的優點.

另外,從HUWIN可見籌碼移動的基本算法,指南針用戶如盲目相信籌碼分布,謹防在籌碼分布變粉色是莊家出逃(據說粉色是底部的征兆),因此,HUWIN給我們提供的不僅僅是算法....

WINNER提供的是參考數,即在特定算法下的籌碼表達式,并不是真實的籌碼變動,但此種方法的確有很好的參考價值,我作過實驗,將股本CAPITAL定在2億,每日的VOL/CAPITAL恒定不便,在恒生指數和NASDAQ等市場居然一樣有效.

(11)、我用分析家公式 
很久以來,我幻想著用一種什么軟件或公式亦或招數之類.在證券市場上撈他一大筆天上掉下來的橫財! 
可事實給了我一個響亮的耳光...... 

自從我用了分析家,似乎是我看到點亮光.分析家軟件就其本身來講,給了大家一個有很大自由的好工具----僅僅是工具而已!!!工具是什么?是提高效率的東西;是本身功能,能力等等的延伸.而非克敵制勝的法寶.分析家公式也不可能也不應該是印錢的機器!(我在這里并不是散布"公式無用論",問題恰恰相反).這就自然使我們想到"用"的問題. 

首先最重要的前提應是(公式)有沒有用的問題?其實這個問題就是戰爭與武器的關系問題,大家可能都非常清楚了,用不著我廢話了.我今天想談一談人與武器的問題即"用"的問題,這里有網友說了,你給我一個100%的公式,我肯定賺錢.我說不但賺不上,還可能賠!!!本人這些天來五戰五捷,獲利30%強.就不完全憑公式,當然也絕對離不開公式,應公式可自動預警;可幫我快速選股;可幫我快速界定條件進行決策...... 

想必大家都看過青木先生的<<戰勝莊家>>吧?!在那本書的結尾講的"手指與明月"的典故.表面看應該是個距離問題吧!進一步是否可理解為思想方法問題呢?由于本人打字速度的原因,沒看過的朋友到書攤找一找吧.我一直是很崇拜這套書的,可不是看到那300萬呀?! 

最贊成的就是曾先生黑馬搖籃的廣告詞50%公式+50%智慧=100%財富,對我來說我想改一下將"智慧"改成看盤經驗,看盤功夫等等笨招,因為我很笨,不是聰明人談不到智慧二字-----大實話 

談一談近幾日用公式"快速賺錢"的經驗: 
買股之前目標的客觀公正的條件(因夾雜著貪婪和恐懼的買股票感覺是不可靠的)要靠公式去尋找(最大限度的發揮公式的優勢;工具的優勢!這時分析家公式發揮了前所未有的功能) 

這里給大家一個公式.僅供參考,賺錢與否,與本人,本站,曾先生無關等等等...... 
c/L>=1.099 (太簡單了吧!記得fxj008先生說過:兇狠的能一招治敵的招數能有能有多少套路呢?) 
在應用時堅決遵循: 
1.不求賺錢,但決不能賠錢;(要求找好買入點,力爭當日收盤賺1.5%以上) 
2.見利就走,決不戀戰; (強度不夠,靠感覺即經驗) 
3.發現強莊,一跟到底; (不賺白不賺!白賺誰不賺!) 

說心里話,看了1.2.3.總覺得還沒說清,有一種到不出來的感覺?! 在操作上尤其在短線上操盤策略和盤中捕捉法應是大有講究的,可能就是曾先生指的智慧吧?! 

有關本公式的詳細使用方法請不要來信詢問,在此僅想舉例說明我怎么"用"分析家公式的問題!在此僅想拋磚引玉,告訴網友們友好公式是賺錢的前提,

(12)、正確判斷漲跌停的公式寫法 
“如何找出自最近一次漲停以出現過跌停的股票呢?”

首先必須指出:用C*1.0和C*0.9計算漲跌停價是錯誤的,沒有考慮到四舍五入的因素,因此按此思路寫出的公式也是錯誤的。如果正確判斷一只股票是否漲停或跌停,是許多朋友不會寫的,因此這是一個普遍性的問題。
下面是判斷漲停和跌停的正確寫法:
=======================================
WS:=MOD(REF(C,1)*100,10)/100; { 昨收價的分數位 }
FD:=REF(C,1)/10-IF(WS<0.05,WS,WS-0.10)/10; { 漲停或跌停的幅度 }
漲停: C=REF(C,1)+FD; { 是否漲停 }
跌停: C=REF(C,1)-FD; { 是否跌停 }
{ 注: 不適用ST,PT,和以0.001元為最小計價單位的上海B股}
=======================================
要找出自最近一次漲停以出現過跌停的股票,只要加入下面的句子就行了。
=======================================
BARSLAST(漲停)>BARSLAST(跌停) { 自上次漲停以來有無跌停 }


(13)、由MACD指標想到了公式的客觀性 
大家請看:
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
MACD := 2*(DIFF-DEA);
m1:=macd>ref(macd,1) and diff<dea;
m1 and count(m1,10)=1 and c>ma(c,55) {and abs(macd)>0.2 }and count(macd<0,5)>=5

稍懂點分析家公式的朋友們一看便知,是macd綠色柱狀線,由最長剛變短而給出買點的公式......

事情是這樣的:近幾天我的一個朋友經過對某只股票進行了所謂"認真觀察""反復研究"得出結論:一只股票的macd指標的綠色柱狀線一但最長(這有點說不清,因為長了還可以再長,是相對的,這里大家注意到了公式中加了abs(macd)>0.2可我遺憾的告訴您,不加還好,有了這條成功率不升反降!)變短就準有一波行情.打進了****股,就等著賺錢哪!

有興趣的朋友可對以上公式進行測試,會發現結果一般,不應具有一般意義上的操作價值,可為什么我的那個朋友卻把這一所謂"規律"當成金科玉律了哪?我覺得深究其原因,應該是人的潛意識中那個"貪"字吧.這就需要在這個市場中進行艱苦的磨練了,估計也練成了,手里的錢也練沒了!但這不等于說我們就束手無策了嗎?

回頭看一下開頭的公式,對!分析家----雖然它有這樣或那樣的不足,但編個公式簡單驗證一下,一個客觀的,明確的尺子量完的結果就展現在我們面前了.

固執與靈活,主觀與客觀.用分析家公式完美的統一了.機器會在瞬間找出不合格的股票的,骨子里的"貪心"能不受一點震動嗎?一場面紅耳赤的爭論不復存在了......

(14)、 我編分析家公式-可用的未來數據 
朋友們一看文題,就得問:"含未來數據的公式還能應用?"回答是肯定的.能!請大家看一下的測試結果:


1997年1月1日-2001年4月7日 5天5% 中價計算:默認即(高+低+收)/3

測試股票數:1097 共發出指示:807 成功指示:802 失敗指示:5 未完成指示:0 平均成功率:99.38%, 成功率達到50%的股票有:43.2% 利潤1總平均:13.93% 利潤1最大值:41.84% 利潤1最小值:4.55% 利潤2總平均:10.12% 利潤2最大值:41.84% 利潤2最小值:-14.16%


1997年1月1日-2001年4月7日 5天5% 中價計算:收 

測試股票數:1097 共發出指示:807 成功指示:620 失敗指示:187 未完成指示:0 平均成功率:76.83%, 成功率達到50%的股票有:35.5% 利潤1總平均:10.47% 利潤1最大值:37.23% 利潤1最小值:0.57% 利潤2總平均:6.20% 利潤2最大值:37.23% 利潤2最小值:-16.85%


一旦你知道這是由于未來數據造成的就會很失望吧.不過我讀了一下公式的內容發現,是可以變通使用的,而且沒有未來數據了,實踐效果也較好.
請看公式內容:


CLOSE/OPEN>=1.099 AND BACKSET(L>REF(H,1),2)


現在要變通了......假如,所選的股票5日內沒有5%的漲幅,而且今日的最低價在<第一天>收盤價附近,依公式測試結果在至少<第四天>,至多<第五天>就應賺5%,也就是說本公式僅在兩日內就賺5%!!!但這里有三個小問題需要考慮:1.分析家軟件的測試方法;2.買點;3.賣點.
首先,分析家的測試方法是依<中價計算>,在測試中中價計算應該為依<收盤價>.
其次,買價就可選在C/O>=1.099這一天的收盤了,但要在第三天用這個買價買(如果能買到的話,不防提高個1%-1.5%----少賺點嗎,別太貪心了!). 
最后,賣出價請到測試結果中去找5日內最高價有幾次沒賺5%,即最高利潤小于5%的股票有幾家?重算一下成功率:
86家最高價(利潤1)小于5% 共發指示807 (807-86)/807=89.34% 成功率高達89.34% 就把這個條件定為"美好未來1" 吧.


現在就簡單的設想一下幾個結果可能不全面,還得請網友們共同研究)
一種可能,在買價買入股票,只要在明后天的兩日內把賣單埋在買價加5%的位置,就去守株待兔吧,精確點說2天賺2%(扣除印花稅和傭金1.5%+買入時多給的1.5%);
二種可能,其實對這種強勢股來說,買入的當天收盤就有很大可能已經漲很高了
這樣的例子很多,不一一列舉了,請大家用我給的公式(美好未來1)好好研究一下,有心得別忘了我;
三種可能,買入的當天,這支股票打一長上影線7-8%,兩天內隨不一定不上影,但上影線的一半的地方的利潤也不只2%吧;
第四種可能......止損!!!!!!


這樣一來公式轉變成(美好未來1):
BARSLAST(ref(c,1)/ref(o,1)>=1.099 and l>ref(h,1))=1 
結論:用"原始公式"搞測試;"美好未來1"實際操作.好了,汽車上太顛簸,就寫這些吧.

(15)、短線RSI選股指標設計 
站長按:HP朋友設計的這個指標,從短線角度勝率不俗,且分布十分均勻,有很好的實戰意義!

由于此公式選出的股票漲幅不是很大,所以目標利潤定為5%
首先從分析家自帶的RSI開始,當股價從低位開始上漲時6日RSI
會上穿24日RSI,初始公式為:
cross(rsi1,rsi3)
此時此公式所發出的指示有一部分出現在高位,甚至頂部,通
過觀察,可以發現在低位發出的指示有一些共同點,即12日RSI
小于40,6日RSI小于50,并且最近5天內RSI曾低于20,所以在
公式中加入以下限制:
rsi2<40 and count(rsi1<20,5)>=1 and rsi1<50
經過測試(99.1.1-00.7.7),發現此公式的失敗指示主要發出在
99年9-12月,此時大盤不景氣,于是加入以下限制:
c/ref(c,1)<indexc/ref(indexc,1)
以下測試條件均為20日5%(請注意目標利潤為5%)
-------------------------------------------------------
99.1.1-00.7.7
測試股票數:984
共發出指示:250 成功指示:202 失敗指示:48 未完成指示:0
平均成功率:80.80%, 成功率達到50%的股票有:18.8%
利潤1總平均:15.30% 利潤1最大值:88.51% 利潤1最小值:0.00%
利潤2總平均:11.19% 利潤2最大值:88.51% 利潤2最小值:-13.41%
-------------------------------------------------------
97.1.1-00.7.7
測試股票數:984
共發出指示:443 成功指示:345 失敗指示:98 未完成指示:0
平均成功率:77.88%, 成功率達到50%的股票有:29.3%
利潤1總平均:13.94% 利潤1最大值:88.51% 利潤1最小值:0.00%
利潤2總平均:9.64% 利潤2最大值:88.51% 利潤2最小值:-27.26%
-------------------------------------------------------
如果要用此公式選股,只需在條件選股窗口中選中此公式,并
把條件設定為HPRSI大于P1(P1為0)。


(16)、編程接口全攻略
為什么使用編程接口

由于分析家的自編公式缺乏循序、選擇及循環三大基本結構中的循環結構,因而不能編制某些公式,作為補救措施,匯天奇公司推出編程接口。編程接口的優點是能實現任意算法,運算效率高,保密性強;缺點是需要額外的知識,調試困難,善未完善。所以,筆者建議盡量避免使用它。
使用編程接口需要什么基礎知識及軟件
原始的編程接口是以 C 語言提供,以 Win32 動態連接庫的形式實現的,所以任何一個可以生成 Win32 
動態連接庫的開發工具,都可以用于編寫擴展函數,如 Delphi、BCB、VC、VB 等。
由于分析家軟件是用 VC 編寫的,故匯天奇公司推薦使用 VC 作為開發工具。有鑒于此,筆者編寫了 VC 6.0 下的 
Custom AppWizard ,可自動生成程序框架,并作一些必要的設置,可節省不少時間。如果使用 VC ,只需學習 C 
語言,不必懂得 C++ 知識,更不必掌握 MFC ,要求可說是相當低了。
本文以 VC 為例,講述擴展函數的編制。
擴展函數的命名及引用
擴展函數的命名有以下規定:
1.函數名稱須符合 C 語言的規定,并需全部大寫.
2.函數必須以下述A,B兩種形式之一聲明,請用實際函數名稱替代xxxxxxxx。
__declspec(dllexport) int xxxxxxxx(CALCINFO* pData); 
---------- A
__declspec(dllexport) int xxxxxxxxVAR(CALCINDO* pData); 
---------- B
3.上述形式A用于聲明不帶參數或全部參數為常數的函數;
形式B用于聲明參數1為序列數的函數;兩種函數的區別在于后者以VAR結尾.
4.函數名稱長度不能超過 15 字節,動態連接庫文件名不能超過 9 字節(不包括擴展名),動態庫名稱不能叫 
SYSTEM,EXPLORER ;
擴展函數的引用分兩個步驟:

1、將生成的動態連接庫拷貝到分析家目錄下;

2、編寫一個公式,引用動態連接庫中的擴展函數,格式如下:
"動態庫名稱@函數名稱"(參數表)
例如,您編了一個擴展函數叫 FUNCTION() ,有兩個常數參數,生成的動態連接庫叫 formula.dll ,引用為 
"formula@Fuction"(16,8) ,注意一對半角雙引號的位置,庫名及函數名不區分大小寫。
數據結構
編程接口的一大任務是數據的傳遞,包括將原始數據傳遞給擴展函數及將運算結果傳遞回分析家。這是通過函數的參數 CALCINFO* 
pData 實現的,結構 CALCINFO 的定義在頭文件FxjFunc.h或Analyst.h中,簡介如下:
typedef struct tagCALCINFO
{
const DWORD m_dwSize; //本結構的大小,可用于分配內存
const DWORD m_dwVersion; //調用軟件版本(V2.10 : 0x210)
const DWORD m_dwSerial; //調用軟件序列號
const char* m_strStkLabel; //股票代碼
const BOOL m_bIndex; //大盤
//數據數量(pData,pDataEx,pResultBuf 指向的數組大小)
const int m_nNumData; 
//常規數據數組指針,注意:當m_nNumData==0時可能為 NULL
const STKDATA* m_pData; 
//擴展數據數組指針,用于描述分筆成交買賣盤,注意:可能為 NULL
const STKDATAEx* m_pDataEx; 
const int m_nParam1Start; //參數1有效位置,詳見注4、5
const float* m_pfParam1; //調用參數1 
const float* m_pfParam2; //調用參數2
const float* m_pfParam3; //調用參數3
const float* m_pfParam4; //調用參數3
float* m_pResultBuf; //結果緩沖區
const DATA_TYPE m_dataType; //數據類型
const float* m_pfFinData; //財務數據
} CALCINFO;
注: 
1.函數調用參數由m_pfParam1--m_pfParam4帶入,若為NULL則表示該參數無效.
2.當一個參數無效時,則其后的所有參數均無效.
如:m_pfParam2為NULL,則m_pfParam3,m_pfParam4一定為NULL.
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 中用到的其它數據結構定義可在同一頭文件中找到,讀者如有疑問可自行查閱。
使用 Custom AppWizard 編程
由于 Custom AppWizard 
已完成了所有例行的工作,我們只需要讀出原始數據,對其進行處理后,寫入結果緩沖區就行了。具體可參閱網友 Normal 的大作,此處不再贅
述。有幾點補充如下:
1、函數返回 -1 表示錯誤或全部數據無效,否則返回第一個有效值位置,即:
m_pResultBuf[返回值] -- m_pResultBuf[m_nNumData-1]間為有效值。

2、Custom AppWizard 只適用于 VC 6.0 ,不能用于 VC 5.0 。
不使用 Custom AppWizard 編程
手工編程的話,要注意以下幾點:
1、函數參數傳遞順序必須按照 C 規則,如果文件擴展名用 .cpp ,則函數聲明必須包含在 extern "C" {} 
的括號中;
2、Project -> Settings... -> C/C++ -> Category: General 
-> Preprocessor definitions 中加入 FXJFUNC_EXPORTS ;
3、編譯時選擇1字節對齊,即 
Project -> Settings... -> C/C++ -> Category: Code Generation
-> Struct member alignment: 選 1 Byte;
使用其它編程工具的,可參考以上設置。

不足及期望

編程接口雖然大大增強了公式編制的能力及靈活性,但也存在不足之處。比如,只能被動獲取原始數據,不能主動取得其它個股的指定數據;還有,不能同時取得不同周期的數據;另外,不提供基本的函數庫,連移動平均也得自己動手。由上可見,編程接口也有其局限性,并非萬能。我們期望匯天奇對其作進一步的完善。

(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<REF(CLOSE,1),-VOL,0)),0)

它用一個統計函數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函數實現。如我去年編的 成本價指標:

CostMA(AMOUNT/VOL/100, VOL/CAPITAL)

這是成本分析中最簡單的公式,成本分析的原理詳見“成本分布的秘密”一帖,基此思路,應可以輕松編出其它成本分布的公式。