 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
版主你好,
還是有問題但還辦法想通問題出在哪裡?我先以今天5/3 10:03版主給的最後原碼來提出看到的問題,目前這一版程式,yar上下計算式都正常,只有發現每當要上下翻轉時,隔天要取的初始yar值,並沒有每段依規則都能取到最高點或最低點.......(有的有,有的沒有)
12:24我提出之後ep取昨天
13:20版主提供修改資料,套入程式後雖然解決了初始yar問題,但yar計算式又出現錯誤,感覺有點衝突.....
以上說明,麻煩版主再幫我確認一下問題是出在哪裡?謝謝~
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-03 18:33 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
以今天5/3 10:03版主給的最後原碼比對,以下圖片說明供版主參考....
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-03 19:00 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
補圖片
a9681054 附帶上了此圖片:
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-03 19:05 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
引用: 最初由 a9681054 發表
版主好,
謝謝版主的說明與指正,也辛苦你了,問題應該如版主所說是我原定義yar計算規則有誤造成,那針對第7點規則重新定義如下:
算式換為 今yar=昨yar+昨af*(昨ep-昨yar)
以上,再煩請版主幫忙處理,謝謝~
目前最後一版yar計算式
yar[i]:=yar[i-1]+af*(ep-yar[i-1]);
是不是af及ep沒有更新到新的計算式....造成衝突?
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-03 21:20 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
版主你好,
部份初始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
|
|
向版主報告此篇 |  |
|
2019-05-05 18:38 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
補照片
a9681054 附帶上了此圖片:
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-05 22:51 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
版主你好,
抱歉,造成版主多日困擾,以下是我們最後討論的原碼....
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
|
|
向版主報告此篇 |  |
|
2019-05-06 09:30 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
RE:請把不符的 哪個商品哪個週期哪個日期
舉例列出!
版主好,之前較早的問題就暫時不用幫我處理,我提以下3個新需求....
1)今天要取昨天的ep,要如何表述.
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
以上新需求,再次麻煩版主,謝謝~
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-06 12:23 |
|
|
|  |
 |
B.S.
資深會員
註冊日期: Mar 2005
來 自:
文章數量: 2419 |
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;
|
|
向版主報告此篇 |  |
|
2019-05-06 14:01 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18092 |
引用: 最初由 a9681054 發表
RE:請把不符的 哪個商品哪個週期哪個日期
舉例列出!
版主好,之前較早的問題就暫時不用幫我處理,我提以下3個新需求....
1)今天要取昨天的ep,要如何表述.
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
以上新需求,再次麻煩版主,謝謝~
Re1: 目前就是取昨ep算YAR (故不需做任何處置)
Re2&3:
原碼: 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);
|
|
向版主報告此篇 |  |
|
2019-05-06 14:14 |
|
|
|  |
 |
a9681054
資深會員
註冊日期: Nov 2008
來 自: 新北市
文章數量: 479 |
版主你好,
謝謝B.S及版主的說明.
1)今天要取昨天的ep,要如何表述
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
Re1....了解版主的意思.
Re2.....我想表達是af達到0.2上限做記號,目前好像是回覆到0.02做記號?
Re3.....ok
__________________
chiu
|
|
向版主報告此篇 |  |
|
2019-05-06 14:34 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|