HTS 和 TradeStation 的函數有些是不一樣的,雖然大部份都相同,不過總是有那麼少數是需要做修正的,如果要把 HTS 的程式轉到 Tradestation 來,那以下的東西就需要注意了,目前只寫出我有用到的,很多我沒用到的,其實我也不會去注意到,如果有人知道其它的,就幫我補一下吧~
HTS | Tradestation |
---|
MA |
Average |
Draw1 |
Plot1 |
OpenOfD |
OpenD |
Parameter |
Input |
abs(xx) |
absValue(xx) |
draw1 |
plot1 |
好像我用到的就只有這些了…還真少啊…有用到再慢慢補吧…
請問,在HTS有這樣的語法
回覆刪除E=min(E[1],high);
這裡的min在TS裡該用什麼代替?
還有max又是用什麼代替呢?
又
Vars:AA(true),BB(0);
If !AA And BB != 0 Then...
這裡的驚嘆號是什麼意思?
在TS該用什麼代替?
感謝版主,實在是google不到了~
min 可以用 MinList 替代…TS 這邊可以接受多個數值比較…HTS 只能放兩個的樣子…另外 max 就是 MaxList
回覆刪除嗯..驚嘆號啊..代表的是 not 的意思…也就是說如果 AA 為 true.. 那 !AA 就會為 false..
後面的 != 就是不等於…TS 可以用 <> 替代…至於前面的 !AA...我在 TS 就找不到了…只好給你一個比較麻煩的方法了:
if AA = true then
AA=false
else
AA=true;
if AA and BB <> 0 then...
試試看囉
感謝版主
回覆刪除我試用aa<>true以取代!aa,verify沒出現錯誤提示,這樣是否表示應該也可以吧??
關於HTS與TS的轉換差異
小弟也補充一下:
abs(xx)->absValue(xx)
以 if !AA and BB != 0 的情況下這樣是可行的..這個地方你本來就是要在 AA = false 才進行下去…所以這樣用是可以的..
回覆刪除另外也謝謝你提供個新的資訊..:p
大大您好
回覆刪除我又遇到一個難題
我用TS回測時,2000年竟然都沒有信號,1999年卻有信號,
因為2001年以前開收盤時間和現在不同,而
我用當沖系統,所以我用
if date >= 1010101 then begin
if marketposition =1 and time =1315.00 then begin
exitlong next bar at market;
end;
if marketposition =-1 and time =1315.00 then begin
exitshort next bar at market;
end;
end
else
if marketposition =1 and time =1200.00 then begin
exitlong next bar at market;
end;
if marketposition =-1 and time =1200.00 then begin
exitshort next bar at market;
end;
不知道時間參數是不是有問題?
我剛試了一下..日期的部份應該沒問題..也許問題出在你進場的時間吧?
回覆刪除大大啊
回覆刪除冤枉啊~
進場時間1999和2000都是同個程式嘛
時間條件是同一行的
只有區分2001年以後和之前而已啊!
而且很奇怪的是,若不區分日期,2001年以後的年月績效也都會改變,按理2001年以後的績效不該有所改變才對啊,除非我區分日期後,程式根本是亂套了,您認為呢?
你好:
回覆刪除請教您 HTS 指標內有一函數 DrawBar1 ,TS不知要怎樣改。謝謝!!
你可以試試 plotpb 或是 plotpaintbar
回覆刪除DH:
回覆刪除大大請問這各地方要怎麼翻成TS
IF BarsSinceEntry(0) <> 0 AND HIGH >= value98 THEN begin
IF OPEN >= value98 THEN begin
EXITLONG("停利s") THIS BAR AT OPEN OR Higher;
EXITLONG("停利ss") THIS BAR AT OPEN OR LOWER;
end ELSE
EXITLONG("停利sss") THIS BAR AT value98 OR HIGHER;
EXITLONG("停利SSSS") THIS BAR AT value98 OR LOWER;
END;
END;
您好:TS 沒辦法用 this bar …所以要用
回覆刪除exitlong ("停利") next bar at value98 limit
DK大大:
回覆刪除elseIf time=085500 or time=090000 or time=090500 or time=091000 or time=091500 then
請問這段怎麼翻TS?
TS 的時間是 0850.00 這種格式..應該你換成這樣就行了..
回覆刪除D.K大~~
回覆刪除請問一下,根號的語法@@
拍謝逅= =,剛接觸TS好多東西都不會,還要多麻煩您了>"
還有~~請問TS有說明書嗎@@?
謝謝^^
Tai: Squareroot(25) = 5
回覆刪除還真的要用開根號啊.....
恩阿~~
回覆刪除來試試看!!
哈哈^^
請問,在hts裡N= Sum(Diff,Period)
回覆刪除ts中要如何寫
ts檢查sum是錯誤的
感謝DK回覆
Ean: Summation 就行了
回覆刪除DK大您好,如果像是上頭版友提到的...
回覆刪除EXITLONG("停利s") THIS BAR AT OPEN OR Higher;
EXITLONG("停利ss") THIS BAR AT OPEN OR LOWER;
EXITLONG("停利sss") THIS BAR AT value98 OR HIGHER;
EXITLONG("停利SSSS") THIS BAR AT value98 OR LOWER;
是不是要改成下面這兩行就行了↓
EXITLONG("停利s") next bar AT OPEN limit;
EXITLONG("停利sss") next bar at value98 limit;
它的結果跟原來用在HTS的THIS BAR會一樣嗎?
結果還是會不太一樣..this bar 是以目前這根來做決定..next bar 是以上一根的資料作決定...所以結果還是會有差異的..
回覆刪除另外要用 next bar 的話...需要把 stop 也寫進去..
請教一下dk大,ts的當日高點表達要怎寫,假設value1=當日高點,因為在hts表達是
回覆刪除Array: HoD[84](-1)
value1=highofD(0,HoD)
若在ts寫signal要怎麼寫ㄋ???
FAN: TS 的話.. 當日高點是 highd(0), 昨日高點的話是 highd(1), 已經有內建函式可以直接使用..另外也有 lowd, closed, opend 等可以用
回覆刪除