![]() |
在這個頁面顯示本主題全部的 5 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [求救]TS碼轉奇狐 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=17562)
[求救]TS碼轉奇狐
小弟最近在摸奇狐
之前是用ts
有個指標想轉換成奇狐,
但礙於奇狐似乎無法給定變數初值
一直不知如何下手,希望有人能指點一二
以下附上TS的程式碼
Inputs:
PercentScale(1);
Vars:
RenkoUp(0),
RenkoDn(0);
If CurrentBar = 1 then
Begin
RenkoUp = Close*(1+PercentScale/100);
RenkoDn = Close*(1-PercentScale/100);
End;
If Close > RenkoUp then
Begin
RenkoDn = RenkoDn*(1+PercentScale/100);
RenkoUp = RenkoUp*(1+PercentScale/100);
End
Else If Close < RenkoDn then
Begin
RenkoDn = RenkoDn*(1-PercentScale/100);
RenkoUp = RenkoUp*(1-PercentScale/100);
End;
Plot1(RenkoUp,"Up",Red);
Plot2(RenkoDn,"Dn",Green);
回覆: [求救]TS碼轉奇狐
引用:
最初由 scshen1981 發表
小弟最近在摸奇狐
之前是用ts
有個指標想轉換成奇狐,
但礙於奇狐似乎無法給定變數初值
一直不知如何下手,希望有人能指點一二
以下附上TS的程式碼
Inputs:
PercentScale(1);
Vars:
RenkoUp(0),
RenkoDn(0);
If CurrentBar = 1 then
Begin
RenkoUp = Close*(1+PercentScale/100);
RenkoDn = Close*(1-PercentScale/100);
End;
If Close > RenkoUp then
Begin
RenkoDn = RenkoDn*(1+PercentScale/100);
RenkoUp = RenkoUp*(1+PercentScale/100);
End
Else If Close < RenkoDn then
Begin
RenkoDn = RenkoDn*(1-PercentScale/100);
RenkoUp = RenkoUp*(1-PercentScale/100);
End;
Plot1(RenkoUp,"Up",Red);
Plot2(RenkoDn,"Dn",Green);
不好意思
請問奇狐設定初值的公式寫法為何呢?
我當初是寫成以下格式
AA := 0
BB := If( Cond1 , Close, Ref(AA,1));
結果當cond1 沒發生時,
AA都變為0了,並非小弟所要的case
小弟希望的運算原理如下所示
1.令該檔股票第一根k棒的收盤價為 RefPrice
上通道 = RefPrice + (1% * RefPrice)
下通道 = RefPrice - (1% * RefPrice)
2. 若 k棒的收盤價 向上突破 上通道
則 上通道變更為 原本的上通道 + (1% * 原本的上通道)
下通道變更為 原本的下通道 + (1% * 原本的下通道)
3. 若k 棒的收盤價 向下突破 下通道
則 上通道變更為 原本的上通道 - (1% * 原本的上通道)
下通道變更為 原本的下通道 - (1% * 原本的下通道)
4. 若2 3 都不滿足,上下通道維持前值
引用:
最初由 scshen1981 發表
不好意思
請問奇狐設定初值的公式寫法為何呢?
我當初是寫成以下格式
AA := 0
BB := If( Cond1 , Close, Ref(AA,1));
結果當cond1 沒發生時,
AA都變為0了,並非小弟所要的case
小弟希望的運算原理如下所示
1.令該檔股票第一根k棒的收盤價為 RefPrice
上通道 = RefPrice + (1% * RefPrice)
下通道 = RefPrice - (1% * RefPrice)
2. 若 k棒的收盤價 向上突破 上通道
則 上通道變更為 原本的上通道 + (1% * 原本的上通道)
下通道變更為 原本的下通道 + (1% * 原本的下通道)
3. 若k 棒的收盤價 向下突破 下通道
則 上通道變更為 原本的上通道 - (1% * 原本的上通道)
下通道變更為 原本的下通道 - (1% * 原本的下通道)
4. 若2 3 都不滿足,上下通道維持前值
原碼:
CC:=Close;
上通道:CC*0 colorred;
下通道:下通道 colorgreen;
上通道[1]:=CC[1]*1.01;
下通道[1]:=CC[1]*0.99;
for i=2 to datacount do begin
if CC[i]>上通道[i-1] then begin
上通道[i]:=上通道[i-1]*1.01;
下通道[i]:=下通道[i-1]*1.01;
end else if CC[i]<下通道[i-1] then begin
上通道[i]:=上通道[i-1]*0.99;
下通道[i]:=下通道[i-1]*0.99;
end else begin
上通道[i]:=上通道[i-1];
下通道[i]:=下通道[i-1];
end;
end;
前面程式可簡化為
原碼:
CC:=Close;
上通道:CC*0 colorred;
下通道:下通道 colorgreen;
上通道[1]:=CC[1]*1.01;
下通道[1]:=CC[1]*0.99;
for i=2 to datacount do begin
SS:=1+((CC[i]>上通道[i-1])-(CC[i]<下通道[i-1]))*0.01;
上通道[i]:=上通道[i-1]*SS;
下通道[i]:=下通道[i-1]*SS;
end;
全部時間均為台灣時間, 現在時間為19:39 | 在這個頁面顯示本主題全部的 5 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.