![]() |
在這個頁面顯示本主題全部的 10 個文章 |
奇狐社區論壇 (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=6256)
循環的問題
請問在下列的公式,為什麼定位循環在位置之外(前後)還會有數據?這些位置外的數據是什麼? (即使最後停止位置是對的,其後仍有數據出來?)
如何把這個區間外的數據都消失成null呢?知道前面的可以用setlbound來控制,後面的有什麼辦法麼?
fc:=C;
m5:=C;
for i=1995 to 2045 do m5[i]:(fc[i-4]+fc[i-3]+fc[i-2]+fc[i-1]+fc[i])/5;
vertline(barpos=1995);
vertline(barpos=2045);
II:i,linethick0;
回覆: 循環的問題
[QUOTE]最初由 shuenyi 發表
[B]請問在下列的公式,為什麼定位循環在位置之外(前後)還會有數據?這些位置外的數據是什麼? (即使最後停止位置是對的,其後仍有數據出來?)
如何把這個區間外的數據都消失成null呢?知道前面的可以用setlbound來控制,後面的有什麼辦法麼?
QUOTE]
後面的的數據不可變為 null
但您可讓後面的不要顯示(可應用 PARTLINE 或其他類似函數來繪製)
回覆: 回覆: 循環的問題
後面的的數據不可變為 null
但您可讓後面的不要顯示(可應用 PARTLINE 或其他類似函數來繪製) [/B][/QUOTE]
謝謝迅速回應,所以後面最多只能做到為"0",對嗎?
還有一個問題請總版主再教導一下,既然範圍限定由1995到2045,那麼在1995以前和2045以後出現的數據為什麼會變成收盤價,而不是到2045就終止?
用 aa:=setlbound(m5,1995);m5; 限制了下限,如果不用partline有辦法限制m5的圖形上限嗎?
回覆: 回覆: 回覆: 循環的問題
引用:
最初由 shuenyi 發表
謝謝迅速回應,所以後面最多只能做到為"0",對嗎?
還有一個問題請總版主再教導一下,既然範圍限定由1995到2045,那麼在1995以前和2045以後出現的數據是什麼?(顯然不是均線值)
用 aa:=setlbound(m5,1995);m5; 限制了下限,如果不用partline有辦法限制m5的圖形上限嗎?
原來如此,沒人指點還真難懂,現在知道如果把m5的初始值定為
m5:=ma(c,0); 程式即可自行pick up i 的起始值 1995, 但是仍然不會在2045停止,線段會一直延伸到datacount,只是2045以後的數據變成了正常的m5值了
要怎樣設這個m5的初始值或重定義2045以後的m5初始值,才能使程式的線條終止於2045,而不要延伸到datacount去呢? (不考慮用條件劃線的方式,就用循環可以嗎?)
用循環是不行的
循環只處理計算不對繪製圖形有影響
您可用條件來篩選
條件成立才帶入計算或繪製線
謝謝總版主不厭其煩的的指導!!
雖然仍然不能弄清楚為何循環的末端跑到2046就終止了,但是數據還是一直跑到end,不過想來也許這就是循環高深的地方,其可議處乃在於如果把m5初值定義為數值,是可以在xxx to yyy 的 yyy處終止,若定義為數列則不行,可是其開始值 xxx 又可以正確執行
我還是疑問仍在!! 真是學問雖淺,對無知者仍然深不知底
首先您要先了解
m5:=C;
是將收盤價導入給 m5 這個變數
其結果為收盤價之數列
假設該商品有3500根K棒
則 m5 這個數列中會有 3500 個收盤價
您的迴圈是改變其中第1995∼2045 根K棒 m5 的數值
其他未改變的均是原來設的收盤價的值
觀念要先弄清楚, 再寫程序會比較好
看看下列結果您應會比較有概念
fc:=C;
m5:=C*0;
for i=1995 to 2045 do m5[i]:(fc[i-4]+fc[i-3]+fc[i-2]+fc[i-1]+fc[i])/5;
vertline(barpos=1995);
vertline(barpos=2045);
II:i,linethick0;
再看看下列結果:(只繪製1995∼2045間的線)
fc:=C;
m5:C*0 LINETHICK0;
for i=1995 to 2045 do m5[i]:=(fc[i-4]+fc[i-3]+fc[i-2]+fc[i-1]+fc[i])/5;
vertline(barpos=1995);
vertline(barpos=2045);
II:i,linethick0;
PARTLINE(m5>0,m5);
衷心感謝!!
| 全部時間均為台灣時間, 現在時間為17:51 | 在這個頁面顯示本主題全部的 10 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.