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 回覆5。
|
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]
[指令]
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為止沒有任何的問題來增加. 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
Loop Until X < 10
後條件處理指令,若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)
(8)Drawing
Draw
在畫面上顯示隨意計算的結果或data。
可以無限制使用此功能函數Draw,以Draw1()、Draw2()‧‧‧的方式來表示。
格式:Draw1( data, "Name”, color )
data:在圖上顯示的技術指標或個股資料,輸入函數等等.data為數字型態資料。
Name:可以省略Draw1的名稱,顯示的字串,指標屬性螢幕的圖表示在
tap上。
Color:在圖上所顯現的顏色,可以省略。顏色是用約定語的顏色值來表示,在這變數中如果輸入顏色值的話,在圖中指標屬性也會變更顏色,但媒介變數顯示的顏色照樣不會變化。
範例:Draw1(V, "交易量")
畫出交易量圖。
parameters: af(0.02), maxAF(0.2)
Draw1(SAR(af, maxAF), "SAR")
畫出指標加速變化值為0.02,最大值為0.2的抛物線指標圖。
DrawBar
畫出像在日目均衡表中表示的雲狀線圖,或畫出模擬棒圖時使用。
可以無限制使用此功能函數,以DrawBar1()、DrawBar2()‧‧‧的方式來表示。
有兩種用法:
1‧畫垂直線
格式:drawBar1(val1, val2, "name", color1, color2, size)
val1:垂直線最高點值
val2:垂直線最低點值
"name":垂直線名稱,顯示在線的下端
color1:顯示1次的顏色
color2:顯示2次的顏色
size:垂直線的寬度
2‧畫模擬棒圖
格式:drawBar1(OP, HG, LW, CS, "name", color1, color2, size)
OP:模擬棒的開盤價
HG:模擬棒的最高價
LW:模擬棒的最低價
CS:模擬棒的收盤價
"name":模擬棒的名稱
color1:顯示1次的顏色
color2:顯示2次的顏色
size:模擬棒的寬度
DrawBase
畫出水平的基準線。
可以無限制使用此功能函數,以DrawBase1()、DrawBase2()‧‧的方式來表示。
格式:DrawBase1(data, "Name”, color)
範例:DrawBase1 (0, "基準線", BLACK)
Parameters : OverSold(20), OverBought(80)
DrawBase1( OverBought, "Over Bought", DarkGray )
DrawBase2( OverSold, "Over Sold", DarkGray )
DrawPoint
畫出買賣時點。
可以無限制使用此功能函數,以DrawPoint1()、DrawPoint2()‧‧的方式來表示。
範例:DrawPoint1 ( TopSide, "Hammer", Red, 4, 1 )
TopSide:在價格圖上顯示一個時點。
"Hammer":點的名稱
Red:點的顏色(選擇)
4:點的粗度(選擇)
1:點的類型(選擇)
DrawPoint 的範例script
圖表表示
FindPoint
檢索符合正確條件的個股時所使用的繪圖函數,個股檢索利用Tool可以試著檢索相關的個股。
在圖中使用FindPoint的方式與DrawPoint的方式是相同的。
範例:FindPoint1 ( Value1, BottomSide, "Name", Red, 2, 1 )
Value1:表示條件的價格
BottomSide:表示設定的位置是在下端
"Name":圖中的名稱
Red:點的顏色(選擇)
2:點的粗度(選擇)
1:點的類型(選擇)
FindPoint1 script範例
NoDraw
已經完成繪圖功能,沒有畫出圖形的特殊函數。
可以無限制使用此功能函數,以NoDraw1()、NoDraw2()‧‧的方式來表示。
範例:只有在陽棒的情形時才畫出高價,否則就不畫。
If (陽棒高價) then
Draw1(high)
elseif (陰棒高價) then
NoDraw1(High)
end if
只有在陽棒的情形才連結高價
NoDrawBar
無法透過DrawBar函數時所使用的函數。
可以無限制使用此功能函數,以NoDrawBar1()、NoDrawBar2()‧‧‧的方式來表示。
NoDrawPoint
和DrawPoint1(value1, "GG")一起使用時,表示在某種條件無法配合DrawPoint1畫出時使用。不畫DrawPoint1的時候, 以NoDrawPoint(1)的方式輸入,且以DrawPoint2來表示NoDrawPoint(2)。
NoFindPoint
和FindPoint1(value1, "GG")一起使用時,表示在某種條件無法配合FindPoint1畫出時使用。無法畫出FindPoint1的時候,以NoFindPoint(1)的方式輸入,且以FindPoint2來表示NoFindPoint(2)。
ShowBase
和條件文章一起使用的使用者用基準線表示,或沒有給條件時所使用的函數。
可以無限制使用此功能函數,以ShowBase1()、ShowBase2()‧‧‧的方式來表示。
(9)Mathematics
abs
求取絕對值,絕對值是沒有正負符號的數字。
格式:abs(Num)
Num欲求出絕對值的數值
範例: abs(2) = 2
abs(-2) = 2
AbsValue
求取絕對值,絕對值是沒有正負符號的數字。
格式:AbsValue(Num)
Num欲求出絕對值的數值
範例:AbsValue(2) = 2
AbsValue(-2) = 2
ArcCosine
求取Arc Cosine值。
格式:ArcCosine(Num)
radianacos(1): radian 1的 arc cosine值為0
ArcSine
求取Arc Sine值。
格式:ArcSine(Num)
radianasin(1) : radian 1的 arc sine值為1.57
ArcTangent
求取Arc Tangent的值。
格式:ArcTangent(Num)
radianatan(1) : radian 1的 Arc Tangent值為0.79
Ceiling
求出四捨五入的數。
格式:Ceiling(Num)
Num:是郤四捨五入的值,如果不是數字的話,會變成錯誤的值
範例:Ceiling( 2.5) = 3
Ceiling(-2.5) = -2
Cosine
求取Cosine值。
格式:Cosine(Num)
Num:角度
範例:Cosine(60) = 0.5
CosineH
求取Hyper Brick Cosine值。
格式:CosineH(Num)
Num:角度
範例:CosineH(60) = 1.6
ExpValue
求取e指數值,e常數為2.71828182845904。ExpValue是自然對數的逆函數。
格式:ExpValue(Num)
Num:以e為基礎的指數。
範例:ExpValue(1) = 2.718281828 (e的近似值)
ExpValue(2) = 7.389056099
ExpValue(6) = 403.4288
Floor
求出無條件捨去小數的值。
格式:Floor(Num)
Num:欲無條件捨去小數的值,如果不是數字的話會產生錯誤值。
範例:Floor(2.5) = 2
FracPortion
求出除了整數以外的小數值。
格式:FracPortion(Num)
Num:欲求出小數的值,如果不是數字的話會產生錯誤值。
範例:FracPortion(2.5) = 0.5
Highest
從使用者所指定的值群中(例如收盤價),使用者可輸入變數來指定期間,在當中找出最大的值。
格式: Highest(PRICE, LENGTH)
PRICE:使用者所使用的值(例如:(High+Low)/2)
LENGTH:使用者所指定的期間
會回覆所指定值群中的最大值
範例:Highest(Close + Open, 14)
在14小時的期間中,從收盤價和開盤價或其他的價格中,去尋找出最大的價格。
Highest(Average(RSI(Close,14),14),14)
求出RSI的14小時期間收盤價及求出14小時期間的移動平均價格,再從當中14小時的期間中,找出最大的值。
IntPortion
找出數字中的整數值。
格式:IntPortion(Num)
範例:IntPortion(4.5) = 4
IntPortion(-1.72) = -1
Log
求出自然對數值,也即求出以e(2.7182818)為基礎的對數值。
只可以接受數字值的輸入。
注意:通常只有常數值才可以使用。
求取底下e的(2.7182818))log值
範例:Log(4.5) = 1.5041
Log(172) = 5.1475
Log10
求出以十為底的商用對數值。只可接受數字值的輸入。
注意:通常只有常數值才可以使用。
Lowest
從使用者所指定的值群當中(例如收盤價),使用者可輸入變數來指定期間,在當中找出最小的值。
格式:Lowest(PRICE,LENGTH)
PRICE:使用者所使用的值(例如:(High+Low)/2)
LENGTH:使用者所指定的期間
會回覆所指定值群中的最小值
範例:Lowest(Close + Open, 14)
在14小時期間中,從收盤價和開盤價或其他的價格中,去尋找出最小的價格。
Lowest(Average(RSI(Close,14),14),14)
求出RSI的14的小時期間收盤價及14小時期間的移動平均價格,再從當中14小時期間中,找出最小的值。
Max
從使用者所輸入的值群中,找出最大的值。
注意:Max 和 MaxLis 擁有相同的約定語意思。
範例:Max(34, 45, 24, 18) = 45
MaxList
從使用者所輸入的值群中,找出最大的值。
注意:Max 和 MaxLis 擁有相同的約定語意思。
範例:MaxList(34, 45, 24, 18) = 45
Min
從使用者所輸入的值群中,找出最小的值。
注意:Min和 MinLis是相同擁有的約定語意思
範例:Min(34, 45, 24, 18) = 18
MinList
從使用者所輸入的值群中,找出最小的值。
注意:Min和 MinLis是相同擁有的約定語意思
範例:MinList(34, 45, 24, 18) = 18
Mod
求出使用者指定的值和除數所構成的餘值。
格式:Mod(Num1,Num2)
Num1:使用者所指定的價格
Num2:除數的意思
Pos
表示數字的絕對值。
格式:Pos(Num)
Num:輸入的數字
範例:Pos(-5) = 5
Pos(350) = 350
Power
求出指數值
格式:Power(Num1, Num2)
Num1:基礎值
Num2:指數值
範例:Power(2, 3) = 8
Power(4, 5) = 4096
Random
求出亂數值,是從0至使用者所指定的基準值之間找出一個任意值。
格式:Random(Num)
Num:使用者所指定的基準值
範例:Random(37) 會回覆一個0~37之間任意值
Round
求出以指定位數作為四捨五入的數字。
格式:Round(Num, Num_digits)
Num:欲做四捨五入之值
Num_digits:四捨五入的位數
注意:Num_digits若大於0的話,以按所指定的小數位數來作四捨五入。
Num_digits為1的話,以最接近的整數作四捨五入。
Num_digits若小於0的話,以小數點的左邊值作四捨五入。
範例:Round(2.15, 1) = 2.2
Round(2.149, 1) = 2.1
Round(-1.475, 2) = 以-1.475小數位兩位來作四捨五入
Round(21.5, -1) = 以21.5小數點左邊一個位置來作四捨五入
Sign
以1和-1的方式來表示正數或負數,與數字的絕對值大小無關。
格式:Sign(Num)
Num:確定數字值的符號
範例:Sign(56.23) = 1
Sign(-9.5687) = -1
Sine
求取Sine值。
格式:Sine(Num)
Num:角度
範例:Sine(30) = 0.5
SineH
求取Hyper Brick Sine值。
格式:SineH(Num)
Num:角度
範例:SineH(30) = 0.55
Square
求出平方值。
格式:Square(Num)
Num:使用者所指定的值
範例:Square(6.23) = 38.8219
Square(-9.5687) = 91.5600
SquareRoot
求出平方根值。
格式:SquareRoot(Num)
Num:使用者所指定的值
範例:SquareRoot(6.23) = 2.4960
SquareRoot(121) = 11
Tangent
求取Tangent值。
格式:Tangent(Num)
Num:角度
範例:Tangent(45) = 1
TangentH
求取Hyper Brick Tangent值。
格式:TangentH(Num)
Num:角度
範例:TangentH(30) = 0.48
All
不論是股票或是期貨當中,清算所有之股票或是契約及買入部位,是使用於清算時候賣出部位之單詞。
範例:
If Condition1 then
ExitLong all shares next bar at market
End If
上面句子Condition1如果是事實,保留之所有的股票在市場價中會在下一個bar當中是清算買入的部位意思。
At$
在進入委託單的狀態當中,已經預先指定了戰略性的計算價格的時候所使用的單詞。At$一定可以表示分配進入委託單相結合來使用。
範例:
If Average(Close, 10) Crosses Over Average(Close,20) then
Buy ("MA Cross Over") next bar at market
End If
ExitLong from entry("MA Cross Over") At$ Low - 1 point stop
將10個與20個bar的移動平均向上突破的時候,使用買入戰略。此時,損切賣委託單表示。
執行委託單之後,比起底價更低1點的價格中,可以用此添加At$標記的清算委託單方法了解標記。
AvgBarsLosTrade
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
以清算完成為買賣基準,損失發生的部位保有的許多candle數的單純平均。只有反映一個方向。
AvgBarsWinTrade
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
以各個清算完了的為基準,收益發生的部位保有的許多candle數的單純平均。只有一個方向的反映。
AvgEntryPrice
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
Pyramided部位之平均單價,沒有反應用以包含基準清算的部位單價。
Bar
特定之時間間隔圖形別(Tick、分、日、週、月等)參照市價,最高、中間、最低價所構成一個bar。
注意:
Bar通常可以和指定之價格或狀態(Condition)約定語的“Ago”與“bar ago”結合在一起使用,假如在一天圖形當中,bar與day的意思是相同的。
範例:
Close of 1 Bar Ago
表示前一天的收盤價。
ExitShort this bar on close
現在bar當中,在收盤價清算賣出部位的意思。
範例:
Buy ("Signal Name") next bar at open
如果滿足所給任何一種狀態之條件,會在下一個bar之市價中買入的表示式。
Bars
時間之表示在形式中,符合(Tick、分、日、週、月等)價格圖形中,表示價格單位之參照單詞。
注意:
Bar通常可以和指定之價格或狀態(Condition)約定語的“Ago”與“bar ago”結合在一起使用。假如在一天圖形當中,bar與day的意思是相同的。
範例:
Close of 5 Bars Ago
如果稱為一天圖形的話,就是五天前bar之收盤價的意思。
Average(Close, 10) of 5 bars ago
尋找10個bar的收盤價移動平均的前五個之價格之表示式。
BarsSinceEntry
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
無關賣出/買入,過去的從第n+1次部位進入開始經過candle的個數,從0開始計算第n+1次每進入candle所增加的1個號碼。
BarsSinceExit
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
無關買出/買入,過去的從第n+1次部位清算開始經過candle的個數,從0開始第 n+1次進入candle號碼。
Buy
執行買入進入之單詞。
注意:
產生之最快的進入委託單為現在bar之收盤價。
委託單與下一個相同之委託單範例:一起產生。
Commission
手續費之意思
格式:Commission=Fee( PerContract/PerOrder, Percent/Amount, EntryNumeric/ ExitNumeric)
範例:
KOSPI200期貨之情形:Commission = Fee( PerContract, Percent, 0.08, 0.08)
股票之情形:Commission = Fee( PerContract, Percent, 0.10, 0.40)
像在上面Signal所聲明之情形,對話視窗內與屬性毫無關係,使用上面所提及計算之價格,推導出成果分析之結果。
Commission不會反映在個別單價中,而是僅反映在實行損益、平價損益及累積損益等當中。
股票以$15,000元買入,20週,以$20,000元賣出,20週:
Commission = Fee( PerContract, Percent, 0.10, 0.40)
EntryPrice = 15000, ExitPrice = 20000, CurrentContracts = 20
NetProfit = (ExitPrice – EntryPrice) * Contracts – 15000 * 20 * 0.001 – 20000 * 20
0.004
Contract
為了做買賣之特定的契約數所出現之約定語。
注意:
Contract通常會與Buy、Sell及Exit一起使用。
範例:
Buy 1 contract next bar at market
在下一個bar中,把一個契約當成市價買入委託單,稱之為下委託單之表示式。
Sell 1 contract next bar at market
在下一個bar中,把一個契約當成市價賣出委託單,稱之為下委託單之表示式。
參照:
如果每一個都在買入委託單之情形中,若欲清算一個契約,請與下一個契約一起使用。
ExitLong 1 contract total next bar at market
Contracts
在交易中,所出現為了做買賣之特定的契約數之約定語。
注意:
Contract通常會與Buy、Sell及Exit一起使用。
範例:
Buy 6 contracts next bar at market
在下一個bar中,把一個契約當作市價買入,稱之為下委託單之表示式。
Sell 3 contracts next bar at market
在下一個bar中,把一個契約當作市價賣出,稱之為下委託單之表示式。
參照:
如果每一個都在買入委託單之情形中,若欲清算二個契約,請與下一個契約一起使用。
ExitLong 2 contracts total next bar at market
CurrentContracts
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
現在部位(相同方向)之數量,是買出(-)及是買入(+)。
CurrentEntries
為了買賣成果分析之保留字,部位進入每筆委託單建立一個記錄。
現在部位之進入次數。
Day
表示資料的一個bar之約定語。
注意:
如果是指定一天當中之資料的時,Day就是出現與bar相同之意思。
範例:
Close of 1 day Ago
出現以前bar之收盤價。
ExitShort this day on close
在目前bar之收盤價中輸入清算委託單之表示式。
參照:
Buy ("Signal Name") next day at open
所謂之Signal Name,就是在運用戰略中,把買入委託單放在下一個bar之市價的表示式。
Days
表示資料之每一個bar之約定語。
注意:
如果是指定一天當中之資料時,Day就是出現與bar相同之意思。
範例:
Close of 3 days Ago
出現以前bar之收盤價。
Average(Close, 10) of 5 days ago
是收盤價之10天期間所平均的前5個bar的表示式。
Entry
區分買入進入或賣出進入的約定語。
注意:
Entry不需要名稱。使用進入後的清算狀態。
範例:
ExitLong from entry ("MyTrade") next bar market
“MyTrade”是稱為在部位中以市價買入,在下一個Bar中放入清算委託單的表現方式。
Exitshort from entry ("MyTrade") this bar on close
“MyTrade”稱為在部位中,在現在Bar的收盤價中執行賣出清算的表現方式。
參照:
ExitLong from entry ("MyTrade") next bar at 75 Stop
“MyTrade”稱在部位中,下一個Bar是75時,執行買入委託單的表現方式。
EntryDate
為了買賣成果分析保留字,部位進入每筆委託單m,建立1個的記錄。
從顯示點到過去點,(n+1)次的部位進入日。
EntryPrice
為了買賣成果分析保留字,部位進入每筆委託單m,建立1個的記錄。
從顯示點到過去點,(n+1)次的部位進入價格。
EntryTime
為了買賣成果分析保留字,部位進入每筆委託單m,建立1個的記錄。
從顯示點到過去點,(n+1)次的部位進入時間。
EntryType
為了買賣成果分析保留字,部位進入每筆委託單m,建立1個的記錄。
從顯示點到過去點,(n+1)次的部位進入買賣類型:1:買入,-1:賣出
ExitDate
為了買賣成果分析保留字,部位進入每筆委託單,建立1個的記錄。
從顯示點到過去點,(n+1)次的部位清算日,在Buy/Sell委託單中清算也應該要斟酌包含在內。
ExitLong
為了買入清算在委託單中使用約定語。
注意:
和現在Bar的收盤價一起構成清算委託單是最快的。
委託單和下一個相同構文一起完成。
this bar on Close
next bar at Market
next bar at PRICE Stop
next bar at PRICE Limit
清算委託單和下一個單詞群一起完成。
Entry/Exit order, from Signal name, number of contracts, timing, Price, Market/Stop/Limit。
範例:
ExitLong 5 contracts this bar on close
現在Bar的收盤價中買入清算5個契約。
ExitLong next bar at market
在下一個Bar中以市價清算部位。
參照:
ExitLong from entry ("MyTrade") next bar at 75 Stop
在75時以委託單停止,在下一個清算“MyTrade”委託單。
ExitPrice
為了買賣成果分析保留字,部位進入每筆委託單,建立1個的記錄。
在顯示點中以過去方式(n+1)次的部位清算價格。
ExitShort
為了賣出清算在委託單中使用的約定語。
注意:
和現在Bar的收盤價一起構成的清算委託單是最快的。
委託單和下一個相同一起構成。
this bar on Close
next bar at Market
next bar at PRICE Stop
next bar at PRICE Limit
委託單和下一個相同的單詞群一起構成。
Entry/Exit order, from Signal name, number of contracts, timing, Price, Market/Stop/Limit
範例
ExitShort 5 contracts this bar on close
現在Bar的收盤價中,賣出清算5個契約的表現方式。
ExitShort next bar at market
在下一個Bar中以市價部位清算的表現方式。
參照:
ExitShort from entry ("MyTrade") next bar at 75 Stop
在75時停止委託單(也執行比較高的價格),在下一個清算“MyTrade”委託單。
ExitTime
為了買賣成果分析保留字,部位進入每筆委託單,建立1個的記錄。
在顯示點中以過去方式(n+1)次的部位清算時間。
From
以買入或賣出,為了使用區分名稱的清算構文的約定語。
注意:
在Entry中,進來的名稱雖然使用Buy(“MyTrade”)在此地方的名稱不需要使用“From”及“entry”一起使用並表示清算的狀態。
範例:
ExitLong from entry ("MyTrade") next bar market
會進入“MyTrade”戰略,在下一個Bar中以市價買入清算的方式表現。
Exitshort from entry ("MyTrade") this bar on close
“MyTrade”買入部位,在現在Bar的收盤價中賣出清算的表現方式。
參照:
ExitLong from entry ("MyTrade") next bar at 75 Stop
“MyTrade”稱在75的部位時停止買入清算委託單的表現方式。
GrossLoss
為了買賣成果分析保留字,部位進入每筆委託單,建立1個的記錄。
顯示點為止所完成損失和,(-)具備符號。
GrossProfit
為了買賣成果分析保留字,部位進入每筆委託單,建立1個的記錄。
顯示點為止所完成利益和,(+)具備符號。
參照:
GrossProfit + GrossLoss = NetProfit
Higher
戰略內隨著文理的流動,和Stop或Limit委託單相同的約定語。
Higher和下一個文理中“stop”(比較不利的條件中有效的委託單)具有相同的意思。
Buy next bar at MyEntryPrice or Higher;
ExitShort next bar at MyExitPrice or Higher;
Higher在下一個文理中和Limit具有相同的意思。
Sell next bar at MyEntryPrice or higher;
ExitLong next bar at MyEntryPrice or higher;
範例:
Buy next bar at Average(High,8) or higher
8日間高價的移動平均或比它更高的價格時,買入的表現方式。
Draw1 (I_AvgEntryPrice,"Avg Entry Price")
I_ClosedEquity
顯示清算資產的移動指標,I_內含可用指標畫出的意思。
具體呈現:Draw1 (I_ClosedEquity,"ClosedEquity")
I_CurrentContracts
現在所出現的指標是未清算部位約定數,I_是內含指標可以畫出來的意思。
具體呈現:Draw1 (I_CurrentContracts,"Counts")
I_MarketPostion
現在用指標出現部位的狀態,1是賣入的部位,0是沒有部位,-1是顯示賣出的部位。I_內含用指標可以畫出來的意思。
具體呈現:Draw1 (I_MarketPostion,"MarketPostion")
I_OpenEquity
用指標可以確認資產曲線的變化,I_用指標內含使用者可能完成的意思。
具體呈現:Draw1(I_OpenEquity,"Equity Curve")
LargestLosTrade
為了買賣成果分析保留字,發生部位進入委託單件單一個的記錄。
已清算買賣中用件別最大的損失金額。
LargestWinTrade
為了買賣成果分析保留字,發生部位進入委託單件單一個的記錄。
已清算買賣中用件別最大的收益金額。
Limit
委託單如何成交的相關約定。
注意:
“Limit”不是在現在bar的委託單中執行而是再下一個bar中執行 。
“Limit”以為比現在價格更好的或者一樣的價格(如果買進的委託單為更便宜的價格)。
“Limit”委託單必須要價格。
範例:
Buy next bar at 75 Limit
在75的下一個bar中以指定價買入的表現方式。
Sell next bar at 75 Limit
在75的下一個bar中以指定價賣出的表現方。
參照:
ExitLong next bar at 75 Limit
和75一樣或比它大的話,在下一個bar中有表示買入清算的意思,在這裡內含的是Limit75或比75更Higher的意思。
Lower
戰略內隨著文脈的流動,和Stop或是Limit委託單所同意的約定語。Lower在下一個文脈中具有stop(在不利條件中也有比較有效的委託單)及相同的意思。
Buy next bar at MyEntryPrice or Lower
ExitShort next bar at MyExitPrice or Lower
Lower在下一個的文脈中和Limit具有相同的意思。
Sell next bar at MyEntryPrice or Lower
ExitLong next bar at MyEntryPrice or Lower
範例:
Buy next bar at Average(High,8) or Lower
8日間表示買入高價的移動平均或比它低的價格中。
Market
無特定價格的下一個bar或tick的意思。
注意:
“Market”通常和買賣信號一起使用
範例:
Buy next bar at market
在下一個bar中用市價買入的表現方式。
MarketPosition
部位狀態所帶來函數(1=買入,0=無部位,-1=賣出)
格式:MarketPosition (posnum)
posnum:以現在為基準,之前的部位指稱index。
可能省略基本價0,
Posnum是0價格的話,現在有進入部位的情況並會帶來部位的狀態,現在沒有帶進來。
部位的情況是0(無部位)。
Posnum是1的話,之前清算完成的部位中,現在帶來最接近的部位狀態。
範例:
之前第2題部位是賣入部位的情況
Market部位(2) -> 1
MaxConsecLosers
為了買賣成果分析保留字,部位進入每筆委託單1個的記錄發生。
損失買賣中連續次數中最大的價格。
MaxConsecWinners
為了買賣成果分析保留字,部位建1個檔記錄。
數益買賣中連續次數中最大的價格。
MaxContracts
為了買賣成果分析保留字,部位進入建檔建立一個記錄。
以過去第n+1次部位的保有時間中,最大的持有數量。
MaxContracsHeld
為了買賣性及分析,部位進入建檔建立一個記錄。
無關時點的最大持有數量。
MaxEntries
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
過去第n+1次部位的保有時間中進來的信號所發生的件數。
MaxIDDrawDown
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
所有得買賣期間中最大的損失金額,和股價相同的陣列個數。
格式:MaxIDDrwaDown=CTD(Closed Trade DrawDown) +
OTD(Open Trade DrawDown)
實現的累積損益金額等於從最大的價格有最大的幅度+未實現持有倉庫的最大評價損失金。
範例:
Var : MaxProfit(-9999999), MaxTD(9999999)
If MaxProfit[1] < NetProfit Then MaxProfit = NetProfit
MaxTD = MinList(MaxTD[1], NetProfit + Max部位Loss - MaxProfit)
MaxPositionLoss
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
過去第n+1次部位保有期間中最大的評價損失。
是買入的話:(低價-進入價)*數量
是賣出的話:(買入價-高價)*數量
MaxPositionProfits
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
過去第n+1次部位保有期間中最大的評價收益。
是買出的話:(高價-進入價)*數量
是賣出的話:(進入價-低價)*數量
NetProfit
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
純利益(除了之前費用以外)。
NumLosTrades
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
完成清算買賣中的損失件數。
NumWinTrades
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
完成清算買賣中利益買賣的件數。
OpenEquity
意思是未清算的部位。
OpenPositionProfit
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
未清算倉庫的損益,現在只存在的價格。
Point
表示價格單位中每1單位增加的約定語。
注意:
“Point”反應小數部分的變化。
範例:
Close + 1 point
以價格單位的1單位增幅,在收盤價中增加的表現方式。
Low - 1 point
現在bar的低價中,刪除價格單位的1單位的表現方式。
參照:
和下一個相同的清算構文使用於防禦大規模的損失
ExitLong This Bar at EntryPrice - 1 point Stop
Points
表示價格單位的批次單位中增加的約定語。
注意:
和Point類似,“Points”反應小數部分的變化。
範例:
Close + 5 points
以價格單位的5單位增幅中,在收盤價增加的表現方式。
Low - 2 points
在現在bar的低價中,刪除價格單位中2單位的表現方式。
參照:
和下一個相同的清算構文使用防禦大規模的損失的範例:
ExitLong This Bar at EntryPrice - 2 points Stop
PointValue
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
1點的總價值意思。
PositionProfit
為了買賣性及分析保留字,部位進入建檔建立一個記錄。
過去第n+1次點的損益,0的話是現在部位的平均損益。
Sell
產生賣出的進入的約定語。
注意:
記住連結現在bar收盤價,所產生的委託單是最快的方法。
委託單和下一個構文群是一起生成的。
this bar on Close
next bar at Market
Share
買賣戰略內,決定買賣單位的約定語。
注意:
“Share”一般和Buy、Sell或者Exit構文一起使用。
範例:
Buy 1 share next bar at market
1週(單位)在下一個bar中,以市價買入的表現方式。
參照:
如果是期貨的話,1個契約在買入部位中決定清算的時候,也有可能和下面的表示一樣:
ExitLong 1 share total next bar at market
Shares
買賣戰略內,決定買賣中單位的約定語。
換句話說,“Share” 一般和Buy、Sell或者Exit構文一起使用。
範例:
Buy 2 shares next bar at market
2週(單位)在下一個bar中以市價買入的表現形式。
參照:
如果是期貨的話,總買入部位中要清算合約時,可能和下一個的表示相同:
ExitLong 2 shares total next bar at market
Stop
以某種委託單方式接近,表示進入或者清算構文中有可能的約定語。
注意:
“Stop”委託單執行不是現在bar,是在下一個bar。
“Stop”買入進入中,現在價格或具有相同或更高的意思。再賣出進入中,現在價格或具有更低的意思,所以所進入的交易者立場中,隨著情況進入不好的價格時可以使用。
“Stop”委託單和價格一起使用。
範例:
Buy next bar at 75 Stop
和75一樣或比較高的價格之下到下一個bar去購買的表示方式。
Sell next bar at 75 Stop
和75一樣或比較低的價格之下到下一個bar去販賣的表示方式。
參照:
ExitLong next bar at 75 Stop
和75一樣或更低的價格中,做買入清算的意思。Stop為買入的話,對買入價格不利的。賣出的話,賣出價格會執行委託單不利的意思。因此買入清算的情況,含在更低的價格時也會賣出委託單的意思。
This
顯示現在bar的預定語。
注意:
“This”一般使用在bar或Day相同的單詞上,並表示現在Bar或現在Day。
範例:
Buy This Bar on Close
現在Bar的收盤價中去購買的表現方式。
Sell This Bar on Close
現在Bar的收盤價中販賣的表現方式。
Total
買入部位或賣出的部位中清算時,表示總契約數的約定語。
注意:
區分決定清算的契約數時,通常在賣出狀態時使用。
範例:
ExitShort 1 contract total next bar at market
在下一個Bar的開盤價中,總部位中賣出清算一個契約的表現方式。
ExitLong 1 contract total next bar at market
在下一個Bar中,總部位中買入清算一個契約的表現方式。
參照:
ExitLong 5 contracts total next bar at market
買入部位,在下一個Bar的市價中買入清算5個契約的表現方式。
TotalBarsLosTrades
為了買賣成果分析保留字:部位進入每筆委託單,建立1個的記錄。
已清算的損失買賣中所經過的Bar的總概數。
TotalBarsWinTrades
為了買賣成果分析保留字,部位進入每筆委託單m,建立1個的記錄。
已清算的利益買賣中所經過的Bar總概數。
TotalTrades
為了買賣成果分析保留字,部位進入每筆委託單,建立1個的記錄。
已完成清算的總買賣件數。
Date/Time Function:日期和時間所表示的搜集控制文
Summary
PowerLanguage的條件法構造
宣告變數和制定控制文並擷取的條件法構造
宣告及data分配
控制文
擷取文(為了看文件所顯示出的文件)
使用者定義-移動平均函數(“MA”)制定事例
宣告及data分配
輸入變數
變數
變數data是排列的常數,邏輯值(True、False)的儲存位置,得到固定的值,計算式的值,data排列,決定條件的真、假的邏輯式值等,在變數中分配後出現於條件文章中這結果值想使用時和公式的文章一樣不需要再返回解除。
若使用相關變數的話,可以使用原來那個結果值。
宣告及data分配
宣告及data相關函數和指標之間的分配,函數分配宣言及指標分配data,上面的移動平均函數在制定時,於外部變數(Parameter)和內部變數(Variable)的宣告中,可以看到在外部變數中宣告稱為Numeric(常數)type(Variable type)。
制定函數的情形
Parameter: Price(Numeric), Length(Numeric)
制定指標的情形
Parameter: Price(Close), Length(14)
變數type:有常數,邏輯值,條件字列,在那之中可以使用常數的開盤價、最高價、最低價、收盤價和變數data。
常數(Numeric)
邏輯值(TrueFalse)
條件字串(String)
使用者函數
構文以反覆的方式是為了讓使用者的不便解除及管理的順暢,所稱“使用者函數”提供為強力可能
[制定順序]
選擇新的檔案並開啟函數
給以MA取的名稱並且設定以數字型式(Numeric)的變換值
在編輯窗中輸入“MA”的話, MA單句用紫色來設定(以紫色來表示部份使用者所宣言的函數)
在編輯窗中所表示過的例子
內部變數
只有在檔案內部回傳的變數,需要Variable變數宣告。
Variables : Summation(0), Counter(0)
Summation在變數中,以初始值來指定0值。
參照
在Variables宣言的變數中可以分配價格
Variables: Var1(0), Var2(0), Var3(0)
Var1(0) = MA(Close,20) - AverageTrueRange(50) //減
20日 移動平均中 50日ATR
Var2(0) = (Close + High + Low ) / 3 // 稱為那日的TrueRange
Var3(0) = Close - Close[5] // 收盤價中減去5日前收盤價
控制文
在控制文中, IF 和 For 有 Loop(Do ~ While(Until))
1.IF
和“如果~~的話~~就做”相同條件,是控制的函數
格式:
i. If [條件式]
Then [執行code]
Else [執行code]
End If
ii. If [條件式]
Then [執行code]
ElseIf 條件式
Then [執行code]
[Else] [執行code]
End If
2.Loop 條件
格式:
i. 先條件後 實行條件
Do控制文若是下一個While的話,在滿足條件下的情形可以執行實行文,若不能滿足的話Do Loop構文就會離開。
Do控制文若不是下一個While而是Until的話,直到滿足條件文為止執行實行文,若滿足的話Do Loop構文就會離開。
以共通的方式Exit Do,若碰到控制文的話制定文就會離開。
Do [ {While | Until } 條件 ]
執行code
[Exit Do]
執行code
Loop
ii. 後條件先 實行文
首先實行Exit Do內的實行文和隨著條件文的結果值,若Loop內的實行文沒有繼續實行的話,所決定的控制文就會離開。
一旦無條件執行實行文後,Loop控制文下一個是While的話,條件文在滿足的情形下執行實行文,若不能滿足的情形下控制文就會離開。
Loop控制文若在下一個是Until的話,若條件文沒有滿足的情形下執行實行文,若滿足的話控制文就會離開。
以共通的方式Exit Do,若碰到控制文的話控制文就會離開。
Do
執行code
[Exit Do]
執行code
Loop [ {While | Until } 條件 ]
隨著控制的流動順序再次整理的話會和下一個相同
Loop While的情形
1.執行實行文
2.碰到Exit Do的話,控制文就會離開
3.條件文真,假與否的check。
4.若滿足的話再從1次過程開始返覆進行,若不滿足的話會離開控制文。
Loop Until的情形
1.執行實行文。
2.遇到Exit Do的話,控制文就會離開。
3.條件文Check為真、假與否。
4.若滿足的話再從過程1開始反覆進行,若不滿足的話會離開控制文。
3.For .. End For
在變數中分配初始值及增加一定的增加值(Step以下若省略的話以基本增價值+1)比最終值小或相同為止就是執行實行文的控制文。遇到End For控制文的話就會離開控制文。
i.一般構文
For 變數 = 開始 To 結束 [Step 增減值]
執行code
[Exit For]
執行code
End For
ii.重疊構文
For I=1 To 10
For J=1 To 10
For K=1 to 10
實行文
End For
End For
End For
範例:
Counter從0開始到Length-1(例如:Length是14的話,14次期間)為止Summation(初始值 0)中Price[Counter]([x]出現前價)有繼續增加的意思。
演算關係參照
1.算術演算者
記號 使用法
+(加法) Close + Low
-(減法) Close – Low
*(乘法) Close * Low
/(除法) Close / Low
^(指數) Close ^ 2
2.關係演算者:在條件文中比值大時來使用
記號 使用法
< (小於) Close < Low(1)
<= (小於或等於) Close <= Low(1)
<> (不等於) Close <> 100
= (等於) Close = 100
> (大於) Close > Close(1)
>= (大於或等於) Close >= High(1)
3.邏輯演算者:在邏輯值中判斷真或假的結果值,隨著邏輯演算者所使用的演算結果中給予的條件,若滿足的話變成TRUE(真)的值,若給予的條件不能滿足的話是變成
FALSE(假)的值。
Or : 2個之中只有一個是真的話就變換為真(TRUE)
And : 2個都是真的話變換為真(TRUE)
範例:
If (H<L[5] and H<L[6]) and (H[2] < C[7] and H[2] < C[8]) Then
If ((Close Cross over Trend) or (Close Cross Below Trend)) Then
4.演算者優先順位
制定前略來看各種類的演算者混合後並使用時,這時以一般性的方式進行左側及右側演算,進行途中優先順序的規則和下一個相同,還有為了明確的意義傳達和順序設定括弧“(”,“)”,可以透過優先順序調整適合者。
優先順位
演算者
1.乘數演算者(^)
2.音義符號演算者(-)
3.乘法(*)和除法(/)
4.加法(+)和減法(-)
5.邏輯演算者(AND, OR)
[參考]利用括弧()可以調整優先順序。
注釋文
使用者制定函數時,在program的長度很長或複雜的情形下,program的制定時間中需要記錄有關聯的注釋文,注釋文所表示的情形有兩個,表示一篇文章的情形下用//,在文章開頭時用/*貼上去以後再處理所有的文章。
範例:
一篇文章的情形
長萹文章的情形
進行長萹文章的注釋時,以*/輸入完成注釋
昨日價參照
可能參照宣言的變數值,使用者函數和指標函數等的昨日值並有用地開發戰略
範例:
在Price[Counter]中, [x]是一種標記,參照前日價
Close[5] – Close[1]
Drawing函數
SniperPro圖形指標和買賣訊號,在圖形中提供視覺的方式並確認drawing函數。
1.DrawA
使用Draw1、Draw2...等方式,在SniperPro圖形中使用所畫出的指標。
以Draw1方式把寫出的部份MA函數是在圖形中畫出的文法:
Draw1(dataField還有value, “Draw Name”)
dataField還有value:畫出並放上技術性的指標儲存或價格data,函數等等。
DrawName:在圖形畫面上輸入技術性指標和名稱。
2.DrawBarA
使用在代表性的方式在日目均衡表中顯示類似雲台時畫出固定期間之間的垂直線。
DrawBar1(o, h, l, c, "Draw Name", Red, Blue, 1)
o, h, l, c:為了構成棒表示4個的data
"Draw Name":名稱表示
Red, Blue:顏色表示
1:寬度
DrawBar1的範例script
圖形表示
3.DrawBaseA
DrawBase1和DrawBase2...一起使用。
用RSI舉例來說,以75線過熱度來判斷25線停滯線的時候,用DrawBase1、2可以利用25線及75線。
DrawBase1 ( 0, "DrawBase Name", Red, 1 )
0:畫0線
"DrawBase Name":在圖形回覆名稱
Red:線的顏色(沒有輸入的情形下,在圖形的對話盒中可能變更一個,但是在圖形中輸入時候無法在圖形中變更)
1:線的寬度
DrawBase1、2、3的範例script
圖形表示
4.DrawPointA
為了試著Cant pattern買賣時點,畫出點的情形所提供的函數。
以DrawPoint1、DrawPoint2...方式來使用。
DrawPoint1 ( TopSide, "Hammer", Red, 4, 1 )
TopSide:在價格圖形的上端中點出點. DownSide是在下端中點出來。
"Hammer":在圖形中回覆點的名稱。
Red: 點的顏色(選擇)
4: 點的寛度(選擇)
1: 點的類型(選擇)
DrawPoint的範例script
圖形表示
5.FindPointA
在條件中檢索正確的相關個股時所使用的drawing函數,把個股檢索利用工具(Tool)相關的自選股可以檢索並看出相關的個股。
個別在圖形中,使用FindPoint的情形下和DrawPoint一樣給予表示條件正確情形。
FindPoint1 ( Value1, BottomSide, "Name", Red, 2, 1 )
Value1:表示條件值
BottomSide:設定位置,是在下端的意思
"Name":在圖形中表示回覆名稱
Red:點的顏色(選擇)
2:點的寬度(選擇)
1:點的類型(選擇)
FindPoint1 script範例
圖形表示
6.NoDraw、NoDrawBar
Draw1、Draw2符合某種條件的話就不用畫。
NoDraw(1):Draw1不用畫
NoDrawBar(1)
NoDraw、NoDrawBar script範例
圖形表示
圖中在固定的區間前會看不到畫出的圖案,固定的條件在充份之前不會在drawing時使用。
7.NodrawPoint、NoFindPoint
DrawPoint和FindPoint上的點將不表示。
8.ShowBase
把ShowBase用DrawBase來取代使用。
變數宣告及分配
變數是為了儲存數字(Numeric)值和邏輯值(Logical)所用到的名稱,飾制定時常用任意的結
果值,使用變數可以避免反覆修飾制定,可以得到比修飾解釋時間與結果值計算時間更
快的結果。
使用者注意事項:
變數宣言時一定要設定變數的基本值。
無法使用控制文成為變數的名字。
無法空格寫
太長的變數名的解釋很難修飾,使用者知道狀態的簡短變數名。
變數的宣告比其他修飾更應該首先在文章最前中設定位置。
變數名沒有傳來最初的數字。
使用逗號“,”一個變數宣告,以宣告在文中的各個的變數。
數字變數時可以使用基本值中“,”逗號。例:Price(10,000)->不可使用
變數名中可以使用韓文
變數的種類:
變數區分 data種類
數字(Numeric)變數 數字data
邏輯(Logical)變數 邏輯值 : true(真), false(假)
String 變數是所變換條件字列的變數
外部變數和輸入變數
隨著使用的用途中區分外部輸入和內部輸入
1.外部輸入變數
變數值可以變更外部的輸入值,在式的檢驗後屬性窗的變數在tap中可以變更,在外部中變數值沒有變更的情形以基本值設定,這變數式的內部中的無法分配其他值只有參考的可能。
關鍵字:Param、Params、Parameter、Parameters
範例:
一般情況
Parameters : period(10000), condition(true)
使用者函數情況
Parameters : price(Numeric), condition(Logical)
2.內部變數
變數值在外部中無法變更輸入值及在內部中可以使用並分配其他值。
關鍵字:Var、Vars、Variable、Variables
範例:
一般情況
Var : Condition(true), var1(0), var2(0), var10(0)
Condition = MA(Close,5) > MA(Close,20)
a = 10 //不做變數宣告的話,verify無法完成。跟著var : a(0)必須要增價加
var1 = 10
var2 = MA(c,5)
var10 = MA(c,10)
<參照:輸入變數>
排列
像開盤價、最高價、最低價、收盤價和交易量一般,在圖形中所算出的棒的數,所說的是棒的數為宣告的變數狀態,如果設定這類型的輸入變數的話,會分配像棒的相關個數並把逗號“, ”作為可能過去
值的參照價。
常數
在所有的棒以一括性的常數稱特徵值,排列類型及沒有與棒數相關的狀態,在逗號“, ”中不可能含有過去值的參照,立刻以當日變數成為只有一個房的相關狀態。
邏輯值
稱出現的值為邏輯值TRUE(真)、FALSE(假)
日期、時間函數
PowerEditor_introduction
PowerEditor使用PowerLanguage的函數制定戰略或開發編輯指標。
功能選項:為了使用便利的editor所表示的功能群
工具列:使用者常使用功能圖示化,比較容易使用並構成。
作用視窗:以基本的方式提供函數或指標及以直觀的方式檢索買賣訊號和新制定函數或指標及可以確認買賣訊號。
函數視窗:提供事前定義的函數及可以使用函數比使用者制定函數要方便檢索。
範例視窗:為了使用者可以方便地使用,表示幫助定義變數使用範例。
編輯視窗:word和使用者一起使用PowerLanguage函數及制定空間戰略等。
結果視窗:舉幾個例子來查看,用debug的三個tap構成,在圖形中表示之前已經可以檢驗所提供的功能。
狀態列:制定文章的位置和表示鍵盤活性化的作業狀態。
BackTesting
BackTesting系統函數可判斷目前系統是處在模擬環境中?或在即時買賣中?
If Backtesting Then // 如果是 Backtesting 的話
條件
Else
條件
End if
Q_Ask
表示賣出價的函數。
Q_Ask1
表示第一檔賣出價的函數。
Q_Ask2
表示第二檔賣出價的函數。
Q_Ask3
表示第三檔賣出價的函數。
Q_Ask4
表示第四檔賣出價的函數。
Q_Ask5
表示第五檔賣出價的函數。
Q_AskSize1
表示第一檔賣出量的函數。
Q_AskSize2
表示第二檔賣出量的函數。
Q_AskSize3
表示第三檔賣出量的函數。
Q_AskSize4
表示第四檔賣出量的函數。
Q_AskSize5
表示第五檔賣出量的函數。
Q_AskTotalSize
表示總賣出量的函數。
Q_Bid
表示買進價的函數。
Q_Bid1
表示第一檔買進價的函數。
Q_Bid2
表示第二檔買進價的函數。
Q_Bid3
表示第三檔買進價的函數。
Q_Bid4
表示第四檔買進價的函數。
Q_Bid5
表示第五檔買進價的函數。
Q_BidSize1
表示第一檔買進量的函數。
Q_BidSize2
表示第二檔買進量的函數。
Q_BidSize3
表示第三檔買進量的函數。
Q_BidSize4
表示第四檔買進量的函數。
Q_BidSize5
表示第五檔買進量的函數。
Q_BidTotalSize
表示總買進量的函數。
Q_Change
表示昨日漲跌的函數。
Q_Date
表示當日日期的函數。
Q_High
表示當日最高價的函數。
Q_Last
表示最新市價的函數。
Q_Low
表示當日最低價的函數。
Q_OI
表示當日未平倉量的函數。
Q_Open
表示當日開盤價的函數。
Q_Time
表示現在時間的函數。
Q_Volume
表示當日交易量的函數。
RealTrading
BackTesting系統函數可判斷目前系統是處在模擬環境中?或在即時買賣中?
If RealTrading Then // 如果是 RealTrading 的話
條件
Else
條件
End if
RunByPrice
RunByPrice以價格來判斷圖表的變動。
範例:
If Condition1 and RunByPrice Then
Buy
Else
‧‧‧
End If
除非Condition1是對的,並且RunByPrice也是對的時侯,就執行買進,否則執行其他條件。
RunByQuote
RunByQuote以出價來判斷圖表的變動。
範例:
If Condition1 and RunByQuote Then
Buy
Else
‧‧‧
End If
除非Condition1是對的,並且RunByQuote也是對的時侯,就執行買進,否則執行其他條件。
TriggerData
在圖表上執行多筆個股的話,即有data成為價格加 of data1, of data2
舉例來說,使用Close of data1、Close of data2,想要知道用某一種個股來動圖表的話,可以使用TriggerData來做確認。
範例:
IF Triggerdata = 2 Then
條件1
Else
條件2
End If
若Triggerdata值為2,則執行條件1,否則執行條件2。
Order Basic
Order |
處理內容 |
Stop |
Limit |
Buy |
所有賣出位置清算/新規買入 |
Or Higher |
Or Lower |
Exit Long |
買入位置清算 |
Or Lower
|
Or Higher |
Sell |
所有買入位置/新規賣出 |
Or Lower
|
Or Higher |
Exit Short |
賣出位置清算 |
Or Higher |
Or Lower
|
注意:執行一次訂單的話,未平倉狀態的那訂單有關峰的部份在完成後應該要自動的取消,最少訂單為了自動的執行應該要維持那有關的訂單號碼。
Shares == Contracts:所表示數量的此兩個單句意思上以統一方式處理
Buy [(“Order Name”)] [Number of Shares] [Execution Method]
例如:Buy (“Strong Bull”) 5 Contracts Next Bar at 103.45 Limit
原則:在Script和策略買賣在設定中所指定的價格有相沖的情況,在script內所記述內容為優先取得。把統一的訂單名的賣出庫存結算,並且所指定的訂單數量以買入訂單的方式來執行。
只有Buy的情況下和Buy (“Buy”) This Bar on Close做統一地處理,數量在策略買賣設定(Format Strategy)視窗中以基本來具備的數量。
“Order Name”:在圖表中買入記號底用test來取名,在成果分析報告書(Strategy Performance Report)中使用,買入清算(Exit Long)時,指定並清算此名稱的買入庫存。
Number of Shares(訂單數量):通常輸入數量,沒有指定的話策略買賣在設定視窗中(Format Strategy)以預設買賣數量的方式輸入完成的價格來使用,也可以指定變數。
[Execution Method]
[this bar] on Close:Back Testing的情況下,以有關峰的收盤價來成交,Automation(實際買賣)的情況,下一個峰開盤價(open price)形成的話馬上以價格執行訂單。
this bar at Market:Last + Slippage以價格來滿足條件立刻執行訂單
[next bar] at Market:現在峰的Close + Slippage以價格決定下一個峰的開盤價(open price)的話就馬上執行訂單。
[next bar] at price Limit:下一個峰中的價格在所指定的價格中(price)形成到達或更低的價格情況時立刻把所指定的價格(price)來執行訂單。
[next bar] at price Stop:下一個峰中的價格在所指定的價格中(price)形成到達或更高的價格情況時立刻以價格(price)來執行訂單。
Sell [(“Order Name”)] [Number of Shares] [Execution Method]
例如:Sell (“Strong Bear”) 5 Contracts Next Bar at 103.45 Limit
原則:Script和策略買賣在設定(Format Strategy)中和所指定的價格有相沖的情形,script內有優先的技術內容。
只有Sell的情況,和Sell (“Sell”) This Bar on Close做統一的處理,數量在策略買賣設定(Format Strategy)視窗中,以基本來具備數量。
“Order Name”:在圖表中買入記號底用test的方式來取名,成果分析報告書使用,賣出清算(Exit Short)時,可以指定並清算這名稱的買入殘餘。
Number of Shares(訂單數量):輸入一般的數量,若不能指定的話策略買賣在設定(Format Strategy)視窗中預設以買賣數量的方式輸入價格來使用,也可以指定變數。
Execution Method
[this bar] on Close:Back Testing情況中應當以峰的收盤價來訂定,在Automation(實際買賣)的情形下,下一個峰形成開盤價(open price)的話就馬上以價格方式執行訂單。
this bar at Market: Last – Slippage以價格的方式滿足條件後就立刻執行訂單。
[next bar] at Market:現在峰的Close–Slippage以價格方式決定下一個蜂的開盤價(open price)的話就立刻執行訂單。
[next bar] at price Limit:下一個峰中的價格,在指定的價格中(price)形成到達或更高的價格情況下就馬上以指定的價格(price)來執行訂單。
[next bar] at price Stop:下一個峰中的價格,在指定的價格中(price)形成到達或更低的價格情況下就馬上以指定的價格(price)來執行訂單。
ExitLong “Order Name” [from entry (“Entry Name”)] [Number of Shares [Total]]
[Execution Method]
例如:ExitLong from entry (“Strong Bull”) 5 Contracts Next Bar at 103.45 Stop
只有ExitLong的情形,和ExitLong (“XL”) This Bar on Close同意的方式來處理,數量為所有的現有買入庫存。
“Order Name”:在圖表中買入清算記號下一段用text記入此名稱,在成果分析報告書(Strategy Performance Report)使用,把多件的清算訂單可以區分。
ExitLong (“xxxxx”) :稱為“xxxxx”的買入清算訂單,把所有買入庫存整批清算。
ExitLong From Entry (“Strong Bull”) Next Bar at High + 3 Points Stop
現有稱為“Strong Bull”的“Order Name”的買入庫存,把此全部清算,這時如果“Order Name”是不一樣或者沒有“Order Name”的庫存在清算訂單數量就除外。
這時High為現在峰(this bar)的High,若具有庫存數量確認條件(CurrentContracts <> 0),在取得進入成交以後的下一個峰中以滿足條件而執行清算訂單。
If CurrentContracts > 0 Then
ExitLong At High Limit;
Number of Shares(訂單數量):通常輸入數量,如果沒有指定的話把和“Order Name”一樣的所有的買入庫存數量執行清算訂單,如果關於買入庫存沒有指定“Order Name”的話,把所有的買入庫存數量執行清算訂單。
Buy 100 Contracts
ExitLong 30 Shares
如上一般的訂單順序來執行時(容許pyramid的情況),在具有200個買入庫存的情況下,執行清算30個訂單。這表示各個100個買入庫存中執行各30個清算訂單,就是執行ExitLong 30 Shares訂單時,第一個買入庫存為70個,第二個買入庫存也為70個,以此方式來處理,因此,庫存為70+70=140。
如上的情況下,如果以清算只30個的訂單要一次執行時,先記入Total單語,就會u應用先進先出算法(first in, first out)。
ExitLong 30 Shares Total
[Execution Method]
[this bar] on Close:Back Testing的情況下,以相關峰的收盤價為成交,但Automation(實在買賣) 的情況下,形成下一個峰開盤價(open price)時,就以此價格來執行訂單。
以this bar at Market:Last–Slippage價格來滿足條件,就執行訂單。
[next bar] at Market:用現在峰的Close–Slippage價格來決定為下一個峰的開盤價(open price)就執行訂單。
[next bar] at price Limit:在下一個峰的價格達到指定的價格(price)或者形成更高的價格,就以指定的價格(price)來執行訂單。
[next bar] at price Stop:在下一個峰的價格達到指定的價格(price)或者形成更低的價格,就以指定的價格(price)來執行訂單。
ExitLong From Entry (“MyBuy”) Next Bar At$ Low – 1 Points Stop
(“MyBuy”)的買入庫存數量,若買入信號所發生過的峰(At$)的低價(Low)–1的價格會出現的話,即刻執行Stop訂單。
At$:除非清算訂單時,才有效的保留字。
Sales Result Analysis
AvgBarsLosTrade |
ExitTime(n) |
NumLosTrades |
AvgBarsWinTrade |
GrossLoss |
NumWinTrades |
AvgEntryPrice |
GrossProfit |
OpenPositionProfit |
BarsSinceEntry(n) |
LargestLosTrade |
PercentProfit |
BarsSinceExit(n) |
LargestWinTrade |
PositionProfit(n) |
Commission |
MaxConsecLosers |
Slippage |
CurrentContracts |
MaxConsecWinners |
TotalBarsLosTrades |
CurrentEntries |
MaxContracts(n) |
TotalBarsWinTrades |
EntryDate(n) |
MaxContractsHeld |
TotalTrades |
EntryPrice(n) |
MaxEntries(n) |
|
EntryTime(n) |
MaxIDDrawDown |
|
EntryType(n) |
MaxPositionLoss(n) |
|
ExitDate(n) |
MaxPositionProfit(n) |
|
ExitPrice(n) |
NetProfit |
|
Stop Order
為了執行stop訂單的條件如下:
SetStopContract:以各1個契約為基準來指定條件。
SetStopPosition:以全體位置為基準來指定條件。
若無上一段的條件,以SetStopContract條件為基準,在一個策略中,有兩個條件同時使用時,以最後一個為適用。
若具有幾件買入庫存或賣出庫存(進入價格不同),進入價格未清算庫存的平均價格(EntryAvgPrice)。
SetBreakEven( FloorAmount, [Fee] )
達到現有目標利益(FloorAmount)之後,再達到損益分期點(達到position進入價格)時,就把位置或所指定的數量清算的方式來執行訂單。
會應用到買入或賣出庫存,買入庫存為(買入價格+手續費)價格,賣出庫存為(賣出價格-手續費)價格時,就執行Stop訂單。
就是位置進入,收益達到FloorAmountfmf之後,減少的收益達到EntryAvgPriceFee,就如下執行系統內部的訂單:
ExitLong From Entry (“MyPosition”) This Bar At EntryAvgPrice +Fee Points Stop
ExitShort From Entry (“MyPosition”) This Bar At EntryAvgPrice -Fee Points Stop
“MyPosition”:在相關Signal script所指定的訂單名稱。
Fee通常輸入如下:
EntryAvgPrice * 0.00016
斟酌以最靠近於此價格的出價單位的Stop價格來執行訂單。
SetExitOnTime( Time )
為了庫存清算設定時間,用24小時表示的方式來執行Stop訂單。
時間檢查的基準利用成交價或出價資料時間,且資料時間比使用者所指定的時間較大,才執行訂單。
買入清算時,訂單價格為Last–Slippage價格,賣出清算時,訂單價格為Last + Slippage價格的方式來執行訂單。
SetTrailingStop( FloorAmount, Amount, Percent / Point )
位置進入後,收益達到(超過)FloorAmount之後,利益再減少,而且最高利益漲跌,此利益減少幅比Amount大或一樣時,執行Stop訂單。
買入庫存的收益=市價(最後價或收盤價)-買入價格
賣出庫存的收益=賣出價格-市價(最後價或收盤價)
Method指定為Percent時,FloorAmount為進入價格漲跌的目標收益率,因此買入位置時,進入位置後,LastPrice>=EntryAvgPrice*(1+FloorAmount/100)時,此訂單活性化並開始做監控。
以後(進入以後的最高受益價格-EntryAvgPrice)*Amount/100<=(進入以後的最高收益價格-LastPrice)時,以LastPrice執行ExitLong Stop訂單。
賣出位置時,進入位置後
LastPrice<=EntryAvgPrice*(1-FloorAmount/100)時,把此訂單活性化並開始監控。
以後(EntryAvgPrice-進入以後的最高收益價格)*Amount/100<=(LastPrice-進入以後的最高收益價格)時,以LastPrice執行ExitLong Stop訂單。
Method指定為Percent時,FloorAmount為進入價格漲跌的目標收益率,因此買入位置時,進入位置後,LastPrice>=EntryAvgPrice*(1+FloorAmount/100)時,此訂單活性化並開始做監控。
(進入後最高收益價格為LastPrice)>=Amount時,以LastPrice執行ExitLong Stop訂單。
賣出位置時,進入位置後,LastPrice<=EntryAvgPrice-FloorAmount時,此訂單活性化並開始做監控。
以後(LastPrice-進入後最高收益價格)<=Amount時,以LastPrice執行ExitLong Stop訂單。
在圖表中以TrailingStop%,TrailingStop Point表示。
SetProfitTarget( FloorAmount, Percent/Point)
達到所設定的目標利益時,後把清算庫存的訂單執行。
Method指定為Percent時,FloorAmount為進入價格漲跌的目標收益率,因此買入位置時,進入位置後,LastPrice>=EntryAvgPrice*(1+FloorAmount/100)時,以LastPrice執行ExitLong Limit訂單。
賣出位置時,進入位置後,LastPrice<=EntryAvgPrice*(1-FloorAmount/100)時,以LastPrice執行ExitLong Limit訂單。
Method指定為Percent時,FloorAmount為進入價格漲跌的目標收益率,因此買入位置時,進入位置後,LastPrice>=EntryAvgPrice*(1+FloorAmount/100)時,以LastPrice執行ExitLong Limit訂單。
賣出位置後,<=EntryAvgPrice-FloorAmount時,以LastPrice執行ExitLong Limit訂單。
SetStopLoss( FloorAmount, Percent/Point)
達到所設定的損失幅度時,後把清算庫存的訂單執行。
Method指定為Percent時,FloorAmount為進入價格漲跌的目標收益率,因此買入位置時,
進入位置後,LastPrice<=EntryAvgPrice*(1-FloorAmount/100)時,
以LastPrice執行ExitLong Stop訂單。
賣出位置後,LastPrice>=EntryAvgPrice*(1+FloorAmount/100)時,
以LastPrice執行ExitLong Stop訂單。
Method指定為Percent時, FloorAmount為進入價格漲跌的目標收益率,因此買入位置時:
進入位置後,LastPrice<=EntryAvgPrice-FloorAmount時,
以LastPrice執行ExitLong Limit訂單。
賣出位置後,LastPrice>=EntryAvgPrice+FloorAmount時,
以LastPrice執行ExitLong Limit訂單。
Stop Order處理方法
若Stop訂單已指定的話,把條件達成與否作為即時的方式繼續做監控的動作,在滿足於最初的條件的價格中,一定要執行訂單。
所利用歷史資料的Back Testing如下處理:
對股價變動的假定,很重要
OpenPrice<ClosePrice:OpenPrice?LowPrice?Highprice?ClosePrice
OpenPrice>ClosePrice:OpenPrice?HighPrice?LowPrice?ClosePrice
OpenPrice == ClosePrice 時,
If ClosePrice>=ClosePrice[1],OpenPrice?LowPrice?HighPrice?ClosePrice
If ClosePrice> ClosePrice[1],OpenPrice?HighPrice?LowPrice?ClosePrice
在一個峰中股價的時間別來表示變動如上述假定,並適用訂單,因此無庫存時,一定不會執行另外的Stop order。
比如說:
買入價格101.00,1個契約,股價為(101.00, 103.50, 100.25, 103,00)的情況下,若已設定SetStopLoss( 0.50, Point),SetProfitTarget(2.00, Point)的訂單,這表示“OpenPrice < ClosePrice”,因此假定的股價從101.00開始到100.25,以SetStopLoss(0.50, Point)訂單在101.00-0.50=100.50執行來判斷成交,因此SetProfitTarget(2.00, Point)會自動刪除,買賣結果為0.50point損失。
買入價格101.00,1個契約,股價為(101.00, 103.50, 100.25, 103,00)的情況下,若已設定SetStopLoss( 0.50, Point),SetProfitTarget(2. 70, Point)的訂單,這表示“OpenPrice >ClosePrice”,因此假定的股價從102.50開始到103.90,以SetProfitTarget (2.70, Point)訂單在101.00+2.70=103.70執行來判斷成交,因此SetStopLoss (0.50, Point)會自動刪除,買賣結果為2.70point利益。
FileAppend
FileAppend傳送特定情報到已經存在的ASCII檔案及也是將情報增加在檔案的最後。
格式:FileAppend (“檔案路徑與名稱”, “Text”)
“檔案路徑與名稱”表示要增加Text文字列的ASCII檔案所在的路徑與檔案名稱,必須以雙引號(“”)包含此檔案路徑與名稱。
“Text”是在要在檔案中追加的文字列。
注意:檔案名稱不能使用變數。
若檔案不存在,則會自動產生新檔案。
若要傳送數字到檔案中,先使用NumToStr函數來變換成字串。
範例:
If Open > High[1] * 1.1 Then
FileAppend( "c:\mydata.txt",
"This symbol gapped up on " + NumToStr(Date, 0) + NewLine )
End if
當開盤價漲至昨日最高價的1.1倍時,就將字串“This symbol gapped up on + 日期”寫入到檔案“c: \mydata.txt”的最後一行。
FileDelete
刪除指定的檔案是約定語。
格式:FileDelete(“FileName”)
FileName必須為有效的路徑與檔案名稱,必須以雙引號(“”)包含。
注意:檔案名稱必須使用文字串,不能使用變數。
範例:
If BarNumber = 1 Then
FileDelete("c:\mydata.txt")
End If
若BarNumber的值為1,則刪除相關檔案"c:\mydata.txt"。
InStr
回覆String2在String1中所在的位置。
格式:InStr (String1, String2)
String1是要被檢索的字串。
String2是要檢索的字串。
注意:表示String2在String1中所在位置的方法,是從左邊開始計算字元的數目,如果String1中具有與String2相同的字串,就把最先字元所在位置回覆;如果String1中無法找到與String2相同的字串,就回覆0。
範例:
InStr("Net Profit in December", "Profit")
因為Profit字串的起始為第5個字元,所以就會回覆5。
InStr("Net Profit in December", "January")
因為在String1中無January字串,所以回覆0。
LeftStr
從Str1字串中,取得自左邊算起共sSize個字元的字串。
格式:LeftStr (Str1, sSize)
Str1必須包括在雙引號(“”)中。
sSize表示要取得的字元數。
範例:
LeftStr("Net Profit", 3)
表示從“Net Profit”左邊算起提取3個字元,也即提取“Net”。
LowerStr
將字串中所有的字元轉換成小寫字母的字元。
格式:LowerStr("Str1")
Str1: 表示字串。
範例:
Value1 = LowerStr("My TestString")
將字串轉換成“my textstring”,所以Value1 = "my textstring"。
MidStr
從Str1字串中,取得自左邊算起第sPos個元位起,共sSize個字元的字串。
格式:MidStr (Str1, sPos, sSize)
Str1必須包括在雙引號(“”)中。
sPos表示自第幾個字元開始。
sSize表示要取得的字元數。
範例:
Value1 = MidStr("Net Profit Value", 5, 6)
從左邊開始自第5個字元開始提取6個字元,所以Value1 = "Profit"。
NumToStr
把數字轉換成字串。
格式:NumToStrr (num, size)
num:表示郤轉換的數字
size:以字串來表示時,小數點後面的位數。
範例:
Value1 = NumToStr(1170.5, 2)
1170.5數字用小數點2位的字串來表示,所以Value1 = "1170.50"。
配合PowerEditor的Debug Tap畫面使用,可以顯示相關的指標或買賣信號的數值。
格式:Print(Str1,Str2,...)
範例:
Print( Date, Time, Close )
會在Debug畫面上顯示日期、時間、收盤價。
RightStr
從Str1字串中,取得自右邊算起共sSize個字元的字串。
格式:RightStr (Str1, sSize)
Str1必須包括在雙引號(“”)中。
sSize表示要取得的字元數。
範例:
RightStr("Net Profit", 3)
表示從“Net Profit”右邊算起提取3個字元,也即提取“fit”。
Space
產生指定位元數目的空白字串。
格式:Space(Num)
Num:空白字串的長度
範例:
Value1 = Space(3)
回應3個位元的空白字串,即Value1 = " "。
Spaces
產生指定位元數目的空白字串。
格式:Spaces(Num)
Num:空白字串的長度
範例:
Value1 = Spaces(3)
回應3個位元的空白字串,即Value1 = " "。
StrLen
回應字串的位元數。
格式:StrLen("str1")
str1:表示字串
範例:
Value1 = StrLen("Net Profit")
回應字串的位元數,所以Value1 = 10。
StrToNum
將字串轉換成數字。
格式:StrToNum("Str1")
Str1:數字的字串
範例:
Value1 = StrToNum("1170.50")
將“1170.50”字串轉換成1170.5的數字,所以Value1 = 1170.5。
UpperStr
將字串中所有的字元轉換成大寫字母的字元。
格式:UpperStr("Str1")
Str1: 表示字串。
範例:
Value1 = UpperStr("My TestString")
將字串轉換成“MY TESTSTRING”,所以Value1 = "MY TESTSTRING"。
LN_Delete
在圖表上刪除特定趨勢線。
格式:LN_Delete (value)
value:是一種數學式,是識別趨勢線的代碼或者反映識別代碼。
注意:若無法刪除趨勢線,LN_Delete會回覆錯誤代碼。
若趨勢線刪除得成功,LN_Delete會回覆0。
範例:LN_Delete(3)
刪除識別代碼為3的趨勢線。
Value5 = LN_Delete( Value2 )
參數可以使用像Value2的約定語。
LN_Exist
若趨勢線存在,就回覆True值。
格式:LN_Exist (ID)
ID:表示趨勢線的識別代碼。
若指定ID的趨勢線存在,就回覆True,否則回覆False。
範例:若想要把買進下單放在趨勢線,必須先確定趨勢線存在。
若趨勢線存在,即可執行如下一段程式碼:
If LN_Exist(1) Then
Buy Next Bar at LN_GetValue(1, Date, Time)
End If
LN_Exist(1)表示代碼1的趨勢線已經存在,就執行If的下一段。
LN_GetBeginDate
回覆指定趨勢線的開始日期(YYYMMDD)。
格式:LN_GetBeginDate (value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆開始日期,否則就回覆錯誤代碼。
範例:Value1 = LN_GetBeginDate(6)
為了得到回覆值,必須輸入數字變數,如果輸入6且趨勢線以2004年1月 14日為開始的話,就會回覆040114。
LN_GetBeginTime
回覆指定趨勢線開始的時間(24小時格式:HHMM)
格式:LN_GetBeginTime(value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆開始時間,否則就回覆錯誤代碼。
範例:Value1 = LN_GetBeginTime(2)
為了得到回覆值,必須輸入數字變數,如果輸入2且趨勢線以下午一點
開始的話,就會回覆1300。
LN_GetBeginVal
回覆指定趨勢線Y軸(價格)的開始價格。
格式:LN_GetBeginVal (value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆開始點的價格,否則就回覆錯誤代碼。
範例:Value1 = LN_GetBeginVal(5)
為了得到開始點的價格,必須輸入數字變數,如果輸入5並開始點的價格是41.543,就回覆41.542。
LN_GetColor
回覆指定趨勢線的一般顏色值。
格式:LN_GetColor (value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:顏色值是以一般數字來標記(deport –1)。
若執行成功,就會回覆顏色值,否則回覆錯誤代碼。
範例:Value1 = LN_GetColor(1)
為了得到顏色值,必須輸入數字變數。若趨勢線代碼1是黃色,就會回覆代表黃色的數字7。
LN_GetEndDate
回覆指定趨勢線的最後日期(YYYMMDD)。
格式:LN_GetEndDate(value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆最後日期,否則就回覆錯誤代碼。
範例:Value1 = LN_GetEndDate(6)
為了得到回覆價,必須輸入數字變數,如果輸入6且趨勢線以2004年1月 14日為結束的話,就會回覆040114。
LN_GetEndTime
回覆指定趨勢線的最後的時間(24小時格式:HHMM)
格式:LN_GetEndTime(value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆最後時間,否則就回覆錯誤代碼。
範例:Value1 = LN_GetEndTime(2)
為了得到回覆值,必須輸入數字變數,如果輸入2且趨勢線以下午一點結束的話,就會回覆1300。
LN_GetEndVal
回覆指定趨勢線Y軸(價格)的最後價格。
格式:LN_GetEndVal (value)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆最後點的價格,否則就回覆錯誤代碼。
範例:Value1 = LN_GetEndVal(5)
為了得到最後點的價格,必須輸入數字變數,如果輸入5且最後點的價格是41.543,就回覆41.542。
LN_GetExtLeft
若回覆值為真,就表示是向左邊延伸,若回覆值為假,就表示不向左邊延伸。
格式:LN_GetExLeft (Ref)
Ref:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆真值,無論趨勢線向左邊有無延伸。否則就回覆 錯誤代碼。
範例:Condition1 = LN_GetExtLeft(12)
為了回覆真或假(true/false)變數,必需輸入識別代碼,若向左邊不延伸,就回覆false值。
LN_GetExtRight
若回覆值為真,就表示向右邊延伸,若回覆值為假,就表示不向右邊延伸。
格式:LN_GetExtRight (Ref)
Ref:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:若執行成功,就回覆真值,無論趨勢線向右邊有無延伸。否則就回覆 錯誤代碼。
範例:Condition1 = LN_GetExtRight (12)
為了回覆真或假(true/false變數),必需輸入識別代碼,若向右邊不延伸,就回覆false值。
LN_GetSize
回覆所選趨勢線的寛度。
格式:LN_GetSize (Ref)
Ref:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:寬度範圍是0(最薄)~6(最寬)。這和趨勢線寬度類型Tab的對話盒的寬度類型是一樣的。
若執行成功,就像執行寬度對話盒的一般動作,否則回覆錯誤代碼。
範例:Value1 = LN_GetSize(1)
為了得到寛度,必需輸入數字變數,所輸入2的第3檔寬的線。
LN_GetStyle
回覆趨勢線的樣式。
格式:LN_GetStyle (LN_Ref)
value:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
注意:共有五種樣式
表現數字的號碼和使用樣式對話盒的設定一樣。
若執行成功,回覆適合的樣式代碼,否則回覆錯誤代碼。
範例:Value1 = LN_GetStyle(1)
應用線的樣式在趨勢線。
LN_GetValue
回覆指定趨勢線的指定日期與時間的值。
格式:LN_GetValue (Ref, cDate, tTime)
Ref:是一種數學式,即是指定趨勢線的識別代碼或者特定代碼。
cDate:輸入YYMMDD格式的日期
tTime:輸HHMM格式的時間
注意:若執行成功,就回覆指定日期與時間所在的值,否則就回覆錯誤代碼。
範例:Value1 = LN_GetValue(5, 040312, 1400)
回覆識別代碼為5的趨勢線,在2004年3月12日下午2點的值120.23。
LN_New
是在指定開始點與最後點間畫一條新的趨勢線。
格式:LN_New (sDate, sTime, sVal, eDate, eTime, eVal)
sDate:表示開始日期,格式為YYMMDD。
STime:表示開始時間,格式為24小時為單位的HHMM。
SVal:表示開始點的值,必須表示數學性。
e Date:表示最後日期,格式為YYMMDD。
eTime:表示最後時間,格式為24小時為單位的HHMM。
eVal :表示最後點的值,必須表示數學性。
注意:新產生的個體以所制定的樣式來編碼,從0到n定號碼,因此識別號碼0表示第一修趨勢線,n表示最後一條趨勢線。
若執行成功,就回覆新趨勢線的識別代碼,否則回覆錯誤代碼。
範例:Value1 = LN_New(040312, 0930, 145, 040319, 1500, 137.250)
自2004年3月12日上午9點30分145點處開始,畫一條趨勢線到2004年3月19日下午3點137.25點處。
為了識別代碼放在趨勢線,必須使用數字變數。
LN_SetBegin
重新設定所指定的趨勢線開始點。
格式:LN_SetBegin (Ref, sDate, sTime, sVal)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
sDate:表示開始日期,格式為YYMMDD。
s Time:表示開始時間,格式為24小時單位的HHMM。
sVal:表示開始時點的值,必須為數學式。
注意:若執行成功就回覆0,否則就回覆錯誤代碼。
範例:LN_SetBegin(4, 040221, 1015, 107.225)
在識別代碼為4的趨勢線上,把2004年2月21日10點15分107.25點設為最初開始點。
LN_SetColor
設定所指定的趨勢線顏色。
格式:LN_SetColor (Ref, cColor)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
cColor:要設定的顏色
注意:若執行成功就回覆0,否則就回覆錯誤代碼。
範例:LN_SetColor(1, 7)
LN_SetColor(1, Yellow)
輸入顏色的識別代碼或顏色名稱,都可以改變顏色,如上面的例子,趨勢線顏色會變成黃色。
LN_SetEnd
重新設定所指定的趨勢線結束點。
格式:LN_SetEnd (Ref, eDate, eTime, eVal)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
eDate:表示結束日期,格式為YYMMDD。
eTime:表示結束時間,格式為24小時單位的HHMM。
eVal:表示結束時點的值,必須為數學式。
注意:若執行成功就回覆0,否則就回覆錯誤代碼。
範例:LN_SetEnd(0, 040221, 1415, 107.25)
在識別代碼為0的趨勢線上,把2004年2月21日下午2點15分107.25點設為結束點。
LN_SetExtLeft
不論左邊有無延伸,在指定的趨勢線執行左邊延伸。
格式:LN_SetExtLeft (Ref, tfExt)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
tfExt:指定趨勢線的延伸情況。
True = 有左邊延伸
False = 無左邊延伸
注意:若執行成功就回覆0,否則就回覆錯誤代碼。
範例:LN_SetExtLeft(1, False)
把1號趨勢線的左邊延伸做成非活性化。
LN_SetExtRight
不論右邊有無延伸,在指定的趨勢線執行右邊延伸。
格式:LN_SetExtRight(Ref, tfExt)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
tfExt:指定趨勢線的延伸情況。
True = 有右邊延伸
False = 無右邊延伸
注意:若執行成功就回覆0,否則就回覆錯誤代碼。
範例:LN_SetExtRight (1, False)
把1號趨勢線的右邊延伸做成非活性化。
LN_SetSize
設定指定趨勢線的寬度。
格式:LN_SetSize (Ref, Size)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
Size:表示趨勢線的寬度。
注意:寬度範圍是0~6,與寬度對話盒的功能一樣。
若執行成功就回覆0,否則回覆錯誤代碼。
範例:LN_SetSize(4, 3)
設定趨勢線4的寬度為3。
LN_SetStyle
設定指定趨勢線的樣式。
格式:LN_SetStyle (Ref, Style)
Ref:代表數學式,即是指定趨勢線的識別代碼或者特定代碼。
Style:指定趨勢線的樣式。
注意:有5種可能的樣式:
Tool_Dashed
Tool_Dashed2
Tool_Dashed3
Tool_Dotted
Tool_Solid
若執行成功就回覆0,否則回覆錯誤代碼。
範例:LN_SetStyle(4, 3)
設定趨勢線4為樣式3。
TXT_Delete
刪除指定Text的個體。
格式:TXT_Delete (Ref)
Ref:是Text個體的識別代碼,並亾數學式來表現。
注意:若刪除成功,就回覆0,失敗就回覆錯誤代碼,
範例:TXT_Delete(3)
刪除識別代為3的Text。
TXT_Exist
判斷若Text存在,就回覆True值。
格式:TXT_Exist (ID)
ID:表示趨勢線的識別代碼
注意:若指定ID的Text存在,就回覆True,否則回覆False。
TXT_GetColor
TXT_GetDate
TXT_GetHStyle
TXT_GetString
TXT_GetTime
TXT_GetValue
TXT_GetVStyle
TXT_New
TXT_SetColor
TXT_SetLocation
TXT_SetString
TXT_SetStyle
留言列表