奇狐社區論壇
在這個頁面顯示本主題全部的 28 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請教 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=21618)


由 a9681054 在 2018-10-26 16:17 發表:

請教

de:=date;
ck:=barslast(de=de[datacount])>=0;
OO:=O*ck;
A線:SMA(OO,6.5,1)colorred LINETHICK1;
B線:SMA(OO,13.5,1)colorgreen LINETHICK1;

版主你好
問題如附圖說明,想不出問題出在哪裡?請版主協助,謝謝~

__________________
chiu


由 cgjj 在 2018-10-29 01:19 發表:

回覆: 請教

引用:
最初由 a9681054 發表
de:=date;
ck:=barslast(de=de[datacount])>=0;
OO:=O*ck;
A線:SMA(OO,6.5,1)colorred LINETHICK1;
B線:SMA(OO,13.5,1)colorgreen LINETHICK1;

版主你好
問題如附圖說明,想不出問題出在哪裡?請版主協助,謝謝~



那是正常的
起算首根 SMA為無效數據,第2根開始才會有值


由 a9681054 在 2018-10-29 09:14 發表:

版主早安

我用同樣方法套用在很多副圖都有類似問題, 對於版主所說第幾根才會有數值?不是很了解, 版主是否可舉個例說明一下,謝謝~

__________________
chiu


由 cgjj 在 2018-10-29 09:51 發表:

引用:
最初由 a9681054 發表
版主早安

我用同樣方法套用在很多副圖都有類似問題, 對於版主所說第幾根才會有數值?不是很了解, 版主是否可舉個例說明一下,謝謝~



你單獨跑這一行,去看歷史K棒首根,就知道了
SMA(CLOSE,6,1);


由 a9681054 在 2018-10-29 13:58 發表:

版主你好
有試了,歷史第1根也是無數據,第2根開始才有數據.
那今日的第1根以收盤價表示,整個程式要如何表達?才能顯示出數據,謝謝~

__________________
chiu


由 cgjj 在 2018-10-29 14:11 發表:

引用:
最初由 a9681054 發表
版主你好
有試了,歷史第1根也是無數據,第2根開始才有數據.
那今日的第1根以收盤價表示,整個程式要如何表達?才能顯示出數據,謝謝~



後續計算會用到首根嗎? 若沒用其實可忽略它!!!
不然會浪費 CPU 算不必要的東西

首根以CC取代,範例如下:
CC:=CLOSE;
if(barpos=lbound(CC),CC,SMA(CC,6,1));


由 a9681054 在 2018-10-29 14:32 發表:

版主你好
歷史首根有看到數據, 如只用到當日分線之前都不計算, 程式要如何表達?謝謝

de:=date;
ck:=barslast(de=de[datacount])>=0;
CC:=C*ck;
A線:SMA(CC,6.5,1)colorred LINETHICK1;
B線:SMA(CC,13.5,1)colorgreen LINETHICK1;

__________________
chiu


由 cgjj 在 2018-10-29 14:45 發表:

引用:
最初由 a9681054 發表
版主你好
歷史首根有看到數據, 如只用到當日分線之前都不計算, 程式要如何表達?謝謝

de:=date;
ck:=barslast(de=de[datacount])>=0;
CC:=C*ck;
A線:SMA(CC,6.5,1)colorred LINETHICK1;
B線:SMA(CC,13.5,1)colorgreen LINETHICK1;



SMA 第二個參數,設小數是無用的
它是N個周期,必定是採整數處理!!!

範例如下

de:=date; CC:=C;
StPos:=lbound(BARSSINCE(de=de[datacount]));
x:=SETLBOUND(CC,StPos);
A線:if(barpos>StPos,SMA(CC,6,1),CC) colorred LINETHICK1;
B線:if(barpos>StPos,SMA(CC,13,1),CC) colorgreen LINETHICK1;


由 a9681054 在 2018-10-29 15:03 發表:

版主你好
問題解決了,非常謝謝你的幫忙~

__________________
chiu


由 a9681054 在 2018-10-29 15:26 發表:

版主你好

是否可以再幫忙?每行程式後面加個註解,以便於後續研究.....謝謝~

__________________
chiu


由 cgjj 在 2018-10-29 15:42 發表:

引用:
最初由 a9681054 發表
版主你好

是否可以再幫忙?每行程式後面加個註解,以便於後續研究.....謝謝~



不客氣 ^^

BARSSINCE(de=de[datacount]) //取得距今日首根K棒的距離
StPos:=lbound(BARSSINCE(de=de[datacount])); //取得前者計算結果之數列下界(今日首根K棒位編號)
x:=SETLBOUND(CC,StPos); //設定CC數列之下界位置為StPos
A線:if(barpos>StPos,SMA(CC,6,1),CC) colorred LINETHICK1; //若不是首根取SMA(CC,6,1)值,若是首根取CC值


由 a9681054 在 2018-10-29 16:10 發表:

版主你好
謝謝∼

__________________
chiu


由 a9681054 在 2018-11-01 12:36 發表:

版主你好

問題如附圖,分線首根有達到條件但未顯示,想了好久還是無法解決,煩請版主協助,謝謝~

de:=date; oo:=o;
StPos:=lbound(BARSSINCE(de=de[datacount]));
x:=SETLBOUND(oo,StPos);
A線:=if(barpos>StPos,SMA(oo,6,1),oo) colorred LINETHICK;
B線:=if(barpos>StPos,SMA(oo,13,1),oo) colorgreen LINETHICK;
A線:refx(A線,1)LINETHICK1;
B線:refx(B線,1)LINETHICK1;

HH:=A線>B線;
LL:=A線<B線;
HH:=HH and ref(HH,1)=0 ;
LL:=LL and ref(LL,1)=0 ;
DRAWICON(HH,L,8),PXDN60;
DRAWICON(LL,H,9),PXUP60;

__________________
chiu


由 cgjj 在 2018-11-01 12:43 發表:

引用:
最初由 a9681054 發表
版主你好

問題如附圖,分線首根有達到條件但未顯示,想了好久還是無法解決,煩請版主協助,謝謝~

de:=date; oo:=o;
StPos:=lbound(BARSSINCE(de=de[datacount]));
x:=SETLBOUND(oo,StPos);
A線:=if(barpos>StPos,SMA(oo,6,1),oo) colorred LINETHICK;
B線:=if(barpos>StPos,SMA(oo,13,1),oo) colorgreen LINETHICK;
A線:refx(A線,1)LINETHICK1;
B線:refx(B線,1)LINETHICK1;

HH:=A線>B線;
LL:=A線<B線;
HH:=HH and ref(HH,1)=0 ;
LL:=LL and ref(LL,1)=0 ;
DRAWICON(HH,L,8),PXDN60;
DRAWICON(LL,H,9),PXUP60;



首根並沒有 ref(HH,1) 或 ref(LL,1) 讓您算!!!


由 a9681054 在 2018-11-01 13:02 發表:

版主你好
謝謝回覆,那有什麼其它方法可以解決所提出的問題?

__________________
chiu


由 cgjj 在 2018-11-01 13:11 發表:

引用:
最初由 a9681054 發表
版主你好
謝謝回覆,那有什麼其它方法可以解決所提出的問題?



不要落入首根一定要有的迷思!!!

以 MA(C,5) 來說,要五根K棒才能算出第一個值
故第一個有效數據,是從第5根開始

你的條件為 HH and ref(HH,1)
這是將當根HH與前根HH做比較
至少需兩根K棒才能算出結果
故第一個有效數據,是從第2根開始!

不是能不能解決的問題!!!

而是您定義的規則,本身就決定了這個特性
結果是對的,並非錯誤。
請以 "正常" 來看待它~~


由 a9681054 在 2018-11-01 15:25 發表:

版主你好

HH:=A線>B線;
LL:=A線<B線;

若重新定義如下:
分線當天從早上8:45~13:45, 只要符合HH條件就在其L位置顯示向上箭頭,而符合LL條件就在其H位置顯示向下箭頭, 是否可行?

__________________
chiu


由 cgjj 在 2018-11-01 15:54 發表:

引用:
最初由 a9681054 發表
版主你好

HH:=A線>B線;
LL:=A線<B線;

若重新定義如下:
分線當天從早上8:45~13:45, 只要符合HH條件就在其L位置顯示向上箭頭,而符合LL條件就在其H位置顯示向下箭頭, 是否可行?



直接跑就知可否....
結果會是連續一整排的箭頭


由 a9681054 在 2018-11-01 16:04 發表:

版主你好
瞭解,我再研究看看....

__________________
chiu


由 a9681054 在 2020-03-25 13:33 發表:

版主你好,

de:=date; CC:=C;
StPos:=lbound(BARSSINCE(de=de[datacount]));
x:=SETLBOUND(CC,StPos);
A線:if(barpos>StPos,SMA(CC,6,1),CC) colorred LINETHICK1;
B線:if(barpos>StPos,SMA(CC,13,1),CC) colorgreen LINETHICK1;

上述公式,A線及B線都是以"收盤價"起始畫線,想改讓第1根K棒開始時.....A線及B線的值有差值做一些運用,公式要如何修改?麻煩版主協助,謝謝~

__________________
chiu


由 cgjj 在 2020-03-25 14:09 發表:

引用:
最初由 a9681054 發表
版主你好,

de:=date; CC:=C;
StPos:=lbound(BARSSINCE(de=de[datacount]));
x:=SETLBOUND(CC,StPos);
A線:if(barpos>StPos,SMA(CC,6,1),CC) colorred LINETHICK1;
B線:if(barpos>StPos,SMA(CC,13,1),CC) colorgreen LINETHICK1;

上述公式,A線及B線都是以"收盤價"起始畫線,想改讓第1根K棒開始時.....A線及B線的值有差值做一些運用,公式要如何修改?麻煩版主協助,謝謝~



SMA 必定自第二根開始有效(無論N值多少)

沒什必要為了首根要有效,而把 Close 值硬加入吧?
您把 Close 值硬加入首根,當然差值為零呀!!!

這不是公式如何寫作的問題
是您自己選擇如此處理,因而造成這種結果!!!
您不改變因應方式,永遠不會有差值


由 a9681054 在 2020-03-25 14:37 發表:

版主你好,

謝謝版主說明.

如不以收盤價開始,有什麼其它方式可以讓二條線一開始就有差值......

__________________
chiu


由 cgjj 在 2020-03-25 14:47 發表:

引用:
最初由 a9681054 發表
版主你好,

謝謝版主說明.

如不以收盤價開始,有什麼其它方式可以讓二條線一開始就有差值......



您要自己去想去決定
我不能幫你決定,我們僅就程式語法寫作上做支援


由 a9681054 在 2020-03-25 15:07 發表:

那A線及B線....無效數值之K棒部分,以WBC遞補,以IF(無效數值,WBC,SMA)處理是否可行?

__________________
chiu


由 cgjj 在 2020-03-25 15:21 發表:

引用:
最初由 a9681054 發表
那A線及B線....無效數值之K棒部分,以WBC遞補,以IF(無效數值,WBC,SMA)處理是否可行?


問題還是一樣呀!
A線首根=B線首根,首根相減必定為零!

去想想你的主軸是什麼
有必要加嗎? 加的目的為何?
加入後是否會破壞主軸?
先思考清楚吧,不要亂湊!!!


由 a9681054 在 2020-03-25 15:35 發表:

re) A線首根=B線首根,首根相減必定為零!.....目前的程式這一點我了解

re) 加的目的.....想讓二條線有差值時,畫柱狀線,因目前首根二條線的值是一樣的值......所以才想請教有什麼方法可以產生差值做應用?

__________________
chiu


由 cgjj 在 2020-03-25 16:03 發表:

引用:
最初由 a9681054 發表
re) A線首根=B線首根,首根相減必定為零!.....目前的程式這一點我了解

re) 加的目的.....想讓二條線有差值時,畫柱狀線,因目前首根二條線的值是一樣的值......所以才想請教有什麼方法可以產生差值做應用?



不要本末倒置,舉個例子:

台幣 vs 美元
因為幣值不同,會因為匯率變動而有價差空間可以操作

若為 台幣 vs 台幣 等值時
請問您有價差空間可以操作嗎?


由 a9681054 在 2020-03-25 17:10 發表:

只是想讓二條線一開始有個差值而已,因自己有試過其它方法弄不出來.....不過還是很感謝版主說明

__________________
chiu


全部時間均為台灣時間, 現在時間為21:30
在這個頁面顯示本主題全部的 28 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.