hts語法資料-Function

James

之前在網路上有找到一些hts的語法資料

寫程式基本上手上都需要程式與法的資料當成工具書一樣

但是日盛的hts沒有提供這些資料



還要自己想辦法找

所以在這分享我找到的一些資料給大家

這份資料看來應該是韓國的文件翻譯過來的

所以版權歸屬原有版權所有者

如果我po上這些資料有侵犯到您的權益

請告知

謝 謝

p.s.:因為資料有些多 ,所以我會分階段放上來

來瞜

下面就是摟

=========================================================================

HTS 說明手冊

<1>Dictionary
1.Function

(1) Alert
是把所貼在分析工具中的情報加以活性化所形成的系統函數,在Power Editor中,使用者符合某種條件時,或者想接受情報的時來使用。

如果10日的移動平均向上突破20日的移動平均時,想接受情報的話
If MA(Close,10) CrossOver MA(Close, 20) Then
Alert ("向上突破")         
End If

以增加像上述敘述可傳送或者表示情報.



情報訊息會以Pop-Up或者以顯示窗的方式來傳達訊息。

Power Editorcoding的範例

用作成的script來判斷Pop-Up的情況


AlertEnabled

現在下面的圖表中所表示的警報若確認的話,AlerEnabledTrue來傳送,否則用False來傳送。

確認警報表示時AlertEnabled持有True的價格。

還有在script或文章內的下圖中所顯示的確認表示”,是可以變更的系統函數。


SetAlert

True的方式輸入SeaAler,在分析的工具中即使沒有確認表示,就算確認. 但輸入False方式是把確認表示做刪掉的功能。
AlertEnabled不同的是輸入SetAlert的價格的. AlertEnabled現在的狀態就會以True/False方式來傳送。


(2)Chart_Attribute

ENV_GetBkColor

設定圖形的背景色。
範例:
Value1 = ENV_GetBkColor
取得螢幕的背景色。



(3)Condition_Control

數學演算符號 意義
*    乘法
/    除法
+    加法
-    減法

這單字以真/假用來表示指標等有關真/假不然就是用$來傳送價格。
注意:勿進入函數本身,只能執行用真/假來表現文章或價值,指標和算數的表現不能被使用。
範例:
If !A Then
!’ 接受顯表現真假的A價格如果!ATrue的話就執行另一個文件指令,不是的話就移動到Else的文件或者就退出If(條件)指令。
If ! (Close > Open) Then
透過Close > Open 是假的! 如果If文章是True的話那麼就執行If(條件)指令否則在Else之後的文章或退出If(條件)指令


!=
這單字使用在2個不同價值時
注意:
“!=”和“<>”是相同意義。
範例:
If Close[Length] != 0 Then
Close[Length] Length日前Close 不是0的話這樣的意義用否定來表現用“!=”的方式被使用


NumberDivisor來求取除法剩下的部份結果和Divisor具備相同的符號。
格式:Number % Divisor
Number:要取得剩下的部份的數字
   Divisor:除時用的數字.
注意:Divisor不能使用0。
INT函數的方式可以表示(N%D)NDINT(ND)
是和數學函數MOD同意語。
範例:
Variables : A(0)
A = 3 % 2
會回覆1。

Variables : A(0)
A = -3%2
符號和Divisor一樣,會回覆1。

Variables : A(0)
A = 3%-2
回覆-1

Variables : A(0)
A = -3%-2
回覆-1




%=
是用DivisorNumber取得剩下的部份,結果和Divisor具有一樣的符號。
格式:Number %= Divisor
這個和NumberNumber %Divisor持有同樣的結果
範例:
Variables : A(0)
A = 3
A %= 2
回覆1。

Variables : A(0)
A = -3
A %= 2
A值符號和Divisor是相同的,回覆1。

Variables : A(0)
A = 3
A %= -2
回覆-1

Variables : A(0)
A = -3
A %= -2
回覆-1



&&
這個論理演算者為了查詢多樣的條件,去調查而使用的條件指令。
注意:“&&”需要所有的條件是True的制約,和“And”相同。
範例:
If Draw1 Crosses Above Draw2 && Draw2 > 5 Then
&&”這在Draw1Draw2互相交叉且上升, Draw25大時在2個條件中使用表現出全部事實的情況,要做什麼。如果2個的概意條件中即使有一個是假的話條件指令的價格會回覆假值(False) If Value1 Crosses Above Value2 && Value1 > Value1[1] Then
&&這在Value1Value2互相交叉且上升Value1 Value1 之前的價格 大時,使用表現出全部事實的情況要做什麼”。
如果在2個條件之中即使有假的話條件指令會回覆假值(False)


*=
NumberMultiplier方式相乘所求取的結果。
格式:Number *= Multiplier
這就是與NumberNumber * Multiplier具有相同的結果。
範例
Variables : A(0)
A = 3
A *= 2
回覆6。

Variables : A(0)
A = -3
A *= 2
回覆-6。

Variables : A(0)
A = 3
A *= -2
回覆-6。

Variables : A(0)
A = -3
A *= -2
回覆6。




/=
求取Number Divisor除法的結果。
格式: Number /= Divisor
這是和Number =Number / Divisor具有相同的結果。
範例:
Variables : A(0)
A = 4
A /= 2
回覆2。

Variables : A(0)
A = -4
A /= 2
回覆-2。

Variables : A(0)
A = 4
A /= -2
回覆-2。

Variables : A(0)
A = -4
A /= -2
回覆2。




||
這個條件的演算者使用多種的條件來區分。
注意:
Or”需要各種條件中一項以上的真條件且如果在各種條件中有一項是真的話就回覆真值。
範例:
If Draw1 Crosses Above Draw2 Or Draw2 > 5 Then
Draw1 Draw2上面或者Draw25大的情況
Or2個條件中有一個是True的話意思就是包含就回覆 True的價格。

If Value1 Crosses Above Value2 Or Value1 > Value1[1] Then
Value1向上突破到Value2或是Value1Value1之前的價格指較大的情況下如果2個當中有一個是真的話就回覆值。




+=
Number方式來取得回覆相加的結果
格式:Result+=Number
這個與Result =Result + Number具有相同的結果。
範例:
Variables : A(0)
A = 3
A += 2

Variables : A(0)
A = -3
A += 2
回覆-1




比較演算者左邊的價格是否比起右邊的價格要小(Less than)
範例:
Num = 3
Count = 5
If  Num < Count Then
Num = Num + 1
End If

在上面的範例中“<”演算者左邊的Num的價格是3,右邊的價格是5時左邊的價格比右邊的價格小這樣的結果是真的(TRUE)接著如果條件指令是 ‘Num = Num + 1’可以執行文章。
Num的價格在3的那結果時增加1的價格會成為4


<=
比較演算者,比較左邊的價格是否比右邊價格小或相同(Less than or equal)
範例:
Num = 5
Count = 5
If  Num <= Count Then
Num = Num + 1
End If

在上面的範例中“<”演算字左邊的Num價格是5。 右邊的價格是5的時候,右邊的價格也是5時,左邊的價格和右邊的價格是一樣的結果時為(TRUE),如果條件是“Num = Num + 1”的文章就去執行。
Num的價格在5的那結果時增加1的價格會成為6


<> 
這單語使用在不同的兩個價格
範例
If Close[Length] <> 0 Then

Close[Length]若不是Length日前Price 0的話,表示否定以‘<>’來被使用


> 
比較演算者
比較左邊的價格是否比右邊的價格大 (Greater than)
範例
Num = 3
Count = 5
If  Num > Count Then
    Num = Num + 1
End If

上面的範例中‘>’演算者右邊的Num價格為3,右邊的價格是5,左邊的價格比右邊的價格小所以那結果成為假的(FALSE) 因此無法執行條件指令‘Num = Num + 1’的文章
那結果Num的價格可以維持為3的價格


>=
比較演算者
左邊的價格右邊的價格是一樣或者 (Greater than equal)
範例
Num = 5
Count = 5
If  Num >= Count Then
    Num = Num + 1
End If

在上面的範例中“>”演算字左邊的Num價格是5。 右邊的價格是5的時候,右邊的價格也是5時,左邊的價格和右邊的價格是一樣的結果時為真(TRUE),因此就去執行條件指令“Num = Num + 1”的文章。
所以那結果Num的價格在5中增加了1的價格會成為6



Above

這單語確認使用在價格之間的交叉方向

注意
crosses(還是cross)一起結合使用,所表現的意思是某種價值及某種數字以上做交叉或者具有比其他某種價格更逐漸增大’’的意思
假設Value1 crosses above Value2的話, 在目前來看是Value1 Value2大的意思 ,但是在以前的棒中是Value1 Value2小或一樣的意思
AboveOver是同意語.

範例
If Draw1 Crosses Above Draw2 Then

Above在這裡用來表示使用Draw1交叉於Draw2的價格相關方向的意思
If Value1 Crosses Above Value2 Then
Above這裡用來表示Value1Value2的變數群價格以交叉的方向來使用的意思


And

這個理論演算者為了調查及查詢多樣的條件指令在條件指令中被使用

注意
And 需要所有的條件是True 的制約

範例
If Draw1 Crosses Above Draw2 And Draw2 > 5 Then

And’在這裡Draw1交叉Draw2上升及Draw25大的2個條件都是事實的情況並顯示要執行什麼?”,如果2個條件中即使有一個是假的話,條件指令的價值變換為假(False)  
If Value1 Crosses Above Value2 And Value1 > Value1[1] Then

And’在這裡Value1交叉Value2上升及 Value1Value1以前的bar大的2個條件都是事實的情況下使用要執行什麼的表現,如果2個條件中即使有一個是假的話,條件指令的價值變換為假(False)



Below

這單語用在確認價格之間的相關交叉方向

注意
crosses(還是cross)一起結合使用,所表現的意思是某種價值及某種數字以下做交叉或者具有比其他某種價格逐漸減小’’的意思
Value1crosses below 執行Value2 的話, 在目前來看是Value1 Value2小的意思 ,但是在以前的棒中是Value1 Value2大或一樣的意思
below Under below 是同意語

範例
If Draw1 Crosses below Draw2 Then
Below這裡用來表示Draw1Draw2的相關價格交叉的方向的意思

If Value1 Crosses below Value2 Then
Below這裡用來表示Value1Value2的變數群價格以交叉方向的意思


Continue

演算者反覆Loop的期間,碰到演算者的話, 之後作業執行並且移Loop最初位置並進行指令

範例
Variables: Count(0), I(0)
Count = 0
For I = 1 To 10
If ( I % 2 = 1 ) Then
Continue
End If
Count += I
End For

在上面的範例中I的價格從110為止增加10個單位,但是若遇到條件是I % 2 = 1的話, 即是I的價格是奇數也會執行Continue(繼續)指令.這時不執行Count += I的價格就執行Loop.再次地說,I的價格是1時以繼續指令來移動到制定For I = 1 To 10的位置方式, I的價格具有從1增加到2的價格.亦是雖遇到IF指令但是在這次中I的價格是偶數就離開If指令去執行Count += I的條件指令

在上面的範例中的結果從110為止求取所持有偶數的合


Cross

這個單語使用在對照兩個價格群的相叉狀態

注意
Cross’通常和‘Above, Below, Over, 還有 Under 一起來使用
Cross’和‘Crosses’是相同的意義

範例
If Draw1 does Cross Above Draw2 Then
‘Cross確定Draw1 Draw2的價格向上交叉的指令

If Value1 does Cross Above Value2 Or Value1 does Cross Below Value2 Then
Cross是確定Value1向上交叉或者向下交叉情況的指令


Crosses

這個單語使用在對照兩個價格群的相叉狀態

注意
Cross’通常和‘Above, Below, Over, 還有 Under 一起來使用
 Cross’和‘Crosses’是相同的意義

範例
If Draw1 does Crosses Above Draw2 Then
‘Crosses 是確定Draw1價格向上交叉 Draw2價格的指令

If Value1 does Crosses Above Value2 Or Value1 does Cross Below Value2 Then
Cross是確定Value1向上交叉或者是向下交叉的指令


Do

執行Do ~ Loop反覆格式.
Do必定要和Loop指令一起來完成

[格式]
先條件處理格式的使用和下一個相同

Do [{While | Until} 條件]
      [指令]
   [Exit Do]
    [指令]
Loop

後條件處理格式的使用和下一個相同

Do
      [指令]
   [Exit Do]
      [指令]
Loop [{While | Until} 條件]

所謂先條件執行是先處理條件的檢查及實行結果是真的話,是執行Loop的指令. 所謂後條件處理最少執行一次Loop指令及檢查條件是決定Loop的反覆

範例1
X = 0
Num = 0
Do Until X < 10
X = X + 1
Num = Num + X
Loop

先條件處理指令,X的價格比10小的話,反覆Loop並執行Loop指令.X價格變化最初從0開始1, 2,3, 4, 5, 6, 7, 8, 9為止沒有任何的問題來增加. X9時滿足DoUntil條件就進入到Loop 執行X = X + 1的指令, X的價格為10,再次會遇到Loop條件時,因為X沒有比10小就退出Loop.結果Num的價格具有從110的合


X = 0 
Num = 0
Do
X = X + 1
Num = Num + X
Loop Until X < 10

後條件處理指令,X的價格變化從0開始進行1 , 2, 3, 4, 5, 6, 7, 8, 9為止,X9,滿足LoopUntil條件就進入到Loop 執行X = X + 1的指令, X的價格為10時執行Num = Num + X指令.最後Loop指令的Until指令中因為X的價格沒有比10小就退出Loop.結果Num的價格具有從110的合.

範例中1Num最終價格變為從1開始到9為止增加的價格,範例2Num的最終價格變為從1開始10為止增加的價格


Else

這個單語所接受假的價格時,使用在某種條件下來執行一連串的編碼

注意
Else通常只有在 ifthen 指令中使用

範例
If Condition1 Then
使用者輸入
Else
使用者輸入



End if

Else’在這裡中 Condition1是假的情況,在執行其他指令的意思

If Condition1 And Condition2 Then
使用者輸入1
使用者輸入2
End If
Else
使用者輸入3
使用者輸入 4
End if

Else’在這裡中Condition1Condition2以假的來變換時, 使用執行其他的指令的意思,執行使用者輸入3和使用者輸入4

ElseIf
這個單語所接受假的價格時,使用在某種條件下來執行一連串的編碼

注意
 ElseIf通常只有使用在if…… then的條件中, Else if 後面通常有條件指令




範例
If Condition1 Then
使用者輸入
Elseif Condition2 Then
使用者輸入
End if
ElseIf’在這裡中Condition1是假的情況,使用在指定的條件下執行其他的指令的意思

If Condition1 And Condition2 Then
        使用者輸入1
        使用者輸入2
End
Elseif Condition3 Then
                    使用者輸入3
                    使用者輸入4
End if
   Else’在這裡中Condition1Condition2以假的來變換時,Condition3的條件下被使用去執行其他的指令,執行使用者輸入3和輸入4

End For

For loop指令完成時所使用的格式.

注意
 為了執行以‘For’來表現的條件,所以一定需要End For條件.

範例
For Value5 = Length To Length + 10 
        使用者格式
End For

Variables: Sum(0), Counter(0)
Sum = 0
For Counter = 0 To Length - 1 Begin
         Sum = Sum + Price[Counter]
End For


End If

If’指令在完成時所使用的格式

注意
  為了執行以‘If’來表現的條件,所以一定要‘End If’條件.

範例
If Condition1 Then
       使用者輸入
End if

If Condition1 And Condition2 Then
        使用者輸入1
        使用者輸入2
End If

Exit Do

Do While 等格式中即使沒有結束Loop的條件也以強制性來執行結束


Exit For

For ~~ End For等格式中即使沒有結束Loop的條件也以強制性來執行結束

範例
Num = 0
For I = 1 TO 10
    If  I = 3 Then
        Exit For
    End If
    Num = Num + I
End If
在上面的範例中I的價格是3的話Loop以強制性的方式結束,執行End If之後的條件.即是Num的價格是12相加為3的價格


False

這單語在輸入的價格或者不是真的狀態時被使用

注意
False’使用輸入True/False的價格.
False’表示像1<0一般不是真的或是沒有效的狀態

範例
Input:Test(False)
 ”Test’中所輸入False的價格假的.

If 50 > 100 Then
50 > 100 的話’在文章中這個價格因為是False所以無法執行下一個條件

For

 For loop條件以反覆的文句或是以CODE編制的文句來反覆特定的次數

注意
為了執行以’For’來表現的條件一定要有‘End For’的條件.For’以多樣的名字(舉例:120為止反覆做的話會產生出20個參數)反覆指定範圍的條件指令

For Value5 = Length To Length + 10 
         使用者格式
End For
For以潛在性從length開始到Length+10為止計算11.

Variables: Sum(0), Counter(0)
Sum = 0
For Counter = 0 To Length - 1
            Sum = Sum + Price[Counter]
End For
 For’在這條件中從0開始於Length減去1為止稱為Sum的參數,在此參數進行累積價格的格式.


If

這單語為了決定增加Code的執行而使用條件指令

注意
If’通常使用if .. then還是if .. then Else..的格式

為了使用IfThenElse的格式而需要如範例相同的End If格式

範例
If Condition1 Then
        使用者輸入格式
End if

這裡的‘If’使用在IfThen格式中,Condition1True()的話,第一個Code是所回覆True(真價格)的代碼.Condition1False()的話就無法執行格式

If Condition1 And Condition2 Then
       使用者輸入1
       使用者輸入2
End If
        Else
               使用者輸入3
               使用者輸入4,
               End If
If’是被使用在If..Then..Else格式.第一個和第二個使用者所輸入的Condition1 Condition2價格若是True的話就可以執行.若假的話就執行第三個和第四個


Iff

Iff’格式為了假定陳述而使用.因為為了把指標和函數群的價值計算出來而設計的重要函數.指標本身無法設計條件-透過Iff可以畫出指標群.使用Iff可以來檢討一個或者其他以上的條件群, Iff的最初條件式進入狀態媒介參數,若是真的話就回覆True價值及若是假的話就回覆其他的價值(參照下面的變數部份)

格式: IFF (Condition, TrueVALUE, FalseVALUE)
請仔細看Condition的顯示(事例: Close > Open)

TrueVALUECondition是事實的話就是提示的價格
FalseVALUECondition是假的話就是提示的價格

變換價格
Condition is是事實的話就回覆 TrueVALUE ;Condition是假的話就回覆 F alseVALUE

使用
這函數具有3個的媒介變數,第一個變數是顯示狀態.以這狀態去決
定是否執行真/假格式

舉例來說Close > Open是真的話,就回覆真價格表示的格式.若是假的話就回覆假價格表示的格式

第二個媒介變數是True ValueCondition在真的情況下是所計算的部份.第三個媒介變數是False ValueCondition在假的情況下是所計算的部份


Loop

Loop一定要Do指令一起使用


Not

這單語所表現對真/假有關的指標回覆不是真/假的價格。
注意:
勿進入函數本身,只執行用真/假表現文章或價格. 指標或算數型表示不能被使用。
範例:
If Not A Then
Not”是A的價格來判斷真/假的表現
如果Not A就是True再執行下一個文章否則或以Else的指令去移動
如果條件消失的話就離開

If Not (Close > Open) Then

Close > Open透過‘Not’表現假,如果文章是True的話就執行條件否則Else之後的文章或如果條件消失的話就離開


Or

這布林(Bool區分真和假值)演算者使用多樣的條件來區分
注意“Or”是需要各種條件中一個以上為真條件,且如果各種條件中有一個是真的話,就回覆真值。

範例:
If Draw1 Crosses Above Draw2 Or Draw2 > 5 Then
Draw1 Draw2 Draw2會有比5大的情形產生
Or2個條件中有一個是True的話意思就是包含回覆真值。

If Value1 Crosses Above Value2 Or Value1 > Value1[1] Then
Value1 Value2的向上突破或是Value1Value1之前的價格更大的情形如果2個之中的其中一個是真的話就回覆真值。


Over

這單語是確定使用在眾多價格間關係的交叉方向。
注意
以文章來使用Crosses的單語和Crosses Over的結合
這文章的意思為哪一種價值比較多”,如果Value1 Crosses Over Value2就是說Value1 Value2的價格大就是說在(bar)Value1Value2小或者具有相同的意思。
Over”和“Above”有同樣的意義。

範例:
If Average(Close, 9) Crosses Over the Average(Close, 18) Then
Over”是分析有2個移動平均時,是某種具有使用方向來交叉的意義。

If Value1 Crosses Over Value2 Then
OverValue1Vaue2某種具有使用方向來交叉的意義





回覆

回覆數字的類型。
如果函數生成時一定要有計算函數的方式,只有必須分類有的價格可以回覆,函數是1-100.5等和使用相同的數字函數在回覆的時候必須先指定數字。
回覆 text(String)的類型
如果函數生成時指定text(String)的話回覆函數String值,在Sniper中主要使用並提供生成專門的註解。
回覆/假類型
指定真/假的話函數實在也是會回覆值。


Step

For ~~ End For 在格式中設定增加值。

範例:
Num = 0
For I = 1 To 10
 Num = Num + I
End For
上面的範例中I的價格從1開始到10為止來增加1個數這For I = 1 To 10 Step 1的格式和增加值的價格相同1的時候有省略的可能

如果求取從1開始到10為止奇數的價格
Num = 0
For I = 1 To 10 Step 2
Num = Num + I
End For
像上面的範例中增加值的價格是2的話,那麼I的價格是帶有1357911的值,雖然1110大的關係,所以只在對於種類條件時使用。緊接著可以求取從1開始到10為止奇數的和。


Then

建立這單語的條件時,執行增加性的code群來使用。
注意:
2個範例中使用IfThenElse的文章確認IfThen章真/假的條件且容許用其他文章的結果來表示,如果是事實的條件執行“Then”以下的格式

範例:
If Condition1 Then
輸入使用者Then”在這裡中根據Condition1的結果價格,是否執行使用者輸入價格,如果使用者輸入代碼Condition1價格是事實的話就去執行如果Condition1 是假的話無法執行使用者輸入

If Condition1 And Condition2 Then
輸入使用者1
  輸入使用者2,
End If
Else
輸入使用者 3
輸入使用者 4
End If
Then”這裡的Condition1Condition2有關價格的結果,當使用者輸入12時將執行多久才會出現,如果Condition1Condition2是真的話,使用者執行輸入12如果是假的話就執行Condition3Condition4



To

這單語從For分句到最後的價格為止,傳送循環的過程。
注意:
To通常是使用在表現2個的算數

範例:
For Value5 = Length To Length + 10
 使用者輸入
End For
To”在這裡使用在Value5是指 length的上策價格,把10增加為一個單位並執行迴路。

Variables: Sum(0), Counter(0)
Sum = 0
For Counter = 0 To Length - 1
Sum = Sum + Price[Counter]
End For
Counter變數中由0開始Length–1為止每增加1數字,就具有計算的意義


True

這單語是輸入價格是在對的情況下使用。
注意
True是使用在True/False的輸入價格
True”是和 1>0一樣出現對的或者有效的狀態。

範例:
Input:Test(True)
Test True輸入的假格出現真

If 100 > 50 Then
100 > 50的話”在文章中,因為價格是True所以執行下一個文章。


Under

這單語的用途是確認價格之間的交叉相關方向
注意
Undercrosses(或是 cross)結合來使用而且表示某種價值“以下交叉”的表現或者具有比其他某種價值較小的意義。
如果Value1 Value2執行“crosses Under”的話,表示現在Value1Value2小,意思也就是說之前barValue1Value2大或相同的意思。


範例:
If Draw1 Crosses Under Draw2 Then
Under在這裡中用來根據 Draw1Draw2表示交叉的方向

If Value1 Crosses Under Value2 Then
Under在這裡中以Value1 Value2的變數群的價格來使用交叉方向





Until

Do ~~ Loop設定條件。
格式:Until 條件
條件到對的為止的意思。

範例:
X = 0
Num = 0
Do
 X = X + 1
 Num = Num + X
Loop Until X >= 10
上面的例文表示 X價值比10小或一樣時,結束Loop,換言知X的價格比小的話會反覆Loop



While

Do ~~ Loop設定條件
格式:While 條件
表示條件是對的時期。

範例:
X = 0
Num = 0
Do
X = X + 1
 Num = Num + X
Loop While X < 10
在上面的例文說明X的價格比10小時反覆Loop換言之X的價格比10或者一樣的話,就會結束。


(4) Context_Asistant

A

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If a Close is > 100 Then
在此a是可以不需要的。

An

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If an Open is > 100 Then
在此an是可以不需要的。

At

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
Buy 100 Contracts at Market
以市價買入100個契約的意義。

By

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。

Does

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If Draw1 does Cross Over Draw2 Then

Is

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If a Close is > 100 Then
在此is是可以不需要的。


Of

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If Close of Data1 = Highest(High, 14) Then
Of是不必要的單詞,上面所說的是“14日期間中,若最高價和收盤價一樣”的意思。


On

文理補助文字。
注意:
此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
Buy 100 Contracts on Next Bar Open
在下一個Bar的市價中,買入100個契約的意思。


Than

文理補助文字。
注意:此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If High > than the Highest(Close, 14) Then
此意思是“若高價比14日期間內收盤價當中最高價還要高的話”thanthe是無意義的單詞。

The

文理補助文字。
注意:此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If High > than the Highest(Close, 14) Then
此意思是“若高價比14日期間內收盤價當中最高價還要高的話”thanthe是無意義的單詞。

Was

文理補助文字。
注意:此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If Close was < than the Lowest(Close, 14) Then
此意思是“如果收盤價比在14日期間當中收盤價的最低價還要小的話”,wasthan是無意義的單詞。


(5)Data_Information

Ago

為了參照前價所訂的約定語。
注意:
Ago[x]來表示並和“[ ]”內藏函數的功能相同。
Close[1]Close of 1 Bar Ago有相同的意義。
範例:
Close of 1 Bar Ago
   回覆前一收盤價的價格。
Average(Close, 10) of 1 Bar Ago
   回覆10日期間收盤價移動平均的前價格。

BarInterval

在圖表上,把分週期回覆成函數。
如果在圖表上的資料是用時間單位Intra-Day(日程圖表)表示的情況,就只是有在DataCompression函數是1以下時來作用,其他的情況時回覆None
注意:BarInterval 是只有在分間圖表上才有效。
範例:
Condition1 = BarInterval = 5
(Condition1  = true)的話,作用5分圖表的文章。

CalcTime(Sess1StartTime, BarInterval)
asset trading的開始時間加上BarInterva的時間。

CalcTime(Sess1EndTime, -BarInterval)
買賣期間的收盤價前,回覆最後bar的時間。

C

C是收盤價的意思。
如果說當在End of day圖表(日間圖表)時,表示日間收盤價,但若是分或TICK時,表示最高價。

Close

收盤價的意思。
如果說當在End of day圖表(日間圖表)時,表示日間收盤價,但若是分或TICK時,表示最高價。

CurrentBar

BarNumber函數把資料由左邊加一個數字來計算,但是CurrentBar碰到使用者已經指定某一種文章的同時,如果那文章的條件適合的話就開始計算。
比如說5天移動平均出現在文章內的話,像下面所列出的表示:
Data Series1 2 3 4 5 6 7 8 9 10 11 12 .....
Bar Number1 2 3 4 5 6 7 8 9 10 11 12 ...
Current Bar1 1 1 1 1 2 3 4 5 6 7 8 .... 
如果沒有使用者所指定的文章,BarNumberCurrentBar的值會相同,但使用者也會有指定文章的情況,那麼BarNumberCurrentBar會不一樣的。
注意:
無法參照過去價值。(CurrentBar[5] =>不可行)
CurrentBar通常和If一起使用。
If CurrentBar > 1 Then
還有 If CurrentBar = 1 Then
透過像上面一般等等的構文,請記住要執行某種條件附加性的作用。
範例:
IF Condition1 then
      Value1 = CurrentBar
End if

IF CurrentBar > Value1 then
       Value2 = CurrentBar - Value1
End if

DataCompression

在圖表上X軸表示時間,Y軸表示間隔時,在X軸中時間如何適用?把它稱為時間間隔別分類。這個時候把X軸的單位越縮越細密地使用在有用的短期交易中,或是X軸單位越放越大地使用在有用的長期交易中。在圖表上的資料以時間單位來分類的話,以Intra-dayDailyWeeklyMonthlyYearly的種類可以作為很大的分類。
把這類圖表隨著時間或制定辦法來區分,可以分成六種,以DataCompression函數把六種取為跟下面相同的編碼,並求取關於現在圖表上所畫的類型的編碼。
注意:隨著資料的時間單位,回覆像下面的價值一樣:
0=Tick Bar
1= Intra-day
2=  Daily
       3=Weekly
4=Monthly
       5=Yearly
範例:
If DataCompression < 2 Then
 Value1 = LowOfD( 2, LoD)
        Value2 = HighOfD( 2, HoD)
        Value3 = CloseOfD( 2, CoD)
如同上述文章來看,如果是日中圖表的話,日間圖表的低價定義成為Value1,高價定義成為Value2,收盤價定義成為Value3

DownTicks

即時變動的tick,回覆比它小bar的個數。
範例:
在即時中,即時變動的tick,比它小的價格bar的個數是5個的話,DownTicks會回覆5
在即時中,即時變動的tick,比它小的價格bar的個數是12個的話,DownTicks會回覆12

H

求取有關價格資料排列上bar的高價。

High

求取有關價格資料排列上bar的高價。

I

有關bar的未平倉合約,也就是回覆未平倉合約的縮寫字。
範例:
 I of 1 bar ago
回覆前波bar的未平倉合約。
Average(I, 10)
回覆未平倉合約的10日平均。

L

求取有關bar的最低價。

Low

求取有關bar的最低價。

O

求取有關價格資料排序的bar開盤價。

OI

有關bar的未平倉合約,也就是回覆未平倉合約的縮寫字。
範例:
OI of 1 bar ago
回覆前波bar的未平倉合約。
Average(OI, 10)
回覆未平倉合約的10日平均。
Value1 = OI - OI[1]
回覆當日未平倉合約減除前日未平倉合約的值。

Open

求取有關價格資料排序的bar開盤價。

OpenInt

有關bar的未平倉合約,也就是回覆未平倉合約的縮寫字。
範例:
OpenInt of 1 bar ago
回覆前波bar的未平倉合約。
Average(OpenInt, 10)
回覆未平倉合約的10日平均。
Value1 = OpenInt - OpenInt[1]
回覆當日未平倉合約減除前日未平倉合約的值。

OpenInterest

有關bar的未平倉合約,也就是回覆未平倉合約的縮寫字。
範例:
OpenInterest of 1 bar ago
回覆前波bar的未平倉合約。
Average(OpenInterest, 10)
回覆未平倉合約的10日平均。
Value1 = OpenInterest - OpenInterest[1]
回覆當日未平倉合約減除前日未平倉合約的值。

TickVolume

表示tick的交易量。

Upticks

即時變動的tick,回覆比它大bar的個數。
範例:
在即時中,即時變動的tick,比它大的價格bar的個數是5個的話,UpTicks會回5。
在即時中,即時變動的tick,比它小的價格bar的個數是12個的話,UpTicks12

V

求取有關價格資料排序上bar的交易量。

Volume

求取有關價格資料排序上bar的交易量。

(6)Data_Time

D

D為表示目前bar日期的表現式。
 格式:D
 注意:當想要知道相關bar的日期時,“D”文字執行相同的作用
“D”returnYYMMDD的日期格式。
 範例:如果是199917日的話,D就會return990107
 參照:表示前一日bar的表現式:
   D of 1 bar ago 

Date

Date提表示現在bar日期是所return的約定語。
 格式:Date(990809)
 注意:“Date” returnYYMMDD形式的數值。
    在公元2000年之前,Date標記YYMMDD的形式;在公元2000年之後, Date標記YYYMMDD形式。(1999 = 99, 2001 = 101)
 範例:若是1999613日的話就return990613
    若是20011220日的話就return1011220

DateToJulian

所指定的日期return JulianDate
 格式:DateToJulian(cDate)
    在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,
cDate標記YYYMMDD形式。(1999 = 99, 2001 = 101)
注意:流水日(Julian Date)是記錄自190111日到2105228日之間的日期。
 範例:199884日的流水日(Julian Date)36011

DayOfMonth

 指定日期的日值。
 格式:DayOfMonth(cDate)
                cDateYYMMDD的方式來表示。
 範例:DayOfMonth(980804) = 4
    DayOfMonth(1011024) = 24


DayOfWeek

 指定日期的週別。以0代表週日,1代表週一,餘此類推,6代表週六。
 格式:DayOfWeek(cDate)
    在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,
cDate標記YYYMMDD形式。(1999 = 99, 2001 = 101)
 範例: DayOfWeek(980804) = 2 (星期二)


EL_DateStr

 以YYYYMMDD8個字元的方式來表現日期。年份必須要輸入完整公元年。
 範例:EL_DateStr(09, 05, 1999) = 19990905


Friday

 return表示星期五的數字5
 注意:return的值為表示星期五的定數,並具有和DayOfWeek(Friday)相同的值。
 範例:“Friday” return

JulianToDate

將指定的流水日(Julian Date)轉成日期形式。
 格式:JulianToDate(jDate)
                jDate為流水日(Julian Date)
 範例:JulianToDate(36011) = 980804

LastCalcDate

最近完成bar的日期
 格式:LastCalcDate
                沒有參數
 return值:最近的完成bar的日期,2000年之前以YYMMDD的形式來表現,2000年之後以YYYMMDD形式來表現,例如:1999992001101
 範例:LastCalcDatereturn040318,表示最近完成的bar是在2004318日。

LastCalcJDate

最近完成bar的流水日(Julian Date)
 格式:LastCalcJDate
                沒有參數
範例:如果最近完成bar的日期為199884日,就會return36011

LastCalcTime

最近完成bar的時間,以24小時形式來表示。
 格式:LastCalcTime
    沒有參數
 return值:24小時形式的最近所完成時間
範例:若最近bar在下午3點完成,就會return1500

Monday

return表示星期一的數字1。
 注意:return的值為表示星期一的定數,並具有和DayOfWeek(Monday)相同的值。
 範例:“Monday”return

Month

指定日期的月份。以1代表1月,以此類推,12代表12月。
 在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,cDate標記YYYMMDD形式。例如1999992001101
 範例:Month(990613) = 6
    Month(1011220) = 12

Saturday

 return表示星期六的數字6。
 注意:return的值為表示星期六的定數,並具有和DayOfWeek(Saturday)相同的值。
 範例:“Saturday” return

Sunday

 return表示星期日的數字0。
 注意:return的值為表示星期日的定數,並具有和DayOfWeek(Sunday)相同的值。
 範例:“Sunday”return

T

 表示目前bar的時間
 注意:需要Bar的時間時,使用T的文字,也可以得到相同的值。
    “T”是以HHMM24小時格式來顯示
 範例:若為下午3點,Treturn1500
 參照:如果表示之前bar時間的話
    T of 1 bar ago

Thursday

return表示星期四的數字4。
 注意:return的值為表示星期四的定數,並具有和DayOfWeek(Thursday)相同的值。
 範例:“Thursday” return


Time

 表示目前bar的時間
 注意:“Time”returnHHMM格式的值
範例:若是下午2點,“Time”return1400

Tuesday

return表示星期二的數字2。
 注意:return的值為表示星期二的定數,並具有和DayOfWeek(Tuesday)相同的值。
 範例:“Tuesday” return

Wednesday

 return表示星期三的數字3。
 注意:return的值為表示星期三的定數,並具有和DayOfWeek(Wednesday)相同的值。
 範例:“Wednesday” return


Year

 指定日期的年度。
 格式:Year(cDate)
在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,
cDate標記YYYMMDD形式。例如1999992001101
    範例:Year(990613) = 99


(7)Declearation

Array

 宣佈陣列變數
 陣列會以相同的名稱,連續的變數來參照,並可使用索引編碼。
 宣告:Array: 變數名[n](初始值)
    以變數名來做總共 n + 1個的記憶空間,且該空間具有初始值。
    Array : CloseArray[5](-1)
    上面的宣告,表示名稱為CloseArray,佔有5+1個,共六個記憶空間,並    且其初始值皆為-1
    CloseArray[0] = -1
    CloseArray[1] = -1
    CloseArray[2] = -1
    CloseArray[3] = -1
    CloseArray[4] = -1
    CloseArray[5] = -1
    而且陣列元素也可以用成別的函數參數。
範例:Param:  dArray[84](-1)          < 函數呼叫 : 函數名 : DailyMA >
    Value1 = HighOfD ( 0, dArray )     < 函數宣告 : 函數名 : HighOfD >
    Parameter: DaysAgo(Numeric),  HighArray[x](Numeric)
 參照:在某一函數中以該函數的參數來宣告陣列時,在該函數內部無法知道呼叫函數的排列個數,因此以參數方式來宣告變數時,使用下面的方式:Parameter: 陣列變數名[索引變數名](type)
範例:Parameter: DaysAgo(Numeric),  HighArray[x](Numeric)
    用參數來輸入變數的最後索引編碼,此編碼傳送到上面變數名HighArray[x]做為參數,該參數type為數字型。
 範例:1的情形時,以x值為84傳送到[x]

Arrays

 和Array相同。宣告陣列變數。陣列以相同的名稱,連續的變數來參照,並可使用索引編碼的形式。
 宣告:Arrays: 變數名[n](初始值)
 以變數名來建立總共 n + 1個的記憶空間,且該空間具有初始值。
    Arrays: CloseArray[5](-1)
    上面的宣告,表示名稱為CloseArray,佔有5+1個,共六個記憶空間,並    且其初始值皆為-1
 CloseArrays[0] = -1
 CloseArrays[1] = -1
 CloseArrays[2] = -1
 CloseArrays[3] = -1
 CloseArrays[4] = -1
 CloseArrays[5] = -1
    而且陣列元素也可以用成別的函數參數。
 範例:Param:  dArrays[84](-1)          <函數呼叫 : 函數名 : DailyMA >
    Value1 = HighOfD ( 0, dArrays )     <函數宣告 : 函數名 : HighOfD >
    Parameter: DaysAgo(Numeric), HighArray[x](Numeric)
 參照:在某一函數中以該函數的參數來宣告陣列時,在該函數內部無法知道呼叫函數的排列個數,因此以參數方式來宣告變數時,使用下面的方式:Parameter: 陣列變數名[索引變數名](type)
範例:Parameter: DaysAgo(Numeric),  HighArray[x](Numeric)
    用參數來輸入變數的最後索引編碼,此編碼傳送到上面變數名HighArray[x]做為參數,該參數type為數字型。
 範例:1的情形時,以x值為84傳送到[x]


Bool

TrueFalse相同。
為了儲存邏輯(Logical)值,和外部輸入變數用到的名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 邏輯變數的邏輯值:true()false()
 依使用用途,可分成外部輸入參數與內部參數。
 範例:parameters: Condition(Bool)
    var : condition(Bool)


Numeric

為了儲存數字值,在使用的外部輸入參數中指定數字的宣告函數。
 注意:和像參數一樣的外部輸入參數一起使用。
關鍵字:param, params, parameter, parameters
 範例:parameters : price(Numeric), length(Numeric)


Param
外部輸入參數
 為了儲存變數數字值(Numeric)和邏輯值(Logical)所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數來避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 注意:這變數值在外部中可以變更輸入值,公式檢驗以後,在屬性的變數tap 情況中可以變更輸入值,若在外部無變數值的變更,輸入值設定成為基本值。
 100
關鍵字:param, params, parameter, parameters
範例:一般的情況
   Param : period(10000), condition(true)
使用者函數的情況
Param : price(Numeric), condition(Logical)


Parameter

 外部輸入變數。
 變數是為了儲存變數數字(Numeric)價值和邏輯價值所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 注意:這變數值在外部中可以變更輸入值,公式檢驗以後,在屬性的變數tap情況中可以變更輸入值,若在外部無變數值的變更,輸入值設定成為基本值。
 這變數在內部中無法對應其他的價格,可能只有供參照用。
 關鍵字:param, params, parameter, parameters
 範例:一般的情況
    Parameter : period(10000), condition(true)
    使用者函數化情況
       Parameter : price(Numeric), condition(Logical)


Parameters

外部輸入變數。
 為了儲存變數數字值(Numeric)和邏輯值(Logical)所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 注意:這變數值在外部中可以變更輸入值,公式檢驗以後,在屬性的變數tap情況中可以變更輸入值,若在外部無變數值的變更,輸入值設定成為基本值。
 這變數在內部中無法對應其他的價格,可能只有供參照用。
 關鍵字:param, params, parameter, parameters
 範例:一般性情況
      Parameters : period(10000), condition(true)
使用者函數化情況
      Parameters : price(Numeric), condition(Logical)

Params

外部輸入變數。
為了儲存變數數字值和邏輯值所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,以得到很快的結果。
 注意:這變數值在外部中可以變更輸入值,公式檢驗以後,在屬性的變數tap情況中可以變更輸入值,若在外部無變數值的變更,輸入值設定成為基本值。
 這變數在內部中無法對應其他的價格,可能只有供參照用。
關鍵字:param, params, parameter, parameters
 範例:一般性的情況
        Params : period(10000), condition(true)
使用者函數化情況
        Params : price(Numeric), condition(Logical)

StaticArr

可以說是一種永久的排序變數。
 變數值隨著data輸入會變換,但增加了新功能,此以Static方式的系統函數確定函數值。
 格式:StaticArr: AA[20](0)
    在20個的陣列中輸入0

StaticArrs

 可以說是一種永久的排序變數。
變數值隨著data輸入會變換,但增加了新功能,此以Static方式的系統函數確定函數值。
 格式:StaticArr: AA[20](0)
    在20個的陣列中輸入0

StaticVar

可以說是一種永久的排序變數。
變數值隨著data輸入會變換,但增加了新功能,此以Static方式的系統函數確定函數值。
 格式:StaticVar: AA(0)
    在AA宣告0

StaticVars

 可以說是一種永久的排序變數。
變數值隨著data輸入會變換,但增加了新功能,此以Static方式的系統函數確定函數值。
格式:StaticVar: AA(0)
AA中宣告0


String

return文字列。



TrueFalse

 為了儲存邏輯值(Logical),和外部輸入變數一起使用所稱的名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 邏輯(Logical)變數的邏輯值:true()false()
 依使用用途,可分成外部輸入變數與內部變數。
 範例:parameters: Condition(True)
    var : condition(true)



Var

 內部輸入變數。
 為了儲存變數數字價格(Numeric)和邏輯價格(Logical)所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 依使用用途,可分成外部輸入變數與內部變數。
 注意:在外部中無法變更這變數值的輸入值,在內部中可以分配使用其他值。
 關鍵值:var, vars, variable, variables
 範例:var : count(10000), condition(true), var1(0), var2(0), var10(0)
    count = ma(c,5)
    a = 10
    b = 10
    var1 = 10
    var2 = ma(c,5)
    var10 = ma(c,10)



Variable

內部輸入變數。
 為了儲存變數數字價格(Numeric)和邏輯價格(Logical)所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 依使用用途,可分成外部輸入變數與內部變數。
 注意:在外部中無法變更這變數值的輸入值,在內部中可以分配使用其他值。
 關鍵值:var, vars, variable, variables
 範例:variable : count(10000), condition(true), var1(0), var2(0), var10(0)
    count = ma(c,5)
    a = 10
    b = 10
    var1 = 10
    var2 = ma(c,5)
    var10 = ma(c,10)


Variables

內部輸入變數。
 為了儲存變數數字價格(Numeric)和邏輯價格(Logical)所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 依使用用途,可分成外部輸入變數與內部變數。
 注意:在外部中無法變更這變數值的輸入值,在內部中可以分配使用其他值。
 關鍵值:var, vars, variable, variables
 範例:variables : count(10000), condition(true), var1(0), var2(0), var10(0)
    count = ma(c,5)
    a = 10
    b = 10
    var1 = 10
    var2 = ma(c,5)
    var10 = ma(c,10)0)
 

Vars

 內部輸入變數。
 為了儲存變數數字價格(Numeric)和邏輯價格(Logical)所說的使用名稱。
 修飾指定,常用臨時結果值時,用變數避免修飾的反覆指定,並計算修飾解釋時間與結果值時,可以得到很快的結果。
 隨著使用用途,分成外部輸入變數與內部變數。
 注意:在外部中無法變更這變數的輸入值,在內部中可以分配使用其他值。
 關鍵值: var, vars, variable, variables
 範例:vars: count(10000), condition(true), var1(0), var2(0), var10(0)
    count = ma(c,5)
    a = 10
    b = 10
    var1 = 10
    var2 = ma(c,5)
    var10 = ma(c,10)















本文內容僅供參考,無任何買賣建議,投資人應謹慎評估,風險自負。

精選文章

更多
大盤回測42006後V轉留下影線!但台積電尾盤失守2330,多方反彈還差這一步!
AI需求爆表、廣達、緯創營收強勁,但AI社交諂媚正引爆世代危機!
台股大跌破季線,總算別人恐慌我貪婪?拆解逢低加碼實戰SOP,別再閉眼賭接刀
被動元件大逃殺!國巨失守700元、日股同崩,真相不只謠言!
台股崩跌2953點刷新紀錄!外資賣超1890億再破紀錄,頭肩頂大頸線岌岌可危?!
台積電破季線,被動元件國巨、華新科跌不停,記憶體、CPO退燒,下周盤勢重點。