close

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的話這樣的意義用否定來表現用“!=”的方式被使用

 

 

 

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

這個和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

“&&”這在Value1Value2互相交叉且上升,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上面或者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

回覆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小或一樣的意思

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)中Value1比Value2小或者具有相同的意思。

Over”和“Above”有同樣的意義。

 

範例:

If Average(Close, 9) Crosses Over the Average(Close, 18) Then

“Over”是分析有2個移動平均時,是某種具有使用方向來交叉的意義。

 

If Value1 Crosses Over Value2 Then

OverValue1Vaue2某種具有使用方向來交叉的意義

 

 

 

 

 

回覆

回覆數字的類型。

如果函數生成時一定要有計算函數的方式,只有必須分類有的價格可以回覆,函數是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個範例中使用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有關價格的結果,當使用者輸入1,2時將執行多久才會出現,如果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

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

注意

Under和crosses(或是 cross)結合來使用而且表示某種價值“以下交叉”的表現或者具有比其他某種價值較小的意義。

如果Value1 Value2執行“crosses Under”的話,表示現在Value1Value2小,意思也就是說之前bar中Value1Value2大或相同的意思。

 

 

範例:

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日期間內收盤價當中最高價還要高的話”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

可以無限制使用此功能函數DrawDraw1()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

回覆String2String1中所在的位置。

格式InStr (String1, String2)

       String1要被檢索的字串。

              String2是要檢索的字串。

 注意表示String2String1中所在位置的方法是從左邊開始計算字元的數目如果String1中具有與String2相同的字串就把最先字元所在位置回覆String1中無法找到與String2相同的字串就回覆

 範例:

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"。

 

 

Print

 配合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

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 karst 的頭像
    karst

    股蟲啥米~~

    karst 發表在 痞客邦 留言(1) 人氣()