![]() |
總頁數 (8): « 第一頁 ... « 3 4 [5] 6 7 » ... 最末頁 » 在這個頁面顯示本主題全部的 112 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- SAR轉向問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=21837)
引用:
最初由 a9681054 發表
版主你好,
上下翻初始yar已正常.
我再看看有沒有其它問題,再向版主提出幫忙.....謝謝~
版主你好,
還是有問題但還辦法想通問題出在哪裡?我先以今天5/3 10:03版主給的最後原碼來提出看到的問題,目前這一版程式,yar上下計算式都正常,只有發現每當要上下翻轉時,隔天要取的初始yar值,並沒有每段依規則都能取到最高點或最低點.......(有的有,有的沒有)
12:24我提出之後ep取昨天
13:20版主提供修改資料,套入程式後雖然解決了初始yar問題,但yar計算式又出現錯誤,感覺有點衝突.....
以上說明,麻煩版主再幫我確認一下問題是出在哪裡?謝謝~
__________________
chiu
以今天5/3 10:03版主給的最後原碼比對,以下圖片說明供版主參考....
__________________
chiu
補圖片
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
謝謝版主的說明與指正,也辛苦你了,問題應該如版主所說是我原定義yar計算規則有誤造成,那針對第7點規則重新定義如下:
算式換為 今yar=昨yar+昨af*(昨ep-昨yar)
以上,再煩請版主幫忙處理,謝謝~
__________________
chiu
版主你好,
部份初始yar無法取到最高點及最低點,我用推算與程式比較發現問題如下:
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i-1]>ep then ep:=HH[i-1];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i-1]<ep then ep:=LL[i-1];
end;
上下翻轉時第一天要取的ep,
newyar:=ep...這裡程式newyar都會取到前天為止的ep, 我目前newyar需求是要取到昨天為止的ep, 麻煩版王再幫我確認 一下....謝謝~
__________________
chiu
補照片
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
部份初始yar無法取到最高點及最低點,我用推算與程式比較發現問題如下:
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i-1]>ep then ep:=HH[i-1];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i-1]<ep then ep:=LL[i-1];
end;
上下翻轉時第一天要取的ep,
newyar:=ep...這裡程式newyar都會取到前天為止的ep, 我目前newyar需求是要取到昨天為止的ep, 麻煩版王再幫我確認 一下....謝謝~
版主你好,
抱歉,造成版主多日困擾,以下是我們最後討論的原碼....
if datacount<4 then exit; //K棒不足
CC:=C; HH:=H; LL:=L;
HH3:=HHV(H,3); LL3:=LLV(L,3);
RHCK:=H>ref(H,1);
RLCK:=L<ref(L,1);
DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2;
YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4);
if DIR=1 then begin
yar[4]:=LL3[3]; ep:=HH3[3];
end else begin
yar[4]:=HH3[3]; ep:=LL3[3];
end;
af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0;
for i=4+1 to datacount do begin
if SwapF=1 then begin
yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir;
end else begin
yar[i]:=yar[i-1]+af*(ep-yar[i-1]);
if NowDir=1 then begin
if RHCK[i] then af:=af+0.02;
end else begin
if RLCK[i] then af:=af+0.02;
end;
if af>0.2 then af:=0.2;
end;
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i]>ep then ep:=HH[i];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i]<ep then ep:=LL[i];
end;
end;
end;
目前程式上下翻初始yar都能正常,只有計算式出來的數值跟自己推算的有不一樣,想請教5/3 01:06版主有提到我的計算式規則有誤,5/3 07:56我依版主說明重新定義計算式
....今yar=昨yar+昨af*(昨ep-昨yar),這個新的yar計算式不知我們最後原碼是否有修正到?
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
抱歉,造成版主多日困擾,以下是我們最後討論的原碼....
if datacount<4 then exit; //K棒不足
CC:=C; HH:=H; LL:=L;
HH3:=HHV(H,3); LL3:=LLV(L,3);
RHCK:=H>ref(H,1);
RLCK:=L<ref(L,1);
DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2;
YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4);
if DIR=1 then begin
yar[4]:=LL3[3]; ep:=HH3[3];
end else begin
yar[4]:=HH3[3]; ep:=LL3[3];
end;
af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0;
for i=4+1 to datacount do begin
if SwapF=1 then begin
yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir;
end else begin
yar[i]:=yar[i-1]+af*(ep-yar[i-1]);
if NowDir=1 then begin
if RHCK[i] then af:=af+0.02;
end else begin
if RLCK[i] then af:=af+0.02;
end;
if af>0.2 then af:=0.2;
end;
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i]>ep then ep:=HH[i];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i]<ep then ep:=LL[i];
end;
end;
end;
目前程式上下翻初始yar都能正常,只有計算式出來的數值跟自己推算的有不一樣,想請教5/3 01:06版主有提到我的計算式規則有誤,5/3 07:56我依版主說明重新定義計算式
....今yar=昨yar+昨af*(昨ep-昨yar),這個新的yar計算式不知我們最後原碼是否有修正到?
RE:請把不符的 哪個商品哪個週期哪個日期
舉例列出!
版主好,之前較早的問題就暫時不用幫我處理,我提以下3個新需求....
1)今天要取昨天的ep,要如何表述.
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
以上新需求,再次麻煩版主,謝謝~
__________________
chiu
EXPLAIN(1,'STP弧線:'),COLORYELLOW;//
EXPLAINEX(1 and C>YAR,'收: ',c,2,0),Colorred;
EXPLAIN(1 AND C>YAR,'YAR :→'+NUMTOSTR(YAR,2)),COLORRED;
EXPLAIN(1 AND C<YAR,'YAR :→'+NUMTOSTR(YAR,2)),COLORGREEN;
EXPLAINEX(1 and C<YAR,'收: ',c,2,0),ColorWHITE;
3)當日的yar值,顯示在解盤區.
引用:
最初由 a9681054 發表
RE:請把不符的 哪個商品哪個週期哪個日期
舉例列出!
版主好,之前較早的問題就暫時不用幫我處理,我提以下3個新需求....
1)今天要取昨天的ep,要如何表述.
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
以上新需求,再次麻煩版主,謝謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=H>ref(H,1); RLCK:=L<ref(L,1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; PrAF:YAR*0 linethick; //顯示當根 YAR 計算採用之AF值 for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin PrAF[i]:=AF; yar[i]:=yar[i-1]+af*(ep-yar[i-1]); if NowDir=1 then begin if RHCK[i] then af:=af+0.02; end else begin if RLCK[i] then af:=af+0.02; end; if af>0.2 then af:=0.2; end; if NowDir=1 then begin if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end else begin if HH[i]>ep then ep:=HH[i]; end; end else begin if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end else begin if LL[i]<ep then ep:=LL[i]; end; end; end; AFCK:=PRAF=0.02; VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //YAR 計算首根採用AF=0.02 畫垂直線 EXPLAINEX(1,'YAR: ',YAR,2,0);
版主你好,
謝謝B.S及版主的說明.
1)今天要取昨天的ep,要如何表述
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
Re1....了解版主的意思.
Re2.....我想表達是af達到0.2上限做記號,目前好像是回覆到0.02做記號?
Re3.....ok
__________________
chiu
全部時間均為台灣時間, 現在時間為01:21 | 總頁數 (8): « 第一頁 ... « 3 4 [5] 6 7 » ... 最末頁 » 在這個頁面顯示本主題全部的 112 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.