到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [問題]請問有新三價線?
總頁數 (2): « 1 [2]   上一主題   下一主題
作者
主題 發表新主題    回覆主題
labrador
初級會員

註冊日期: Mar 2005
來  自:
文章數量: 18

TradeStation 的新三價線源碼

這是TradeStaton的新三價線源碼,如果有懂EasyLanguage的朋友請幫忙把它轉成奇狐的語法,感激不盡!!

http://www.working-money.com/Docume...radersTips.html

TRADESTATION EASYLANGUAGE: Three-Line Break Chart
The 2001 Bonus Issue of STOCKS & COMMODITIES contained an article titled "Three-Line Break Reversal Signals." No EasyLanguage code was included with the article, and TradeStation doesn't provide an option to create a three-line break chart. Thus, I'd like to share the following EasyLanguage code for a PaintBar study that simulates a three-line break chart.
But first, let me provide a refresher on three-line break charts. To draw line break blocks, today's close is compared to the high and low of the previous block. A block is drawn only when today's close exceeds the high or low of the previous block. If today's close is higher than the top of the previous block, a new up block is drawn in the next column from the prior high to the new high price (today's close). If today's close is lower than the bottom of the previous block, a new down block is drawn in the next column from the prior low to the new low price (today's close). If the close fails to move outside the range of the previous block's high or low, then nothing is drawn.

In a three-line break chart, if rallies are strong enough to display three consecutive blocks in the same direction, then prices must reverse by the extreme price of the last three blocks in order to create a new block.

If a rally is powerful enough to form three consecutive up blocks, then prices must fall below the lowest point of the last three up blocks before a new down block is drawn. If a selloff is powerful enough to form three consecutive down blocks, then prices must rise above the highest point of the last three down blocks before a new up block is drawn.

I have written this PaintBar study in which up block colors rotate between white and yellow, and down block colors rotate between red and magenta. Each time the rules call for a new block to be drawn, the PaintBar colors change, indicating the new block. The chart is best viewed when setting the bar type to "line on close."

Variables: FUBarHigh(0), FUBarLow(0), SUBarHigh(0), SUBarLow(0),
TUBarHigh(0), TUBarLow(0), FLBarHigh(0), FLBarLow(0), SLBarHigh(0),
SLBarLow(0), TLBarHigh(0), TLBarLow(0), UpCount(0), DownCount(0),
UpNew(0), DnNew(0), UpRev(0), DnRev(0), PlotHigh(0), PlotLow(0),
Color(0);
If Close > UpNew Then Begin
If DownCount < 3 Then Begin
If UpCount = 0 Then Begin
UpCount = UpCount + 1;
DownCount = 0;
FUBarHigh = Close;
FUBarLow = UpNew;
SUBarHigh = 0;
SUBarLow = 0;
TUBarHigh = 0;
TUBarLow = 0;
FLBarHigh = 0;
FLBarLow = 0;
SLBarHigh = 0;
SLBarLow = 0;
TLBarHigh = 0;
TLBarLow = 0;
UpNew = FUBarHigh;
DnNew = FUBarLow;
PlotHigh = FUBarHigh;
PlotLow = FUBarLow;
Color = 7;
End;
If UpCount = 1 Then
If Close > UpNew Then Begin
UpCount = UpCount + 1;
SUBarHigh = Close;
SUBarLow = FUBarHigh;
UpNew = SUBarHigh;
DnNew = SUBarLow;
PlotHigh = SUBarHigh;
PlotLow = SUBarLow;
Color = 8;
End;
If UpCount = 2 Then
If Close > UpNew Then Begin
UpCount = UpCount + 1;
TUBarHigh = Close;
TUBarLow = SUBarHigh;
UpNew = TUBarHigh;
DnNew = TUBarLow;
PlotHigh = TUBarHigh;
PlotLow = TUBarLow;
Color = 7;
End;
If UpCount = 3 Then
If Close > UpNew Then Begin
FUBarHigh = SUBarHigh;
FUBarLow = SUBarLow;
SUBarHigh = TUBarHigh;
SUBarLow = TUBarLow;
TUBarHigh = Close;
TUBarLow = SUBarHigh;
UpNew = TUBarHigh;
DnNew = TUBarLow;
PlotHigh = TUBarHigh;
PlotLow = TUBarLow;
If Color = 7 Then
Color = 8
Else
Color = 7;
End;
End;
If DownCount = 3 Then Begin
UpRev = FLBarHigh;
If Close > UpRev Then Begin
UpCount = UpCount + 1;
DownCount = 0;
FUBarHigh = Close;
FUBarLow = TLBarHigh;
SUBarHigh = 0;
SUBarLow = 0;
TUBarHigh = 0;
TUBarLow = 0;
FLBarHigh = 0;
FLBarLow = 0;
SLBarHigh = 0;
SLBarLow = 0;
TLBarHigh = 0;
TLBarLow = 0;
UpNew = FUBarHigh;
DnNew = FUBarLow;
PlotHigh = FUBarHigh;
PlotLow = FUBarLow;
Color = 7;
End;
End;
End;
If Close < DnNew Then Begin
If UpCount < 3 Then Begin
If DownCount = 0 Then Begin
DownCount = DownCount + 1;
UpCount = 0;
FLBarHigh = DnNew;
FLBarLow = Close;
SLBarHigh = 0;
SLBarLow = 0;
TLBarHigh = 0;
TLBarLow = 0;
FUBarHigh = 0;
FUBarLow = 0;
SUBarHigh = 0;
SUBarLow = 0;
TUBarHigh = 0;
TUBarLow = 0;
UpNew = FLBarHigh;
DnNew = FLBarLow;
PlotHigh = FLBarHigh;
PlotLow = FLBarLow;
Color = 6;
End;
If DownCount = 1 Then
If Close < DnNew Then Begin
DownCount = DownCount + 1;
SLBarHigh = FLBarLow;
SLBarLow = Close;
UpNew = SLBarHigh;
DnNew = SLBarLow;
PlotHigh = SLBarHigh;
PlotLow = SLbarLow;
Color = 5;
End;
If DownCount = 2 Then
If Close < DnNew Then Begin
DownCount = DownCount + 1;
TLBarHigh = SLBarLow;
TLBarLow = Close;
UpNew = TLBarHigh;
DnNew = TLBarLow;
PlotHigh = TLBarHigh;
PlotLow = TLBarLow;
Color = 6;
End;
If DownCount = 3 Then
If Close < DnNew Then Begin
FLBarHigh = SLBarHigh;
FLBarLow = SLBarLow;
SLBarHigh = TLBarHigh;
SLBarLow = TLBarLow;
TLBarHigh = SLBarLow;
TLBarLow = Close;
UpNew = TLBarHigh;
DnNew = TLBarLow;
PlotHigh = TLBarHigh;
PlotLow = TLBarLow;
If Color = 6 Then
Color = 5
Else
Color = 6;
End;
End;
If UpCount = 3 Then Begin
DnRev = FUBarLow;
If Close < DnRev Then Begin
DownCount = DownCount + 1;
UpCount = 0;
FLBarHigh = TUBarLow;
FLBarLow = Close;
SLBarHigh = 0;
SLBarLow = 0;
TLBarHigh = 0;
TLBarLow = 0;
FUBarHigh = 0;
FUBarLow = 0;
SUBarHigh = 0;
SUBarLow = 0;
TUBarHigh = 0;
TUBarLow = 0;
UpNew = FLBarHigh;
DnNew = FLBarLow;
PlotHigh = FLBarHigh;
PlotLow = FLBarLow;
Color = 6;
End;
End;
End; Plot1(PlotHigh,"High Bar",Color);
Plot2(PlotLow,"Low Bar",Color);
--John M. Snyder

向版主報告此篇 | 查IP位址
Old Post 2005-04-02 11:41
labrador 現在離線 點選這裡查看 labrador 的個人資料 查找更多關於 labrador 的文章 增加 labrador 至你的好友列表 編輯/刪除訊息 引用回覆
peter109
資深會員

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

手中有的供您參考

參考
http://www.moneydj.com/z/glossary/glexp_4717.asp.htm
您可以更清楚有關定義
似乎...

{寶塔三平頂底}

close2:=c;h2:=h;l2:=l;o2:=o;
ma1:ma(c,5),colorff00ff;
ma2:ma(c,10),color00ff00;
ma3:ma(c,30),colorffff00;
B1:=REF(close2,1);B2:=REF(close2,2);
SS:=IF(close2>REF(close2,1) AND REF(close2,1)>=REF(close2,2),1,IF(C<REF(close2,1) AND REF(close2,1)<=REF(close2,2),-1,IF(close2>REF(close2,2) AND REF(close2,2)>REF(close2,1),2,IF(close2<REF(close2,2) AND REF(close2,2)<REF(close2,1),-2,0))));
SM:=IF(REF(SS,1)<>0,REF(SS,1),IF(REF(SS,2)<>0,REF(SS,2),IF(REF(SS,3)<>0,REF(SS,3),IF(REF(SS,5)<>0,REF(SS,5),IF(REF(SS,6)<>0,REF(SS,6),IF(REF(SS,7)<>0,REF(SS,7),0))))));
mc:IF(REF(SS,1)<>0,B2,IF(SM>0,MIN(B1,B2),MAX(B1,B2))),COLOR000000;
STICKLINE(SS=1 OR SM>=1 AND SS=0,B1,close2,6,0),COLOR0000ff;
STICKLINE(SS=-1 OR SM<=-1 AND SS=0,B1,close2,6,0),COLOR00FF00;
STICKLINE(SS=2,B2,C,6,0),COLORRED;
STICKLINE(SS=-2,B2,C,6,0),COLOR00FF00;
STICKLINE((SS=-1 OR SS=-2) AND SM>0,B2,B1,6,0),COLORRED;
STICKLINE((SS=1 OR SS=2) AND SM<0,B2,B1,6,0),COLOR00FF00;
aa:=Close > Ref(Close, 1) and Ref(Close, 1) > Ref(Close, 2) and Ref(Close, 1) < Ref(Close, 3) and If(Ref(Close, 3) < Ref(Close, 4), 1, If(Ref(Close, 4) < Ref(Close, 5),Ref(Close, 1) < Ref(Close, 4) or( Ref(Close, 2) < Ref(Close, 4) and Ref(Close, 3) >= Ref(Close, 5) ),If(Ref(Close, 5) < Ref(Close, 6), 1,Ref(Close, 6) < Ref(Close, 7))));
bb:=Close < Ref(Close, 1) and Ref(Close, 1) < Ref(Close, 2) and Ref(Close, 1) > Ref(Close, 3) and If(Ref(Close, 3) > Ref(Close, 4), 1, If(Ref(Close, 4) > Ref(Close, 5),Ref(Close, 1) > Ref(Close, 4) or( Ref(Close, 2) > Ref(Close, 4) and Ref(Close, 3) <= Ref(Close, 5) ),If(Ref(Close, 5) > Ref(Close, 6), 1,Ref(Close, 6) > Ref(Close, 7))));
drawicon(aa and close>ref(open,2),low,1);
drawicon(bb and close<ref(close,2),high*1.01,2);
drawtext(aa and close>ref(open,2),low*0.995,'三平底翻紅'),color00ffff;
drawtext(bb and close<ref(close,2),high*1.015,'三平頂翻綠'),color00ff00;

最後由 peter109 在 2005-04-02 13:01 編輯 向版主報告此篇 | 查IP位址
Old Post 2005-04-02 12:39
peter109 現在離線 點選這裡查看 peter109 的個人資料 點選這裡給 peter109 傳送一條短訊 查找更多關於 peter109 的文章 增加 peter109 至你的好友列表 編輯/刪除訊息 引用回覆
labrador
初級會員

註冊日期: Mar 2005
來  自:
文章數量: 18

謝謝PETER109的回覆。寶塔線和新三價線不一樣,小弟有興趣的是把新三價線加到交易系統中。目前網路上流傳的奇狐新三價線公式大致上是對的,但如果同向新三價線小於三根時就有可能出錯。可惜小弟只能找出問題,功力太淺,無法修正。另外,您提供的網址上面的說明稍嫌簡略,它沒有說明同向線型少於三根時反向的條件。我簡單說明如下,若同向線型只有一根時,就是取新一價線,若同向線型有二根時,就取新二價線,同向有三根以上時(含三根),才是新三價線。前面JOANNE和P0068所提供的公式是最廣為流傳的新三價線公式(謝謝),但看2357華碩20050315~0325可知公式是有問題的,在3/25新三價線應翻紅,但依公式畫出來的圖沒有。小弟相信新三價線有它的價值,所以希望能依照正確的公式來測試並建構交易系統,謝謝。

向版主報告此篇 | 查IP位址
Old Post 2005-04-03 00:27
labrador 現在離線 點選這裡查看 labrador 的個人資料 查找更多關於 labrador 的文章 增加 labrador 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為01:49 發表新主題    回覆主題
總頁數 (2): « 1 [2]   上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們