寫程式基本上手上都需要程式與法的資料當成工具書一樣
但是日盛的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 Editor中coding的範例
用作成的script來判斷Pop-Up的情況
AlertEnabled
現在下面的圖表中所表示的警報若確認的話,AlerEnabled用True來傳送,否則用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價格如果!A是True的話就執行另一個文件指令,不是的話就移動到Else的文件或者就退出If(條件)指令。
If ! (Close > Open) Then
透過Close > Open 是假的! 如果If文章是True的話那麼就執行If(條件)指令否則在Else之後的文章或退出If(條件)指令。
!=
這單字使用在2個不同價值時
注意:
“!=”和“<>”是相同意義。
範例:
If Close[Length] != 0 Then
Close[Length] 是Length日前Close 不是0的話這樣的意義用否定來表現用“!=”的方式被使用。
%
Number以Divisor來求取除法剩下的部份結果和Divisor具備相同的符號。
格式:Number % Divisor
Number:要取得剩下的部份的數字
Divisor:除時用的數字.
注意:Divisor不能使用0。
用INT函數的方式可以表示(N%D)=N-D*INT(N/D)
是和數學函數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。 |
%=
是用Divisor除Number取得剩下的部份,結果和Divisor具有一樣的符號。
格式:Number %= Divisor
這個和Number=Number %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
“&&”這在Draw1與Draw2互相交叉且上升, Draw2比5大時在2個條件中使用表現出全部事實的情況,要做什麼。如果2個的概意條件中即使有一個是假的話,條件指令的價格會回覆假值(False) If Value1 Crosses Above Value2 && Value1 > Value1[1] Then
“&&”這在Value1與Value2互相交叉且上升,Value1比 Value1 之前的價格 大時,使用表現出全部事實的情況“要做什麼”。
如果在2個條件之中即使有假的話,條件指令會回覆假值(False)。
*=
Number用Multiplier方式相乘所求取的結果。
格式:Number *= Multiplier
這就是與Number=Number * 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上面或者Draw2比5大的情況 “Or”從2個條件中有一個是True的話意思就是包含就回覆 True的價格。 | If Value1 Crosses Above Value2 Or Value1 > Value1[1] Then 從Value1向上突破到Value2或是Value1比Value1之前的價格指較大的情況下如果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小或一樣的意思
Above和Over是同意語.
範例
If Draw1 Crosses Above Draw2 Then
Above在這裡用來表示並使用Draw1交叉於Draw2的價格相關方向的意思
If Value1 Crosses Above Value2 Then
Above這裡用來表示Value1和Value2的變數群價格以交叉的方向來使用的意思
And
這個理論演算者為了調查及查詢多樣的條件指令在條件指令中被使用
注意
‘And’ 需要所有的條件是True 的制約
範例
If Draw1 Crosses Above Draw2 And Draw2 > 5 Then
‘And’在這裡Draw1交叉Draw2上升及Draw2比5大的2個條件都是事實的情況並顯示”要執行什麼?”,如果2個條件中即使有一個是假的話,條件指令的價值變換為假(False)
If Value1 Crosses Above Value2 And Value1 > Value1[1] Then
‘And’在這裡Value1交叉Value2上升及 Value1比Value1以前的bar大的2個條件都是事實的情況下使用”要執行什麼”的表現,如果2個條件中即使有一個是假的話,條件指令的價值變換為假(False)
Below
這單語用在確認價格之間的相關交叉方向
注意
和crosses(還是cross)一起結合使用,所表現的意思是’某種價值及某種數字以下做交叉’或者具有”比其他某種價格逐漸減小’’的意思
若Value1用‘crosses below ’執行Value2 的話, 在目前來看是Value1 比Value2小的意思 ,但是在以前的棒中是Value1比 Value2大或一樣的意思
below 和 Under below 是同意語
範例
If Draw1 Crosses below Draw2 Then
Below這裡用來表示Draw1和Draw2的相關價格交叉的方向的意思
If Value1 Crosses below Value2 Then
Below這裡用來表示Value1和Value2的變數群價格以交叉方向的意思
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的價格從1到10為止增加10個單位,但是若遇到條件是I % 2 = 1的話, 即是I的價格是奇數也會執行Continue(繼續)指令.這時不執行Count += I的價格就執行Loop.再次地說,I的價格是1時以繼續指令來移動到制定For I = 1 To 10的位置方式, I的價格具有從1增加到2的價格.亦是雖遇到IF指令但是在這次中I的價格是偶數就離開If指令去執行Count += I的條件指令
在上面的範例中的結果從1到10為止求取所持有偶數的合
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]
[指令]
後條件處理格式的使用和下一個相同
Do
[指令]
[Exit Do]
[指令]
Loop [{While | Until} 條件]
所謂先條件執行是先處理條件的檢查及實行結果是真的話,是執行Loop的指令. 所謂後條件處理最少執行一次Loop指令及檢查條件是決定Loop的反覆
範例1
X = 0
Num = 0
Do Until X < 10
X = X + 1
Num = Num + X
先條件處理指令,若X的價格比10小的話,反覆Loop並執行Loop指令.X價格變化最初從0開始1, 2,3, 4, 5, 6, 7, 8, 9為止沒有任何的問題來增加. X是9時滿足Do的Until條件就進入到Loop 執行X = X + 1的指令, X的價格為10,再次會遇到Loop條件時,因為X沒有比10小就退出Loop.結果Num的價格具有從1到10的合
X = 0
Num = 0
Do
X = X + 1
Num = Num + X
後條件處理指令,若X的價格變化從0開始進行1 , 2, 3, 4, 5, 6, 7, 8, 9為止,X是9時,滿足Loop的Until條件就進入到Loop 執行X = X + 1的指令, X的價格為10時執行Num = Num + X指令.最後Loop指令的Until指令中因為X的價格沒有比10小就退出Loop.結果Num的價格具有從1到10的合.
範例中1的Num最終價格變為從1開始到9為止增加的價格,範例2的Num的最終價格變為從1開始10為止增加的價格
Else
這個單語所接受假的價格時,使用在某種條件下來執行一連串的編碼
注意
‘Else’通常只有在 if…then 指令中使用
範例
If Condition1 Then
使用者輸入
Else
使用者輸入
End if
‘Else’在這裡中 Condition1是假的情況,在執行其他指令的意思
If Condition1 And Condition2 Then
使用者輸入1
使用者輸入2
End If
Else
使用者輸入3
使用者輸入 4
End if
‘Else’在這裡中Condition1和Condition2以假的來變換時, 使用在執行其他的指令的意思,執行使用者輸入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’在這裡中Condition1和Condition2以假的來變換時,在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的價格是1和2相加為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’以多樣的名字(舉例:從1到20為止反覆做的話會產生出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..的格式
為了使用If…Then…Else的格式而需要如範例相同的End If格式
範例
If Condition1 Then
使用者輸入格式
End if
這裡的‘If’使用在If…Then格式中,若Condition1是True(真)的話,第一個Code是所回覆True(真價格)的代碼.若Condition1是False(假)的話就無法執行格式
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)
TrueVALUE若Condition是事實的話就是提示的價格
FalseVALUE若Condition是假的話就是提示的價格
變換價格
若Condition is是事實的話就回覆 TrueVALUE ;若Condition是假的話就回覆 F alseVALUE
使用
這函數具有3個的媒介變數,第一個變數是顯示狀態.以這狀態去決
定是否執行真/假格式
舉例來說Close > Open是真的話,就回覆真價格表示的格式.若是假的話就回覆假價格表示的格式
第二個媒介變數是True Value若Condition在真的情況下是所計算的部份.第三個媒介變數是False Value若Condition在假的情況下是所計算的部份
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大的情形產生。
“Or”是2個條件中有一個是True的話,意思就是包含回覆真值。
If Value1 Crosses Above Value2 Or Value1 > Value1[1] Then
Value1是 Value2的向上突破,或是Value1比Value1之前的價格更大的情形,如果2個之中的其中一個是真的話就回覆真值。
Over
這單語是確定使用在眾多價格間關係的交叉方向。
注意:
以文章來使用Crosses的單語和Crosses Over的結合,
這文章的意思為“哪一種價值比較多”,如果Value1 Crosses Over Value2就是說Value1比 Value2的價格大就是說在(bar)中Value1比Value2小或者具有相同的意思。
“Over”和“Above”有同樣的意義。
範例:
If Average(Close, 9) Crosses Over the Average(Close, 18) Then
“Over”是分析有2個移動平均時,是某種具有使用方向來交叉的意義。
If Value1 Crosses Over Value2 Then
“Over”是Value1與Vaue2某種具有使用方向來交叉的意義。
回覆
回覆數字的類型。
如果函數生成時一定要有計算函數的方式,只有必須分類有的價格可以回覆,函數是1、-10、0.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的價格是帶有1、3、5、7、9、11的值,雖然11比10大的關係,所以只在對於種類條件時使用。緊接著可以求取從1開始到10為止奇數的和。
Then
建立這單語的條件時,執行增加性的code群來使用。
注意:
在2個範例中使用If…Then…Else的文章,確認If…Then文章真/假的條件,且容許用其他文章的結果來表示,如果是事實的條件執行“Then”以下的格式
範例:
If Condition1 Then
輸入使用者“Then”在這裡中根據Condition1的結果價格,是否執行使用者輸入價格,如果使用者輸入代碼Condition1價格是事實的話就去執行,如果Condition1 是假的話無法執行使用者輸入。
If Condition1 And Condition2 Then
輸入使用者1
輸入使用者2, 等
End If
Else
輸入使用者 3
輸入使用者 4 等
End If
在“Then”這裡的Condition1和Condition2有關價格的結果,當使用者輸入1,2時將執行多久才會出現,如果Condition1和Condition2是真的話,使用者執行輸入1,2如果是假的話就執行Condition3和Condition4。
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
這單語的用途是確認價格之間的交叉相關方向。
注意:
Under和crosses(或是 cross)結合來使用而且表示某種價值“以下交叉”的表現或者具有比其他某種價值較小的意義。
如果Value1把 Value2執行“crosses Under”的話,表示現在Value1比Value2小,意思也就是說之前bar中Value1比Value2大或相同的意思。
範例:
If Draw1 Crosses Under Draw2 Then
Under在這裡中用來根據 Draw1對Draw2表示交叉的方向。
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日期間內收盤價當中最高價還要高的話”than與the是無意義的單詞。
The
文理補助文字。
注意:此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If High > than the Highest(Close, 14) Then
此意思是“若高價比14日期間內收盤價當中最高價還要高的話”than與the是無意義的單詞。
Was
文理補助文字。
注意:此單詞在PowerLanguage可刪掉單詞,但是以此單詞會幫助更了解代碼,像此文理補助文字在PowerLanguage用綠色表示。
範例:
If Close was < than the Lowest(Close, 14) Then
此意思是“如果收盤價比在14日期間當中收盤價的最低價還要小的話”,was和than是無意義的單詞。
(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 Series:1 2 3 4 5 6 7 8 9 10 11 12 .....
Bar Number:1 2 3 4 5 6 7 8 9 10 11 12 ...
Current Bar:1 1 1 1 1 2 3 4 5 6 7 8 ....
如果沒有使用者所指定的文章,BarNumber和CurrentBar的值會相同,但使用者也會有指定文章的情況,那麼BarNumber和CurrentBar會不一樣的。
注意:
無法參照過去價值。(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-day、Daily、Weekly、Monthly、Yearly的種類可以作為很大的分類。
把這類圖表隨著時間或制定辦法來區分,可以分成六種,以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個的話,UpTicks回12。
V
求取有關價格資料排序上bar的交易量。
Volume
求取有關價格資料排序上bar的交易量。
(6)Data_Time
D
D為表示目前bar日期的表現式。
格式:D
注意:當想要知道相關bar的日期時,“D”文字執行相同的作用
“D”returnYYMMDD的日期格式。
範例:如果是1999年1月7日的話,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)
範例:若是1999年6月13日的話就return990613
若是2001年12月20日的話就return1011220
DateToJulian
用所指定的日期return JulianDate
格式:DateToJulian(cDate)
在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,
cDate標記YYYMMDD形式。(1999 = 99, 2001 = 101)
注意:流水日(Julian Date)是記錄自1901年1月1日到2105年2月28日之間的日期。
範例:1998年8月4日的流水日(Julian Date)為36011。
DayOfMonth
指定日期的日值。
格式:DayOfMonth(cDate)
cDate以YYMMDD的方式來表示。
範例: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” return5
JulianToDate
將指定的流水日(Julian Date)轉成日期形式。
格式:JulianToDate(jDate)
jDate為流水日(Julian Date)
範例:JulianToDate(36011) = 980804
LastCalcDate
最近完成bar的日期
格式:LastCalcDate
沒有參數
return值:最近的完成bar的日期,2000年之前以YYMMDD的形式來表現,2000年之後以YYYMMDD形式來表現,例如:1999為99,2001為101。
範例:LastCalcDatereturn040318,表示最近完成的bar是在2004年3月18日。
LastCalcJDate
最近完成bar的流水日(Julian Date)
格式:LastCalcJDate
沒有參數
範例:如果最近完成bar的日期為1998年8月4日,就會return36011。
LastCalcTime
最近完成bar的時間,以24小時形式來表示。
格式:LastCalcTime
沒有參數
return值:24小時形式的最近所完成時間
範例:若最近bar在下午3點完成,就會return1500。
Monday
return表示星期一的數字1。
注意:return的值為表示星期一的定數,並具有和DayOfWeek(Monday)相同的值。
範例:“Monday”return1
Month
指定日期的月份。以1代表1月,以此類推,12代表12月。
在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,cDate標記YYYMMDD形式。例如1999為99,2001為101。
範例:Month(990613) = 6
Month(1011220) = 12
Saturday
return表示星期六的數字6。
注意:return的值為表示星期六的定數,並具有和DayOfWeek(Saturday)相同的值。
範例:“Saturday” return6
Sunday
return表示星期日的數字0。
注意:return的值為表示星期日的定數,並具有和DayOfWeek(Sunday)相同的值。
範例:“Sunday”return0
T
表示目前bar的時間
注意:需要Bar的時間時,使用T的文字,也可以得到相同的值。
“T”是以HHMM的24小時格式來顯示
範例:若為下午3點,T會return1500。
參照:如果表示之前bar時間的話
T of 1 bar ago
Thursday
return表示星期四的數字4。
注意:return的值為表示星期四的定數,並具有和DayOfWeek(Thursday)相同的值。
範例:“Thursday” return4
Time
表示目前bar的時間
注意:“Time”returnHHMM格式的值
範例:若是下午2點,“Time”會return1400
Tuesday
return表示星期二的數字2。
注意:return的值為表示星期二的定數,並具有和DayOfWeek(Tuesday)相同的值。
範例:“Tuesday” return2
Wednesday
return表示星期三的數字3。
注意:return的值為表示星期三的定數,並具有和DayOfWeek(Wednesday)相同的值。
範例:“Wednesday” return3
Year
指定日期的年度。
格式:Year(cDate)
在公元2000年之前,cDate標記YYMMDD的形式;在公元2000年之後,
cDate標記YYYMMDD形式。例如1999為99,2001為101。
範例: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)
本文內容僅供參考,無任何買賣建議,投資人應謹慎評估,風險自負。