| | | |
李西摩爾(JESSE LIVERMORE)突破點預測股票期貨
這裏講精華
李西摩爾我計算的基本單位是一個點。後來是二個點,以此類推,直到最終得到結論,在其印製了一種特殊設計的表格紙,排列出不同的列,通過這樣的安排來構成所稱的預期未來運動的地圖。每一個股票的行情都占六列。其價格按照規定分別記錄在每一列內。這六列的標題分別如下:
第一列的標題是次級回升。- Secondary Rally
第二列的標題是自然回升。 Natural Rally
第三列的標題是上升趨勢。- Up Trend
第四列的標題是下降趨勢。- Down Trend
第五列的標題是自然回撤。- Natural Reaction
第六列的標題是次級回撤。Secondary Reaction
如果把價格數據記錄在上升趨勢一欄,則用黑墨水填入。在其左麵的兩列裏,都用鉛筆填寫。如果把價格數據記錄在下降趨勢一欄,則用紅墨水填入。在其右側的兩列,也都用鉛筆填寫。
這樣一來,不論當我將價格數據記錄到上升趨勢一列,還是記錄到下降趨勢一列,都能夠對當時的實際趨勢形成強烈印象。把那些數據用墨水顏色明顯地區分,就會對我說話。不論是紅墨水還是黑墨水,一旦持續使用,就會明明白白地講出一個故事。
如果總是用鉛筆記錄行情,我就會意識到,現在記錄的隻不過是自然的振蕩。(後麵我將展示我的記錄,請注意,書上用淺藍色印刷的數字就是我在自己的表格上用鉛筆記錄的數字)。
我斷定,在某個股票價格達到30.00美元或更高的情況下,僅當市場從極端點開始回升或回落了大致6點的幅度之後,才能表明市場正在形成自然的回升過程或自然的回撤過程。這一輪回升行情或者回落行情並不意味著原先的市場趨勢正在發生變化,隻是表明市場正在經曆一個自然的運動過程。市場趨勢與回升或回落行情發生之前完全一致。
請讓我解釋一下,我並不把單個股票的動作看作整個股票群趨勢變化的標誌。為了確認某個股票群的趨勢已經明確改變,我通過該股票群中兩個股票的動作組合來構成整個股票群的標誌,這就是組合價格。也就是說,把這兩個股票的價格運動結合起來,就可以得出我所謂的“組合價格”。我發現,單個股票有時候能夠形成足夠大的價格運動,大到足以寫入記錄表中上升趨勢或下降趨勢欄。但是,如果僅僅依賴這一個股票,就有卷入假信號的危險。將兩個股票的運動結合起來,就能得到基本的保障。因此,趨勢改變信號需要從組合價格變動上得到明確的驗證。 現在讓我來闡述這一組合價格方法。我將嚴格堅持以6點運動準則作為判斷依據。你會注意到,在我下麵列舉的記錄中,有時候美國鋼鐵的變化僅有比如5點,與此同時伯利恒鋼鐵的相應變化則可能有7點,在這種情況下,我也把美國鋼鐵的價格記錄在相應欄目內。原因是,把兩個股票的價格運動組合起來構成組合價格,兩者之和達到了12點或更多,正是所需的合適幅度。 當運動幅度達到一個記錄點時--也就是說兩個股票平均都運動了6點時--從此之後,我便在同一列中接著記錄此後任一天市場創造的新極端價格,換言之,在上升趨勢的情況下,隻要最新價格高於前一個記錄便列入記錄;在下降趨勢的情況下,隻要最新價格低於前一個記錄便列入記錄。這個過程一直持續到反向運動開始。當然,後麵這個朝著相反方向的運動,也是基於同樣的原則來認定的,即兩個股票的反向運動幅度達到平均6點、組合價格達到合計12點的原則。
諸葛神算簡單的總結: JESSE 用3, 6, 12點來確定突破, 要求交易在UPWARD OR DOWNWORD. 這和現代的突破SUPPORT AND BREAKOUT 又異曲同工之秒,不過大不相同.
如, AAPL, 2006低點50, 7/20/06 進入UPWARD到59.62(突破57.67的DOWNWORD), 出現買點, 後8/11出現62.58 NATURAL REACTION,第二買點.後到NATURALL RALLY,後UPWARD 到現在.這是基於3點分析.
關鍵: JESSE的PIVOT並不是現代所講的BREAKOUT, 而是指SECOND HIGHER HIGH AND SECOND LOWER LOW, 但其將突破結合, 更顯完美.
對現代操作來講, 6,12點方法滯後, 而3點也不夠, 調整參數是一個巨大的實際應用問題. 我係統人為, 建立等級參數可能是較好的選擇(這裏不多討論).
接下來我給大家介紹 現代扁狐(ABCD)對稱預測股票期貨. Gartley形態及蝴蝶形態(1.272)秒用. 角度分割(33, 50, 66, 90度)交叉比例(可能搗亂的線吧)預測, 不同於江恩角度. 最新的三次方根與圓關係預測(至於流行的MACK, CCI, WILLIAM R... 那都是指標,大家都用).
以下是給專業TRADER 看的.
{ Livermore Market Method Signal Ref[1]: Chapters VIII & IX of "How to Trade in Stocks", Jesse L. Livermore
v1 ghkramer - 5Oct03 v1.1 ghkramer - 11Oct03, Added switch to deactive Rule 10 logic =============== Program Overview
This program classifies price action into the following states based upon rules in Ref[1]:
- Up Trend - Natural Rally - Secondary Rally - Down Trend - Natural Reaction - Secondary Reaction
State change is determined by a user specified threshold of price change. The program also determines a number of pivot points:
- Peak Up Trend Price - Peak Natural Rally Price - Bottom Down Trend Price - Bottom Natural Reaction Price - Key Price (requires two stocks, i.e., 2 or more data streams (Rule 7), not yet implemented)
This program may be used as a basis for a number of studies: - trend paint bars, - pivot price indicator lines - strategies (trend following and/or breakout/breakdown)
For a detailed explanation of the system see Ref[1].
This program reflects the author's interpretation of Livermore's writing. There is no guarantee the this program accurately or fully incorporates Livermore's Market Key system. }
input: PtsPctATR(0), Threshold(6), ATRLength(14), TradeTrends(1);
{ PtsPctATR: 0 for Threshold in points, 1 for Threshold in Percent 2 for Threshold in multiples of ATR
Threshold: in Points (if PtsPct = 0) in Percent (if PtsPct = 1) in ATR Multiples (if PtsPct = 2)
ATRLength(14) : only used when PtsPctATR = 2
TradeTrends: 1 = Trade Up and Down Trends only 0 = Long for Up Trends and Rallies, Short for Dn Trends and Reactions
Note: Livermore's system used a threshold of 6 points for stocks priced over $30. This is the default (PtsPctATR = 0, Threshold = 6).
}
var: SecondaryRally(0), NaturalRally(0), UpTrend(0), SecondaryReaction(0), NaturalReaction(0), DnTrend(0), DnTrendBL(0), NaturalRallyBL(0), {BL = Black Line} UpTrendRL(0), NaturalReactionRL(0), {RL = Red Line} InSecRally(false), InNatRally(false), InUpTrend(false), InSecReact(false), InNatReact(false), InDnTrend(false), ResumeUpTrend(false), ResumeDnTrend(false), MA10(0), Thresh(0), HalfThresh(0), UseRule10(false), {set to true to use Livermore's Rule 10, note: system may become unstable} Debug(false); {set to true for output}
{initialization} if (CurrentBar = 1) then begin if (PtsPctATR = 0) {use Points} then begin Thresh = Threshold; HalfThresh = Thresh/2; end; SecondaryRally = Close; NaturalRally = Close; UpTrend = Close; SecondaryReaction = Close; NaturalReaction = Close; DnTrend = Close; end;
if (CurrentBar <= 21) then {initialization continued} begin MA10 = Average(Close, 10); if (CurrentBar = 21) then begin if (MA10 > MA10[10]) then {assume UpTrend} begin InUpTrend = true; UpTrend = C; end else {assume DnTrend} begin InDnTrend = true; DnTrend = C; end; end; end else {Main} begin {calc current Threshold if required} if (PtsPctATR = 1) then {use Percent change Thresh, calc on every bar } begin Thresh = Threshold*Close[1]/100; HalfThresh = Thresh/2; end else if (PtsPctATR = 2) then {use ATR multiples for Thresh, calc on every bar } begin Thresh = Threshold*AvgTrueRange(14); HalfThresh = Thresh/2; end;
{Process by Current State}
{------Up Trend State-------} if InUpTrend then begin if (Close > (NaturalReaction + Threshold)) then NaturalReactionRL = NaturalReaction; {Rule 4b} if ResumeUpTrend then {Rule 10 logic. Note: system becomes unstable if used} begin if (Close > (UpTrendRL + HalfThresh)) then begin ResumeUpTrend = false; {Rule 10a} UpTrend = Close; if Debug then print(date, Close, " Node 1", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < (UpTrendRL - HalfThresh)) then {UpTrend Over, return to NaturalReaction} begin ResumeUpTrend = false; InUpTrend = false; {Rule 10b} InNatReact = true; NaturalReaction = Close; if Debug then print(date, Close, " Node 2", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end; end else if (Close < (UpTrend - Thresh)) then {start NaturalReaction} begin {Rules 4a, 6a} InUpTrend = false; InNatReact = true; NaturalReaction = Close; UpTrendRL = UpTrend; {Pivot Pt, Rule 8} ResumeUpTrend = false; if Debug then print(date, Close, " Node 3", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > UpTrend) then {remain in UpTrend, record higher price} UpTrend = Close; {Rule 1, 4b, 6d} end {InUpTrend}
{------Natural Rally State-------} else if InNatRally then begin if (Close > (NaturalReaction + Threshold)) then NaturalReactionRL = NaturalReaction; {Rule 4b} if (Close > UpTrend) then {resume UpTrend} begin {Rules 6d, 6f} InUpTrend = true; InNatRally = false; UpTrend = Close; if UseRule10 then ResumeUpTrend = true; if Debug then print(date, Close, " Node 4", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > (NaturalRallyBL + HalfThresh)) then {resume UpTrend} begin {Rules 5a} InUpTrend = true; InNatRally = false; UpTrend = Close; if UseRule10 then ResumeUpTrend = true; if Debug then print(date, Close, " Node 5", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < DnTrend) then {start DnTrend} begin {Rule 6b} InNatRally = false; InDnTrend = true; DnTrend = Close; NaturalRallyBL = Close; {rule 4d} if Debug then print(date, Close, " Node 6", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < (NaturalRally - Thresh)) then begin if (Close < NaturalReaction) then {start NaturalReaction} begin {Rules 4d, 6b} InNatRally = false; InNatReact = true; NaturalReaction = Close; NaturalRallyBL = Close; {rule 4d} {Pivot Pt, Rule 9b} if Debug then print(date, Close, " Node 7", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else {start SecondaryReaction} begin {Rule 6h} InNatRally = false; InSecReact = true; SecondaryReaction = Close; if Debug then print(date, Close, " Node 8", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end; end else if (Close > NaturalRally) then {remain in NaturalRally, record higher price} NaturalRally = Close; {Rule 3, 6c, 6d} end {InNatRally}
{------Secondary Rally State-------} else if InSecRally then begin if (Close > UpTrend) then {resume UpTrend} begin {Rules 6d, 6f} InUpTrend = true; InSecRally = false; UpTrend = Close; if UseRule10 then ResumeUpTrend = true; if Debug then print(date, Close, " Node 9", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > (NaturalRallyBL + HalfThresh)) then {resume UpTrend} begin {Rules 5a} InUpTrend = true; InSecRally = false; UpTrend = Close; if UseRule10 then ResumeUpTrend = true; if Debug then print(date, Close, " Node 10", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > NaturalRally) then {start NaturalRally} begin {Rule 6g} InSecReact = false; InNatRally = true; NaturalRally = Close; if Debug then print(date, Close, " Node 11", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < DnTrend) then {start DnTrend} begin {Rule 6b} InSecRally = false; InDnTrend = true; DnTrend = Close; NaturalRallyBL = Close; {rule 4d} {Pivot Pt, Rule 9b} if Debug then print(date, Close, " Node 12", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > SecondaryRally) then {remain in SecondaryRally, record higher price} SecondaryRally = Close; {Rule 3, 6g} end {InSecRally}
{------Down Trend State-------} else if InDnTrend then begin if (Close < (NaturalRally - Threshold)) then NaturalRallyBL = NaturalRally; {Rule 4d} if ResumeDnTrend then {Rule 10 logic. Note: system becomes unstable if used} begin if (Close < (DnTrendBL - HalfThresh)) then begin ResumeDnTrend = false; {Rule 10a} DnTrend = Close; {Rule 2, 6b} if Debug then print(date, Close, " Node 13", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > (DnTrendBL + HalfThresh)) then {DnTrend Over, return to NaturalRally} begin ResumeDnTrend = false; InDnTrend = false; {Rule 10c} InNatRally = true; NaturalRally = Close; if Debug then print(date, Close, " Node 14", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end; end else if (Close > (DnTrend + Thresh)) then {start NaturalRally} begin {Rules 4c, 6c} InDnTrend = false; InNatRally = true; NaturalRally = Close; DnTrendBL = DnTrend; {Pivot Pt, Rule 8} ResumeDnTrend = false; if Debug then print(date, Close, " Node 15", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < DnTrend) then {remain in DnTrend, record lower price} DnTrend = Close; {Rule 2, 6b} end {InSecRally}
{------Natural Reaction State-------} else if InNatReact then begin if (Close < (NaturalRally - Threshold)) then NaturalRallyBL = NaturalRally; {Rule 4d} if (Close < DnTrend) then {resume DnTrend} begin {Rule 6b, 6e} InDnTrend = true; InNatReact = false; DnTrend = Close; if UseRule10 then ResumeDnTrend = true; if Debug then print(date, Close, " Node 16", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < (NaturalReactionRL - HalfThresh)) then {resume DnTrend} begin {Rules 5b} InDnTrend = true; InNatReact = false; DnTrend = Close; if UseRule10 then ResumeDnTrend = true; if Debug then print(date, Close, " Node 17", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > UpTrend) then {start UpTrend} begin {rule 6d} InNatReact = false; InUpTrend = true; UpTrend = Close; NaturalReactionRL = Close; {Rule 4b} {Pivot Pt, Rule 9c} if Debug then print(date, Close, " Node 18", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > (NaturalReaction + Thresh)) then begin if (Close > NaturalRally) then {start NaturalRally} begin {Rules 4b, 6d} InNatReact = false; InNatRally = true; NaturalRally = Close; NaturalReactionRL = Close; {Rule 4b} {Pivot Pt, Rule 9c} if Debug then print(date, Close, " Node 19", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else {start SecondaryRally} begin {Rule 6g} InNatReact = false; InSecRally = true; SecondaryRally = Close; if Debug then print(date, Close, " Node 20", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end; end else if (Close < NaturalReaction) then {remain in NaturalReaction, record lower price} NaturalReaction = Close; {Rules 3, 6a, 6b} end {InNatReact}
{------Secondary Reaction State-------} else if InSecReact then begin if (Close < DnTrend) then {resume DnTrend} begin {Rules 6b, 6e} InDnTrend = true; InSecReact = false; DnTrend = Close; if UseRule10 then ResumeDnTrend = true; if Debug then print(date, Close, " Node 21", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < (NaturalReactionRL - HalfThresh)) then {resume DnTrend} begin {Rules 5b} InDnTrend = true; InSecReact = false; DnTrend = Close; if UseRule10 then ResumeDnTrend = true; if Debug then print(date, Close, " Node 22", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close > UpTrend) then {start UpTrend} begin {Rule 6d} InSecReact = false; InUpTrend = true; UpTrend = Close; NaturalReactionRL = Close; {Rule 4b} {Pivot Pt, Rule 9c} if Debug then print(date, Close, " Node 23", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < NaturalReaction) then {start NaturalReaction} begin {Rule 6h} InSecReact = false; InNatReact = true; NaturalReaction = Close; if Debug then print(date, Close, " Node 24", UpTrend, DnTrend, NaturalRally, NaturalReaction, UpTrendRL, DnTrendBL, NaturalRallyBL, NaturalReactionRL); end else if (Close < SecondaryReaction) then {remain in SecondaryReaction, record lower price} SecondaryReaction = Close; {Rule 6h} end {InSecReact}
{------Error State-------} else begin {should not get here!!!} if Debug then print("Error in State Logic, Date: ", Date, " Time: ", Time); end; {Error state}
end; {main}
{------Trading Logic-------}
{For TS 2000i only, non-op or delete for TS 6+ } { if (TradeTrends = 1) then begin if InUpTrend then Buy next bar at open else if (Marketposition = 1) then ExitLong next bar at open;
if InDnTrend then Sell next bar at open else if (Marketposition = -1) then ExitShort next bar at open; end else {Trade Trends, Rallies, and Reactions} begin if (InUpTrend or InNatRally or InSecRally) then begin Buy next bar at open; ExitShort next bar at open; end;
if (InDnTrend or InNatReact or InSecReact) then begin Sell next bar at open; ExitLong next bar at open; end; end;
} { For TS 6+ versions}
if (TradeTrends = 1) then begin if InUpTrend then Buy next bar at open else if (Marketposition = 1) then Sell next bar at open;
if InDnTrend then Sell Short next bar at open else if (Marketposition = -1) then Buy to Cover next bar at open; end else begin if (InUpTrend or InNatRally or InSecRally) then begin Buy next bar at open; Buy to Cover next bar at open; end;
if (InDnTrend or InNatReact or InSecReact) then begin Sell Short next bar at open; Sell next bar at open; end; end;
|
|