第一個低點出現後找低點之前的高點轉折位置

  •   572 
  • 最後發表   dj  2021 一月 05
dj 發文於   2020/12/28

我想寫一個,找前面一個低點之前的高點轉折位置,程式碼如下,我看過很多遍覺得邏輯沒問題,但卻出現檢查是否有無限迴圈的狀況,所以想請問小幫手,是否是函數內不可這樣用,或者應該怎麼修改才比較妥當?

 

var:i(1),x(0);

 

value1=swinglowbar(low,40,1,1,1);

value2=swinghighbar(high,40,2,1,i);

 

while value2>value1

i=i+1;

 

 

plot1(value1,"v1");

plot2(value2,"h1");

plot3(i,"多幾次");

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/12/30

dj 您好

您的迴圈並沒有寫到任何關於 i的判斷式

所以這樣變成只要value2 的位置比value1 更之前 

那就會大於達成條件一直下去

-----------

因為技術線圖屬於時間序列

所以無法做到往回畫點位的操作

您的概念是先去抓 value1=swinglowbar(low,40,1,1,1);

也就是回推x根 然後畫出那個位置,這樣是沒辦法的

dj 發文於   2021/01/02

您好關於i的判斷式 我用的是value2與value1做比較,我把符號弄反了修改為while value2<value1(當v2小於v1時就執行直到v2>v1時停止確保我找的前高是在前低點出現之前)但它出現的結果還是,請檢察腳本是否有無限迴圈。

另外我並不是要畫圖,我是想找到那個點,再依那個位置的價格去跟其他高低點價格做比較,程式碼plot只是代替print看它出來的結果是什麼。

q1: 根據while的用法,我的理解是while 後面加判斷式就好,它有怎樣的格式嗎?因為你說到我沒有寫到任而關於i的判斷式,所以我想知道是否while 判斷式有怎樣的固定格式或表達方式,必須用i來做表示?

XQ小幫手 發文於   2021/01/05

dj 您好

關於 while 迴圈的撰寫方式

您可以參考這篇文章

https://xshelp.xq.com.tw/XSHelp/?HelpName=While&group=CONTROLFLOW

不好意思因為您是寫plot 所以我才會以您是想劃線為出發點思考

但我是覺得應該有辦法避開使用會迴圈的方式來執行

小幫手會在幫您思考看看  

發表回覆
Close