HIGH周刊

评点大千股坛,驰骋股市风云
正文

预测股票和期货价格的方法 诸葛神算 著

(2006-10-08 06:08:41) 下一个


神算讲座:预测股票和期货价格的方法(-) (图)
来源: 诸葛神算06-10-06 23:09:45
   


这里我简单的讲或拷贝一些最有用的方法, 让大家也成为孔明(以AAPL为例, 2005 低点33.11B,突破点C1 45.44,2006高点A86.40,2006 突破点C2 75.35,回调B50.16), C 代表SUPPORT AND RESISTANCE LINE.

黄金分割法(0.618或0.382, 参数P)

1. 从低点B(简称B)到高点A(简称A)的简单计算

B*0.618(1.618 或2.618,多或少3.618)

33.11X0.618=20.462
33.11*1.618=53.572
33.11*2.618=86.682(目标价)

2. 从A到B回调的简单计算(自己算吧)

B*0.382+A*0.618

33.11*0.382+86.4*0.618=?
50.16*0.382+86.4*0.618=?

B*0.618+A*0.382

33.11*0.618+84.4*0.382=?(目标价)
50.16*0.618+84.4*0.382=?

你自己算算SP, 应在那里?

3. 复杂的计算方法(0.145, 0.236,0.382, 0.618, 0.764, 0.854 参数P).

B+(C1-B)*(1+P)=向上目标价

33.11+(45.44-33.11)*(1+0.145)=?
33.11+(45.44-33.11)*(1+0.236)=?
....

((A-C2*P)*P/(1-P))=X, X+(A-X)*P=向下目标价

(75.35-86.4*0.382)*0.382/(1-0.382)=X, X+(86.4-X)*0.145=?
(75.35-86.4*0.618)*0.618/(1-0.618)=X, X+(86.4-X)*0.236=?
....
基本上可以算出这次AAPL 50到底, 接下来你可算算此次到顶价格.

其实写以来复杂, 讲起来简单.

接下来我给大家介绍

李西摩尔(JESSE LIVERMORE)突破点预测股票期货.
现代扁狐(ABCD)对称预测股票期货.
Gartley形态及蝴蝶形态(1.272)秒用.
角度分割(33, 50, 66, 90度)交叉比例(可能捣乱的线吧)预测, 不同于江恩角度.
最新的三次方根与圆关系预测

(至于流行的MACD, CCI, WILLIAM R... 那都是指标,大家都用).

神算讲座:预测股票和期货价格的方法(二) (图)
来源: 诸葛神算06-10-07 19:34:08
   


李西摩尔(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;
[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.