狄马克序列公式源码 狄马克td序列源码
TD序列
德马克指标由TomDemark创建,已经有30年的历史。
这一指标较少的为一般投资者所知,但在一些专业的交易员中却口口相传。
TomDemark曾任索罗斯集团、摩根大通、花旗和高盛的投资顾问。
和一般技术交易指标多为跟随趋势不同,这一指标在确认趋势反转和反转点方面非常有帮助。
DemarkSequential包含两个主要部分:Setup和Countdown,
下面以买入信号为例进行说明,卖出信号则相反。
Setup:
要求有九个连续交易日的收盘价,每一个都低于其相对应的四个交易日前的收盘价。
一个完美的Setup最好是第8或第9个交易日的最低价高于第6和第7个交易日的最低价。
CountDown:Setup
完成后开始计数,每当某日收盘价低于其两天前的最低价时计数增加1(可以不连续),
直到计数增加到13。
一个完美的countdown最好是第十三个计数日的最低价不低于第8个计数日的收盘价。
买入点:
较为激进的买入点是计数一完成就进入市场。第13个计数日常常是趋势的反转点。
较为保守的买入点是等待countdown完成后出现反转的信号,
即某日的最低价不低于其4个交易日之前的收盘价。
(完美的CountDown在第13个计数日就满足了这一反转信号)
取消计数:
如果在CountDown尚未完成之前出现以下情况就应取消计数:
1)有一个收盘价超过Setup阶段各日中的最高价;
2)出现一个相反的Setup,如在买入的Countdown过程中出现一个卖出的Setup;
3)出现新的一个同方向的Setup,在这种情况下新的买入Setup优先,
一旦完成则重新开始计数。
止损点:
一个成功的Setup和Countdown完成后仍然有10%到30%的概率出现反转失败,止损点的设立很重要。首先找到CountDown阶段位置最低的一个pricebar,以此pricebar的最低价减去该日最高价(或前日收盘价,取其中较高一个)和最低价的差价,则此价格为止损点价格。
TD指标的优势
TD指标是大型投资基金Tudor的执行副总裁(ThomasRDeMark)于80年代中期为了发现走势欲转折区域而设计的。
由于其原理简单且预测精度高等特点而在近几十年内得到了广泛的应用。
TD指标基本原理
TD指标通常可分为TD序列和TD组合。
TD序列由启动、交叉和计数三个阶段组成,
而TD组合则仅包括启动和计数两个阶段,
两者的主要区别在于计数规则的不同,但其基本原理都是一致的,
即:市场走势由买方和卖方共同作用形成,
当买方的力量大于卖方时走势表现为上涨,反之为下跌,但买卖双方力量强弱的表象是动态的,当走势上涨一段时间后,买方力量必然面临衰竭,从而市场转为下跌,TD指标正是为发现走势欲转折区域而设计的。
量化指标参数条件的调整
本报告对传统TD指标参数在A股市场进行实证,发现效果并不理想。
我们尝试通过修正TD指标,找到最适合中国股市特征的指标参数和条件,
进而对中国股市进行更有效的预测。
最后,我们确定TD序列的启动阶段长度为6,计数为12;
TD组合的启动阶段长度为6,计数为8。
指标的修正主要包括以下三个方面:
1改变计数起点;
2改变TD指标参数;
3改变计数规则。
择时策略的实证效果
基于修正后的TD序列和TD组合的量化择时策略应用于上证综指、深圳成指以及沪深300等三个不同指数,在2000.1——2010.6间均获得了较好的超额收益。
其中,基于修正TD组合指标的效果较佳,预测的准确率同样均大于70%。
比较三个指数,模型效果对于上证综指效果最好,
10年期间发出11对信号,平均1年1至2对信号,成功9对,准确率达到82%。
仅有的两次失败发生在2001——2002年,
成功躲过2007年的5.30、2008全年大调整、2009年的8.5调整以及今年以来的调整。
抓住了2005年到2007年5.30的牛市主升浪行情、2007年下半年的牛尾行情、
2009年初至2009.8.4的反弹行情。
目前信号
经过修正的TD组合模型对于上证综指过去10年检验效果最好,该模型从2010年1月22日发出卖出信号以来,在2010年7月12日发出买入信号,指示市场当前已经处于底部区域,轻仓投资者可以考虑择机进场。
Thiswilltellushowhighthemarketwashoutrateis.
SubmittedbyMauriceOdekerkenfromHollandm.odekerken@home.nl
Spreadsheetforthisformulaisavailablefordownload.Right-clickhereand
select'SaveTargetAs...'tosaveittoalocationonyourharddrive.
BuyIndicators:
TD-SetUp-Buy
TD1:=If(C
TD2:=If(TD1=1ANDRef(TD1,-1)=1ANDRef(TD1,-2)=1ANDRef(TD1,-3)=1AND
Ref(TD1,-4)=1ANDRef(TD1,-5)=1ANDRef(TD1,-6)=1ANDRef(TD1,-7)=1AND
Ref(TD1,-8)=1,1,0);
TD3:=If(Ref(C,-9)>=Ref(C,-13),1,0);
TD4:=If(TD2=1ANDTD3=1,1,0);
TD5:=If(H>=Ref(LLV(L,5),-3),1,0);
D8:=If(Ref(TD4,1)=1ANDTD5=1,1,0);
D9:=If(TD4=1ANDTD5=1ANDRef(D8,-1)<>1,1,0);
D10:=If(Ref(TD4,-1)=1ANDTD5=1ANDRef(D8,-2)<>1ANDRef(D9,-1)<>1,1,0);
D11:=If(Ref(TD4,-2)=1ANDTD5=1ANDRef(D8,-3)<>1ANDRef(D9,-2)<>1AND
Ref(D10,-1)<>1,1,0);
D12:=If(Ref(TD4,-3)=1ANDTD5=1ANDRef(D8,-4)<>1ANDRef(D9,-3)<>1AND
Ref(D10,-2)<>1ANDRef(D11,-1)<>1,1,0);
D13:=If(Ref(TD4,-4)=1ANDTD5=1ANDRef(D8,-5)<>1ANDRef(D9,-4)<>1AND
Ref(D10,-3)<>1ANDRef(D11,-2)<>1ANDRef(D12,-1)<>1,1,0);
D14:=If(Ref(TD4,-5)=1ANDTD5=1ANDRef(D8,-6)<>1ANDRef(D9,-5)<>1AND
Ref(D10,-4)<>1ANDRef(D11,-3)<>1ANDRef(D12,-2)<>1ANDRef(D13,-1)<>1,1,0);
D15:=If(Ref(TD4,-6)=1ANDTD5=1ANDRef(D8,-7)<>1ANDRef(D9,-6)<>1AND
Ref(D10,-5)<>1ANDRef(D11,-4)<>1ANDRef(D12,-3)<>1ANDRef(D13,-2)<>1AND
Ref(D14,-1)<>1,1,0);
D16:=If(Ref(TD4,-7)=1ANDTD5=1ANDRef(D8,-8)<>1ANDRef(D9,-7)<>1AND
Ref(D10,-6)<>1ANDRef(D11,-5)<>1ANDRef(D12,-4)<>1ANDRef(D13,-3)<>1AND
Ref(D14,-2)<>1ANDRef(D15,-1)<>1,1,0);
D17:=If(Ref(TD4,-8)=1ANDTD5=1ANDRef(D8,-9)<>1ANDRef(D9,-8)<>1AND
Ref(D10,-7)<>1ANDRef(D11,-6)<>1ANDRef(D12,-5)<>1ANDRef(D13,-4)<>1AND
Ref(D14,-3)<>1ANDRef(D15,-2)<>1ANDRef(D16,-1)<>1,1,0);
SetUp:=D8+D9+D10+D11+D12+D13+D14+D15+D16+D17;
SetUp
TDCountDownBuyA
Cum(If(C
Cum(If(C
TDCountDownBuyB
If(Fml("TDCountDownBuyA")>=14ANDC>Ref(C,-4),1,0)
TDCountDownBuyC
If(Fml("TDCountDownBuyA")>=14ANDC>Ref(H,-2),1,0)
BuyExperts:
Type/ChangeinHighlights:
BuyBullishSetUp
{Color:Cyan}
Fml("TD-SetUp-Buy")=1OR
Ref(Fml("TD-SetUp-Buy"),1)=1OR
Ref(Fml("TD-SetUp-Buy"),2)=1OR
Ref(Fml("TD-SetUp-Buy"),3)=1OR
Ref(Fml("TD-SetUp-Buy"),5)=1OR
Ref(Fml("TD-SetUp-Buy"),6)=1OR
Ref(Fml("TD-SetUp-Buy"),7)=1OR
Ref(Fml("TD-SetUp-Buy"),8)=1
BuyCountDown
{Color:Blue}
(Fml("TDCountDownBuyA")=13
ANDRef(Fml("TDCountDownBuyA"),-1)<>13)OR
(Fml("TDCountDownBuyA")=12
ANDRef(Fml("TDCountDownBuyA"),-1)<>12)OR
(Fml("TDCountDownBuyA")=11
ANDRef(Fml("TDCountDownBuyA"),-1)<>11)OR
(Fml("TDCountDownBuyA")=10
ANDRef(Fml("TDCountDownBuyA"),-1)<>10)OR
(Fml("TDCountDownBuyA")=9
ANDRef(Fml("TDCountDownBuyA"),-1)<>9)OR
(Fml("TDCountDownBuyA")=8
ANDRef(Fml("TDCountDownBuyA"),-1)<>8)OR
(Fml("TDCountDownBuyA")=7
ANDRef(Fml("TDCountDownBuyA"),-1)<>7)OR
(Fml("TDCountDownBuyA")=6
ANDRef(Fml("TDCountDownBuyA"),-1)<>6)OR
(Fml("TDCountDownBuyA")=5
ANDRef(Fml("TDCountDownBuyA"),-1)<>5)OR
(Fml("TDCountDownBuyA")=4
ANDRef(Fml("TDCountDownBuyA"),-1)<>4)OR
(Fml("TDCountDownBuyA")=3
ANDRef(Fml("TDCountDownBuyA"),-1)<>3)OR
(Fml("TDCountDownBuyA")=2
ANDRef(Fml("TDCountDownBuyA"),-1)<>2)
BuyA
{Color:Green}
(Fml("TDCountDownBuyA")=14ANDRef(Fml("TDCountDownBuyA"),-1)<>14)
BuyB
{Color:Green}
A:=If(Fml("TDCountDownBuyA")=14
ANDRef(Fml("TDCountDownBuyA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownBuyB"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
BuyC
{Color:Green}
A:=If(Fml("TDCountDownBuyA")=14
ANDRef(Fml("TDCountDownBuyA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownBuyC"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
Fml("TDCountDownBuyC")=1
Type/ChangeinSymbols:
SetUp9
{Label:9/Font:8/Color:Magenta/Position:Below/Graphics:None}
Fml("TD-SetUp-Buy")=1
SetUp8
{Label:8/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),1)=1
SetUp7
{Label:7/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),2)=1
SetUp6
{Label:6/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),3)=1
SetUp5
{Label:5/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),4)=1
SetUp4
{Label:4/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),5)=1
SetUp3
{Label:3/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),6)=1
SetUp2
{Label:2/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),7)=1
SetUp1
{Label:1/Font:8/Color:Magenta/Position:Below/Graphics:None}
Ref(Fml("TD-SetUp-Buy"),8)=1
CountDown1
{Label:1/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=2ANDRef(Fml("TDCountDownBuyA"),-1)<>2
CountDown2
{Label:2/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=3ANDRef(Fml("TDCountDownBuyA"),-1)<>3
CountDown3
{Label:3/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=4ANDRef(Fml("TDCountDownBuyA"),-1)<>4
CountDown4
{Label:4/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=5ANDRef(Fml("TDCountDownBuyA"),-1)<>5
CountDown5
{Label:5/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=6ANDRef(Fml("TDCountDownBuyA"),-1)<>6
CountDown6
{Label:6/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=7ANDRef(Fml("TDCountDownBuyA"),-1)<>7
CountDown7
{Label:7/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=8ANDRef(Fml("TDCountDownBuyA"),-1)<>8
CountDown8
{Label:8/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=9ANDRef(Fml("TDCountDownBuyA"),-1)<>9
CountDown9
{Label:9/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=10ANDRef(Fml("TDCountDownBuyA"),-1)<>10
CountDown10
{Label:10/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=11ANDRef(Fml("TDCountDownBuyA"),-1)<>11
CountDown11
{Label:11/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=12ANDRef(Fml("TDCountDownBuyA"),-1)<>12
CountDown12
{Label:12/Font:8/Color:Brown/Position:Below/Graphics:None}
Fml("TDCountDownBuyA")=13ANDRef(Fml("TDCountDownBuyA"),-1)<>13
CountDown13
{Label:BuyA/Font:9/Color:Green/Position:Below/Graphics:BuyArrow)
Fml("TDCountDownBuyA")=14ANDRef(Fml("TDCountDownBuyA"),-1)<>14
BuyB
{Label:BuyB/Font:9/Color:Green/Position:Below/Graphics:BuyArrow)
A:=If(Fml("TDCountDownBuyA")=14ANDRef(Fml("TDCountDownBuyA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownBuyB"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
BuyC
{Label:BuyC/Font:9/Color:Green/Position:Below/Graphics:BuyArrow)
A:=If(Fml("TDCountDownBuyA")=14ANDRef(Fml("TDCountDownBuyA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownBuyC"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
SellIndicators:
TD-SetUp-Sell
TD1:=If(C>Ref(C,-4),1,0);
TD2:=If(TD1=1ANDRef(TD1,-1)=1ANDRef(TD1,-2)=1ANDRef(TD1,-3)=1ANDRef(TD1,-4)=1AND
Ref(TD1,-5)=1ANDRef(TD1,-6)=1ANDRef(TD1,-7)=1ANDRef(TD1,-8)=1,1,0);
TD3:=If(Ref(C,-9)<=Ref(C,-13),1,0);
TD4:=If(TD2=1ANDTD3=1,1,0);
TD5:=If(L>=Ref(HHV(H,5),-3),1,0);
D8:=If(Ref(TD4,1)=1ANDTD5=1,1,0);
D9:=If(TD4=1ANDTD5=1ANDRef(D8,-1)<>1,1,0);
D10:=If(Ref(TD4,-1)=1ANDTD5=1ANDRef(D8,-2)<>1ANDRef(D9,-1)<>1,1,0);
D11:=If(Ref(TD4,-2)=1ANDTD5=1ANDRef(D8,-3)<>1ANDRef(D9,-2)<>1ANDRef(D10,-1)<>1,1,0);
D12:=If(Ref(TD4,-3)=1ANDTD5=1ANDRef(D8,-4)<>1ANDRef(D9,-3)<>1AND
Ref(D10,-2)<>1ANDRef(D11,-1)<>1,1,0);
D13:=If(Ref(TD4,-4)=1ANDTD5=1ANDRef(D8,-5)<>1ANDRef(D9,-4)<>1AND
Ref(D10,-3)<>1ANDRef(D11,-2)<>1ANDRef(D12,-1)<>1,1,0);
D14:=If(Ref(TD4,-5)=1ANDTD5=1ANDRef(D8,-6)<>1ANDRef(D9,-5)<>1AND
Ref(D10,-4)<>1ANDRef(D11,-3)<>1ANDRef(D12,-2)<>1ANDRef(D13,-1)<>1,1,0);
D15:=If(Ref(TD4,-6)=1ANDTD5=1ANDRef(D8,-7)<>1ANDRef(D9,-6)<>1AND
Ref(D10,-5)<>1ANDRef(D11,-4)<>1ANDRef(D12,-3)<>1AND
Ref(D13,-2)<>1ANDRef(D14,-1)<>1,1,0);
D16:=If(Ref(TD4,-7)=1ANDTD5=1ANDRef(D8,-8)<>1ANDRef(D9,-7)<>1AND
Ref(D10,-6)<>1ANDRef(D11,-5)<>1ANDRef(D12,-4)<>1ANDRef(D13,-3)<>1AND
Ref(D14,-2)<>1ANDRef(D15,-1)<>1,1,0);
D17:=If(Ref(TD4,-8)=1ANDTD5=1ANDRef(D8,-9)<>1ANDRef(D9,-8)<>1AND
Ref(D10,-7)<>1ANDRef(D11,-6)<>1ANDRef(D12,-5)<>1ANDRef(D13,-4)<>1AND
Ref(D14,-3)<>1ANDRef(D15,-2)<>1ANDRef(D16,-1)<>1,1,0);
SetUp:=D8+D9+D10+D11+D12+D13+D14+D15+D16+D17;
SetUp
TDCountDownSellA
Cum(If(C>Ref(C,-2),1,0))-ValueWhen(1,Ref(Fml("TD-SetUp-Sell"),1)=1,Cum(If(C>Ref(C,-2),1,0)))
TDCountDownSellB
If(Fml("TDCountDownSellA")>=14ANDC
TDCountDownSellC
If(Fml("TDCountDownSellA")>=14ANDC
SellExperts:
Type/ChangeinHighlights:
SellBearishSetup
{Color:Cyan}
Fml("TD-SetUp-Sell")=1OR
Ref(Fml("TD-SetUp-Sell"),1)=1OR
Ref(Fml("TD-SetUp-Sell"),2)=1OR
Ref(Fml("TD-SetUp-Sell"),3)=1OR
Ref(Fml("TD-SetUp-Sell"),4)=1OR
Ref(Fml("TD-SetUp-Sell"),5)=1OR
Ref(Fml("TD-SetUp-Sell"),6)=1OR
Ref(Fml("TD-SetUp-Sell"),7)=1OR
Ref(Fml("TD-SetUp-Sell"),8)=1
SellCountDown
{Color:Blue}
(Fml("TDCountDownSellA")=13
ANDRef(Fml("TDCountDownSellA"),-1)<>13)OR
(Fml("TDCountDownSellA")=12
ANDRef(Fml("TDCountDownSellA"),-1)<>12)OR
(Fml("TDCountDownSellA")=11
ANDRef(Fml("TDCountDownSellA"),-1)<>11)OR
(Fml("TDCountDownSellA")=10
ANDRef(Fml("TDCountDownSellA"),-1)<>10)OR
(Fml("TDCountDownSellA")=9
ANDRef(Fml("TDCountDownSellA"),-1)<>9)OR
(Fml("TDCountDownSellA")=8
ANDRef(Fml("TDCountDownSellA"),-1)<>8)OR
(Fml("TDCountDownSellA")=7
ANDRef(Fml("TDCountDownSellA"),-1)<>7)OR
(Fml("TDCountDownSellA")=6
ANDRef(Fml("TDCountDownSellA"),-1)<>6)OR
(Fml("TDCountDownSellA")=5
ANDRef(Fml("TDCountDownSellA"),-1)<>5)OR
(Fml("TDCountDownSellA")=4
ANDRef(Fml("TDCountDownSellA"),-1)<>4)OR
(Fml("TDCountDownSellA")=3
ANDRef(Fml("TDCountDownSellA"),-1)<>3)OR
(Fml("TDCountDownSellA")=2
ANDRef(Fml("TDCountDownSellA"),-1)<>2)
SellA
{Color:Green}
(Fml("TDCountDownSellA")=14
ANDRef(Fml("TDCountDownSellA"),-1)<>14)
SellB
{Color:Green}
A:=If(Fml("TDCountDownSellA")=14
ANDRef(Fml("TDCountDownSellA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownSellB"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
SellC
{Color:Green}
A:=If(Fml("TDCountDownSellA")=14
ANDRef(Fml("TDCountDownSellA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownSellC"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
Type/ChangeinSymbols:
SetUp9
{Label:9/Font:8/Color:Magenta/Position:Above/Graphics:None}
Fml("TD-SetUp-Sell")=1
SetUp8
{Label:8/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),1)=1
SetUp7
{Label:7/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),2)=1
SetUp6
{Label:6/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),3)=1
SetUp5
{Label:5/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),4)=1
SetUp4
{Label:4/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),5)=1
SetUp3
{Label:3/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),6)=1
SetUp2
{Label:2/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),7)=1
SetUp1
{Label:1/Font:8/Color:Magenta/Position:Above/Graphics:None}
Ref(Fml("TD-SetUp-Sell"),8)=1
CountDown1
{Label:1/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=2
ANDRef(Fml("TDCountDownSellA"),-1)<>2
CountDown2
{Label:2/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=3
ANDRef(Fml("TDCountDownSellA"),-1)<>3
CountDown3
{Label:3/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=4
ANDRef(Fml("TDCountDownSellA"),-1)<>4
CountDown4
{Label:4/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=5
ANDRef(Fml("TDCountDownSellA"),-1)<>5
CountDown5
{Label:5/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=6
ANDRef(Fml("TDCountDownSellA"),-1)<>6
CountDown6
{Label:6/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=7
ANDRef(Fml("TDCountDownSellA"),-1)<>7
CountDown7
{Label:7/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=8
ANDRef(Fml("TDCountDownSellA"),-1)<>8
CountDown8
{Label:8/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=9
ANDRef(Fml("TDCountDownSellA"),-1)<>9
CountDown9
{Label:9/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=10
ANDRef(Fml("TDCountDownSellA"),-1)<>10
CountDown10
{Label:10/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=11
ANDRef(Fml("TDCountDownSellA"),-1)<>11
CountDown11
{Label:11/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=12
ANDRef(Fml("TDCountDownSellA"),-1)<>12
CountDown12
{Label:12/Font:8/Color:Brown/Position:Above/Graphics:None}
Fml("TDCountDownSellA")=13
ANDRef(Fml("TDCountDownSellA"),-1)<>13
CountDown13
SellA
{Label:SellA/Font:9/Color:Red/Position:Above/Graphics:SellArrow}
Fml("TDCountDownSellA")=14
ANDRef(Fml("TDCountDownSellA"),-1)<>14
SellB
{Label:SellB/Font:9/Color:Red/Position:Above/Graphics:SellArrow}
A:=If(Fml("TDCountDownSellA")=14
ANDRef(Fml("TDCountDownSellA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownSellB"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
Fml("TDCountDownSellB")=1
SellC
{Label:SellC/Font:9/Color:Red/Position:Above/Graphics:SellArrow}
A:=If(Fml("TDCountDownSellA")=14
ANDRef(Fml("TDCountDownSellA"),-1)<>14,1,0);
B:=If(Ref(Fml("TDCountDownSellC"),-1)=1,1,0);
HighestSinceBars(1,A=1,A)
Jestjeszczemanual.
更多阅读
股票公式全解析:16 股票软件源码引入
股票公式全解析:[16]股票软件源码引入——简介我们上一篇文章主要说明了大智慧的源码引入的基本方法,大家在使用这个源码的时候一定要注意具体的设置,按照我的要求一步一步实现,源码的编写我会专门有一个介绍,现在我继续说明其他股票软件
绝对比美黑马赢家的黑马营通达信主图、双核及系列选股公式源码 宜兴环保黑马营
1、回马枪B公式源码:当日成本:=IF(C>REF(C,1),(3*H+4*C+3*OPEN+2*L)/12,(2*H+4*C+3*OPEN+3*L)/12);疯牛线:=EXPMEMA(当日成本,3);龙头线:=EXPMEMA(当日成本,8);慢牛线:=EXPMEMA(当日成本,25);生命线:=EXPMEMA(当日成本,79);牛熊线:=
动态百分比公式源码! 百分比计算公式
动态百分比公式源码!a1:=hhv(h,256);a2:=llv(l,256);m1:ma(c,64);m2:ma(c,256);k1:(0.618*a1+0.382*a2);k2:(0.5*a1+0.5*a2);k3:(0.382*a1+0.618*a2);说明:一 代码说明
通达信狄马克副图指标 通达信龙虎榜副图指标
通达信狄马克副图指标源码如下:通达信狄马克副图指标TD-DMKIN(13,1,100);DMH:=SUM(IF(H>REF(H,1),H-REF(H,1),0),N);DML:=SUM(IF(L>REF(L,1),0,REF(L,1)-L),N);
德马克指标之TD序列 德马克td组合指标公式
德马克指标之TD序列 对技术分析了解不算多,如果有理解错误敬请指出。在技术分析中,常见的指标有一类是趋势指标,还有一类是震荡指标。趋势指标,常能够帮助我们追踪趋势发展,获取最大利润。震荡指标,帮助我们发现震荡走势的高低点,从而获取