print 使用

  •   126 
  • 最後發表   shoui  2018 八月 01
shoui 發文於   2018/07/10

您好 

想請問當我在使用print的時候

常常會出現沒有東西的形況,有時要嘗試很多次才能看到print的結果

不知道是我操作的方式有錯嗎?

正確的步驟應該要怎麼呢?

謝謝您

排序方式: 標準 | 最新
XQ小幫手 發文於   2018/07/11

Hi shoui,

您好,建議您至路徑:C:\SysJust\XQLite\XS\Print 查看會出的 *.txt 檔,會比較清楚,

 

小幫手用自己的程式碼簡單測試,是正常的,請您Copy您的程式碼至此,以利小幫手測試查看問題的原因,謝謝。

shoui 發文於   2018/07/11

 

 

hi 小幫手

使用C:\SysJust\XQLite\XS\Print 查看也沒有對應的txt檔耶

程式碼如下


value1 = DayOfMonth(Date);
variable: datenum(0),i(0);
 
for  i = 0 to value1 begin
if highd(Date-i) - highd(Date-(i+1)) > 0
then datenum = highd(Date-i)
else datenum = highd(Date-(i+1)) ;
i = i+1 ; end;

plot1(datenum,"最高");

Print("Date=",date,"日期=",Value1,"最高=",datenum);

 

謝謝幫忙

 

 

XQ小幫手 發文於   2018/07/12

Hi shoui,

您好,您的程式碼 highed(Date ... ) 有問題

if highd(Date-i) - highd(Date-(i+1)) > 0
then datenum = highd(Date-i)
else datenum = highd(Date-(i+1)) ;

date 為 日期,會顯示數值 YYYYMMDD,八位數字;

但商品的資料筆數不會有這麼多的筆數( 以精聯(3652)為例,資料筆數沒有超過3000筆 ),

故加入附圖指標時,會出現最大引用筆數不足,所以也就不會產生 Print 檔案,

 

故請您修改 highed(Date ... ) 程式碼,若需要提供修改方向,請敘述您要用此程式碼做什麼運算處理?

以利小幫手指引方向,謝謝。

shoui 發文於   2018/07/12

hi 小幫手

我需要的功能,是要找到當天是否出現當月的最高價

如在 7/12 前,是否在7/1~7/11間有出現高於7/12當天最高價的時候,而最高價是多少

謝謝您

XQ小幫手 發文於   2018/07/16

Hi shoui,

您好,待小幫手查看後再向您說明,謝謝。

XQ小幫手 發文於   2018/07/16

Hi Shoui,

找到當天是否出現當月的最高價

應該可以使用以下程式碼範例,

若當日最高價大於當月中歷史的日最高價,則用Value1記錄下來,並將數值秀在副圖上;

若跨月時,則Value1變數初始化( 歸零 ),

呈現出來的副圖如下,以上方向供您參考,謝謝。

if month(date) <> month(date[1]) then value1 = 0;

if getfield("最高價","D") > value1 then value1 = getfield("最高價","D");

plot1(value1,"每日更新的當月最高價");
plot2(getfield("最高價","M"),"當月最高價");

shoui 發文於   2018/07/16

HI 小幫手

謝謝提供,但有兩個問題請教

1.我用來測試後,在當日最高價的地方似乎不符合正確的資料?

如附圖,謝謝

 

2.這樣的寫法在回測上,是否可以正確地找到資料?

2018/4/1 --最高100,

2018/4/17--最高102,

2018/4/30--最高103,

在其4/2~4/16最高價不超過100,4/18~4/29最高價不超過102的前提下

在回測功能中,當資料跑到4/17時,能真正以4/17的數字計算嗎?

謝謝您

XQ小幫手 發文於   2018/07/17

Hi shoui,

1.我用來測試後,在當日最高價的地方似乎不符合正確的資料?

因為 07/03 為當月的最高價( 460 ),而 07/16 當日最高價為 414.5,因當日最高價沒有大於當月最高價,故在副圖上秀出當月最高價( 460 )

此程式碼範例是

若當日最高價大於當月中歷史的日最高價,則用Value1記錄下來,並將數值秀在副圖上;

若否,則秀出當月中歷史的日最高價。

如果此程式碼範例不符合您的想法,您可以嘗試改寫之,若有問題可以提出,我們可以討論,以利指引您撰寫的方向。

 

2.這樣的寫法在回測上,是否可以正確地找到資料?

您可以嘗試跑跑看,若有問題再提出討論,我們再來討論修改方向,以利指引您撰寫出較符合您策略想法的方向,謝謝。

shoui 發文於   2018/07/17

Hi 小幫手

您的意思是value1的正確意思是當月最高?

還是您提供的程式碼plot1(value1,"當日最高價");呢?

謝謝

XQ小幫手 發文於   2018/07/18

Hi shoui,

您好,小幫手修改一下 2018/07/16 程式碼範例如下,避免造成誤解

plot1(value1,"每日更新的當月最高價");

意思為:若當日最高價大於當月中歷史的日最高價,則用Value1記錄下來,並將數值秀在副圖上;

以上說明,謝謝。

shoui 發文於   2018/07/19

hi 小幫手

我用以下的寫法,想要找到近9個月(含當月)的最高價與最低價(月)

但出現的結果有些不同,如附圖

20180601應該是近9個月來的最高價

但是上述寫法抓到的是5月的最高

請問該如何修改呢?

謝謝

Var: hhigh(0),llow(0),RRSV(0),KKM(0),DDM(0);
variable :mrsv_D(0),mkk_D(0),mdd_D(0),wrsv_D(0),wkk_D(0),wdd_D(0);
xf_Stochastic("M",9,3,3,mrsv_D,mkk_D,mdd_D);  //月KD

value12 = xf_getvalue("m",mdd_D,1);//前一月月D
value13 = xf_getvalue("m",mkk_D,1); //前一月月K

if month(date) <> month(date[1]) then value1 = 0;
if getfield("最高價","D") > value1 then value1 = getfield("最高價","D");//當月最高價

if month(date) <> month(date[1]) then value2 =10000000;
if getfield("最低價","D") < value2 then value2 = getfield("最低價","D");//當月最低價

value3 = NthHighest(1,highm(1),8); //計算近前8期次高的最高價-月
value4 = NthLowest(1,lowm(1),8); //計算近前8期次低的最低價-月

if value1 > value3
then hhigh = value1
else hhigh = value3;

if value2 < value4
then llow = value2
else llow = value4;
plot1(hhigh,"最高");
plot2(llow,"最低");

XQ小幫手 發文於   2018/07/20

Hi shoui,

您好,待小幫手查看後再向您說明,謝謝。

XQ小幫手 發文於   2018/07/20

Hi shoui,

小幫手查看發現有使用到日頻率的最高價,如下程式碼,另外您的技術分析為月線圖,

if getfield("最高價","D") > value1 then value1 = getfield("最高價","D");//當月最高價

XS無法低頻率跨高頻率取值(月跨日取值),故您的程式碼搭配月線圖,有上述問題,故使用有誤,以上說明,謝謝。

P.S. 或許您可以將此腳本加入日線圖觀察試試。

shoui 發文於   2018/07/20

hi 小幫手

謝謝回覆

但如果已經取出的值放入value中

不是表示僅為一個"值",無論以甚麼頻率查看,值不應該改變嗎?

謝謝

XQ小幫手 發文於   2018/07/23

 

Hi shoui,

如果已經取出的值放入value中

不是表示僅為一個"值",無論以甚麼頻率查看,值不應該改變嗎?

您好,小幫手不太明瞭您的意思,為了避免造成誤會,是否可以舉例說明?以利小幫手協助您提供方向,謝謝。

 

 

shoui 發文於   2018/07/30

hi 小幫手

我的意思是,假如當把value1的值指定為100時

無論在哪一個頻率內,value1的值應該都是100對嗎?

 

XQ小幫手 發文於   2018/07/31

Hi shoui,

我的意思是,假如當把value1的值指定為100時,

無論在哪一個頻率內,value1的值應該都是100對嗎?

您好,是的,您的理解正確,

當Value1的值指定為100時,無論在哪一個頻率內,value1的值都是100,

以上說明,謝謝。

shoui 發文於   2018/07/31

Hi小幫手

若是理解正確,那麼7/20回覆的內容中

小幫手查看發現有使用到日頻率的最高價,如下程式碼,另外您的技術分析為月線圖,

if getfield("最高價","D") > value1 then value1 = getfield("最高價","D");//當月最高價

XS無法低頻率跨高頻率取值(月跨日取值),故您的程式碼搭配月線圖,有上述問題,故使用有誤,以上說明,謝謝

 

是否是正確的?

因為我取出了日線是當月最高價指定給value1,後續的運算中不應因為月頻率的關係影響才對?

XQ小幫手 發文於   2018/08/01

Hi shoui,

value1 指定為常數時,無論在哪一個頻率內,value1的值都是該常數,

故小幫手在 2018/07/31 所述您的理解正確,因為 100 為常數。


 

若是理解正確,那麼7/20回覆的內容中... 是否是正確的?

以下程式碼,不是value1指定為常數的狀況,故 2018/07/31 小幫手的說明,不適用於此。

value1 指定為 跨頻率取資料時,則同 2018/07/20 小幫手的說明,以上說明,謝謝。

value1 = getfield("最高價","D"); 

 

發表回覆
Close