| | | |
李西摩尔(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 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 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 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 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 begin if (Close 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 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 NaturalRallyBL = NaturalRally; {Rule 4d} if ResumeDnTrend then {Rule 10 logic. Note: system becomes unstable if used} begin if (Close 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 = Close; {Rule 2, 6b} end {InSecRally}
{------Natural Reaction State-------} else if InNatReact then begin if (Close NaturalRallyBL = NaturalRally; {Rule 4d} if (Close 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 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 = Close; {Rules 3, 6a, 6b} end {InNatReact}
{------Secondary Reaction State-------} else if InSecReact then begin if (Close 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 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 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 = 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;
|
|