COCO研究院

 找回密碼
 註冊
搜索
查看: 6612|回復: 2

請教: day open-hi-lo lines指標

[複製鏈接]
發表於 11-10-18 13:52 | 顯示全部樓層 |閱讀模式
這個指標是mc 自帶的, 會把當天的open, high, low 晝一條水平線出來, 看coding 時有些看不太懂, 有沒有高人可解釋一下呢?

問題1:
var1 = TL_New( Date[1], Time[1], var4, Date, Time, var4 ) ;
既然TL_New 已經定義了趨勢線的起點和終點, 那為什麼還有下面這3個呢 :
TL_SetEnd( var1, Date[1], Time[1], var4 ) ;
TL_SetExtLeft( var1, false ) ;
TL_SetExtRight( var1, true ) ;

問題2:  if Time <> var7 then
   begin
   var8 = var7 ;
   var7 = Time ;
   end ;
這段看來是要把var7 keep 在"現在"(Time), 但有什麼用呢

問題3:
   TL_SetEnd( var3, Date, Time, var6 ) ;
   TL_SetBegin( var3, Date[1], var8, var6 ) ;
End 的位置應該是今天吧? 那趨勢線不是會由昨天晝至今天嗎? 但為主又只會見到晝至昨天收市而沒有bug 呢

不好意思有點煩, 但我自己看的懂也不會想煩人了, 請指教
原始碼如下:
====================================================
inputs:
OpenColor( Red ),
HighColor( Yellow ),
LowColor( Cyan ),
DataNum( 1 ) ;
variables:
var0( false ),
var1( 0 ),
var2( 0 ),
var3( 0 ),
var4( 0 ),
var5( 0 ),
var6( 0 ),
intrabarpersist var7( 0 ),
intrabarpersist var8( 0 ) ;
if BarType <= 1 then               //confirm intraday bar               
begin
condition1 = Date <> Date[1] and BarStatus( DataNum ) = 2 ;
if condition1 then                  
  begin
                                               
  if var0 then
   begin
   TL_SetEnd( var1, Date[1], Time[1], var4 ) ;  //TL_SetEnd 設置指定趨勢線的終點
   TL_SetEnd( var2, Date[1], Time[1], var5 ) ;
   TL_SetEnd( var3, Date[1], Time[1], var6 ) ;
   TL_SetExtRight( var1, false ) ;  //TL_SetExtRight 設置指定趨勢線是否向右延伸
   TL_SetExtRight( var2, false ) ;
   TL_SetExtRight( var3, false ) ;
   end ;
                                         
  var4 = Open ;
  var5 = High ;
  var6 = Low ;
  var7 = Time ;
  var8 = Time[1] ;
                                                            
  var1 = TL_New( Date[1], Time[1], var4, Date, Time, var4 ) ;  //TL_New (sDate, sTime, sPriceValue, eDate, eTime, ePriceValue)
  var2 = TL_New( Date[1], Time[1], var5, Date, Time, var5 ) ;
  var3 = TL_New( Date[1], Time[1], var6, Date, Time, var6 ) ;
  TL_SetColor( var1, OpenColor ) ;
  TL_SetColor( var2, HighColor ) ;
  TL_SetColor( var3, LowColor ) ;
  TL_SetExtLeft( var1, false ) ;
  TL_SetExtLeft( var2, false ) ;
  TL_SetExtLeft( var3,false ) ;
  TL_SetExtRight( var1, true ) ;
  TL_SetExtRight( var2, true ) ;
  TL_SetExtRight( var3, true ) ;
              
  if var0 = false then
   var0 = true ;
  end
else if var0 = true then
                                                               
  begin
   
  if Time <> var7 then
   begin
   var8 = var7 ;
   var7 = Time ;
   end ;
  if High > var5 then
   begin
   var5 = High ;
                                                                           
                                                                        
                                                                           
                                                   
   TL_SetEnd( var2, Date, Time, var5 ) ;
   TL_SetBegin( var2, Date[1], var8, var5 ) ;
   end ;
  if Low < var6 then
   begin
   var6 = Low ;
                                                                       
            
   TL_SetEnd( var3, Date, Time, var6 ) ;
   TL_SetBegin( var3, Date[1], var8, var6 ) ;
   end ;
  end ;
end
else
RaiseRunTimeError( "Day Open-Hi-Lo Lines requires intraday bars." ) ;
發表於 11-10-18 15:14 | 顯示全部樓層
問題1:
var1 = TL_New( Date[1], Time[1], var4, Date, Time, var4 ) ;
既然TL_New 已經定義了趨勢線的起點和終點, 那為什麼還有下面這3個呢 :
TL_SetEnd( var1, Date[1], Time[1], var4 ) ;
TL_SetExtLeft( var1, false ) ;
TL_SetExtRight( var1, true ) ;
<==簡單說,TL已經new了,但後面若要更改它的結束位置就是用TL_SetEnd;而TL_SetExtLeft及TL_SetExtRight就是設定
趨勢線是否向左右延伸出去..

問題2:  if Time <> var7 then
   begin
   var8 = var7 ;
   var7 = Time ;
   end ;

<==這段看來是要把var7 keep 在"現在"(Time), 但有什麼用呢
用在後面有一段if Time <> var7 then是在比較現在時間是否不等於現在時間時,把現在時間給var7把前一個符合條件的時間給var8

問題3:
   TL_SetEnd( var3, Date, Time, var6 ) ;
   TL_SetBegin( var3, Date[1], var8, var6 ) ;
End 的位置應該是今天吧? 那趨勢線不是會由昨天晝至今天嗎? 但為主又只會見到晝至昨天收市而沒有bug 呢
<==在前面condition1 = Date <> Date[1]這段裡就有重設相關變數的數值!
所以不會劃到昨天去喔...XD
 樓主| 發表於 11-10-18 15:28 | 顯示全部樓層
大大, 謝謝你, 你太強了
那如果不想改變tl_new, 就不用後面那些TL_SetEnd,TL_SetExtLeft,TL_SetExtRight 了?

唉, 看的懂也這麼困難, 何時才懂修改和寫指標呀
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-23 05:01

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |