arleigh418 / python-and-Taiwan-stock-market

Python 金融市場賺大錢聖經:寫出你的專屬指標
54 stars 17 forks source link

關於AES_Encryption等第三章問題 #39

Open HerbertLin777 opened 1 year ago

HerbertLin777 commented 1 year ago

想請教作者出現在第三章的一些問題 1.在smtp的章節中有需要一個AES_Encryption的模組,我有照著您的說明放到sys.path.append那個目錄裡,但每次依然會出現找不到模組的錯誤,請問該如何解決? 謝謝回覆 擷取 2

2.在smtp的章節中,一開始會先遇到AES_Encryption的模組的問題,即使我先註解掉AES_Encryption那一行,也會馬上再遇到msg的問題,想請教該如何處理? 謝謝 2222

3.在1_buy_follow_corp這個章節裡,我們會匯入utility_f這個之前做的模組,但是檢驗結果時卻會一直出現找不到模組的錯誤,請問該如何解決? 謝謝 擷取

4.每次在填寫路徑時都會出現unicode error,上網查了一下好像只要在路徑前面加上r就能改善,但是我看書本都沒加上r,想請教作者這部分有可能是什麼原因所導致? 123132

arleigh418 commented 1 year ago

您好,回覆如下,希望有幫助到您:

  1. 請在您圖上的目錄開一個folder: AES_Encryption,然後把en_decrype.py 跟 encrype_process.py這兩隻程式放進去AES_Encryption裡面後,再執行看看。

  2. 這個問題代表msg這個東西尚未被聲明過,請您檢查看看msg是否有被正確實例化,例如 msg = MIMEMultipart() ,如有的話可能要請您提供完整程式,才可判斷msg這個變數是在哪裡出了問題。

  3. 請協助檢查utility_f.py這的檔案,跟您執行的目標檔案是不是有在同一層資料夾底下。

  4. 原因是因為在python中斜線加特定字符是有含義的,叫做跳脫字元(Escape Sequence),例如非常常用的\n代表字串的換行符號,如果字串前面沒有加r,python會把 \n 讀成是要換行的指令,但有如您遇到的情境,有些時候我們的電子郵件或是路徑少不了會遇到碰巧需要 \n 這樣的字串,所以字串前面加r ,是告訴python說,我這段路徑或是字串是純字串,請不需要幫我解讀成換行的指令。因為我在書中的範例沒有遇到,所以沒有特別的注意到這塊。您是對的,字串前面加上r 是更保險的做法。

以上希望有回答您的問題,也歡迎隨時討論哦。謝謝。

HerbertLin777 commented 1 year ago

非常謝謝作者詳細的回覆,關於1、2的問題,依照您的建議新增一個AES_Encryption資料夾確實能解決原先問題,但是會再出現另外一個No module named 'Crypto'的問題,請問該如何解決? 附上程式碼,謝謝 1 2

3.utility_f.py確實與1_buy_follow_corp在同一層資料夾底下,附圖 4 5

arleigh418 commented 1 year ago

您好, 第一個module not found問題請您執行以下語法安裝套件後再嘗試看看 pip install pycryptodome==3.9.7

第二個問題msg看起來是沒問題的。您是分段執行的嗎? 另外您的圖片有信箱密碼,建議您碼一下。 後來google為了安全性,信箱不支援直接打帳密的方式,請您參考這個連結

第三個問題您的utility_f.py ,在檔案中似乎U是大寫的?您將U換成小寫的再試試看。

以上回答希望有幫助到您,嘗試過後有問題請再提出哦。

HerbertLin777 commented 1 year ago

真的非常感謝作者不厭其煩的解惑

1.依照您的建議,我有試圖安裝pip install pycryptodome==3.9.7 ,不過貌似安裝失敗,因此smtp還是出現如上圖所述的No module named 'Crypto'問題

2.檔案1_buy_follow_corp,依然出現No module named 'utility_f'的問題,為了確保utility_f資料是正確的,已修改檔案名稱,且直接copy您放在code裡的utility_f的程式碼,並把sys.path.append、"user-agent"等訊息改為自己的資料,不過卻同樣出現No module named 'Crypto'的問題,還煩請作者解惑,謝謝

pip install pycryptodome==3.9.7 貌似安裝失敗 擷取2

utility_f裡出現的No module named 'Crypto'問題 444

arleigh418 commented 1 year ago

您好, 看起來離成功不遠了,請您至下面這個連結的第三種解法,需要安裝一些build c++的元件。 https://zhuanlan.zhihu.com/p/126669852

請您嘗試看看,過程有任何問題在隨時討論,請別客氣。 謝謝

HerbertLin777 commented 1 year ago

謝謝作者的回覆,原來是缺少C++編譯器的關係,照著您說的方式試圖安裝visual c++ build tools,可惜一直安裝失敗 失敗頁面如下 擷取 雖有嘗試下載此篇文中作者提供的離線版本,但是連結以遺失,查了一下有沒有其他替代方案,最後找到這一篇 https://blog.csdn.net/qzzzxiaosheng/article/details/125119006 照其安裝相關模組後似乎也失敗,其頁面如下 33 於是在思考是不是因為我用anaconda-jupyter來撰寫才會出現此錯誤,於是改用VS code重寫一次但結果依然No module named 'Crypto,抱歉一直卡在同一個循環裡,想問作者這部分的code在後續會用到嗎?若是影響不大的話我其實可以繼續往下學習沒關係,附上錯誤頁面 1231651

arleigh418 commented 1 year ago

您好, 雖然沒有這個加密工具,稍微調整一下後面的程式應也不受影響。 不過您的環境可能多少要具備這個visual c++ build的工具,未來可能才會遇到比較少得問題。

畢竟這其實是一個蠻通用的問題,很多Python的套件都需要使用到這個c++ build的工具。 其實最簡單的方式應該就是下載visual sudio,併且在他的安裝清單中把這些東西裝一裝 唯一的小壞處就是可能會稍微比較佔一些空間。 https://visualstudio.microsoft.com/zh-hant/downloads/

HerbertLin777 commented 1 year ago

原來如此!謝謝作者的解說! 您說的安裝清單指的是這個對吧?附圖 擷取 為了怕有遺漏,我已全數安裝完成,不過非常尷尬的是,進去vs code跑一遍依然出現No module named Crypto 22 請問作者我是不是有哪個環節弄錯了,需不需要把整個python跟vscode等程式全數重新安裝?

arleigh418 commented 1 year ago

您好, 安裝完之後,請您再嘗試看看執行下面語法,看安裝這個是不是成功 pip install pycryptodome==3.9.7

HerbertLin777 commented 1 year ago

作者您好!有成功安裝, 擷取 2

不過No module named 'Crypto'問題在vs code還是存在,而jupyter上則是出現新的問題,他寫說是無效語法,不過encrype_process與en_decrype都是直接copy檔案下來沒有更動過,作者覺得這有可能是什麼原因所導致?謝謝回覆 123

arleigh418 commented 1 year ago

您好, vscode重啟之後可能就會生效了。如果沒有,那問題可能是您的環境有多個python的執行環境。 此時就要檢查vscode執行的環境與您實際上安裝套件的環境是否一致。

至於您的jupyter的問題,原始程式中 value +=b'\x00' 這一段,後面應該是沒有image.png這樣的字眼的,可能再請您檢查一下。 https://github.com/arleigh418/AES-Encryption/blob/main/AES_Encryption/en_decrype.py

HerbertLin777 commented 1 year ago

vscode重啟之後沒有就會生效,看來問題應該出在有多個python的執行環境這部分,jupyter的問題也頗令人困擾,看來直接把其他程式刪掉只保留vs code好了!真的非常謝謝作者不厭其煩的教導,若有問題再詢問您!謝謝!

arleigh418 commented 1 year ago

沒問題,有任何問題請不要客氣隨時提出哦!

HerbertLin777 commented 1 year ago

謝謝作者之前不厭其煩的回覆,當我重新安裝vscode並且把其他執行環境刪除後,問題確實都解決了,不過在書本buy_with_price_fall這個章節中, 在編寫時遇到了兩個問題,

一. BeautifulSoup函式庫,而在解析HTML時沒有明確指定解析器, 其錯誤訊息如下: 00 這部分在問了GPT之後, 自行在 utility_f 這個檔案中把原有程式碼後面又新增了一小段, 請問作者這樣在後續會不會出現問題?

修改後的畫面如下: 擷取012

二. 整段程式碼能夠篩選出暴跌股票, 但因append 錯誤導致收信時都是錯誤訊息, 位置如下: 擷取

其錯誤資訊如下: 擷取222

我在編寫時發現append 這串字是白色的,不知該如何處理, 煩請作者解惑,謝謝! 擷取345

arleigh418 commented 1 year ago

您好,請別客氣。 您的第一個問題,features=lxml理論上應該不會造成什麼壞的影響,也應不是少了這個引發錯誤的,少加了這個可能會引發warning,但應該不會影響程式,除非新版本的套件有一些更動我目前還沒有掌握到。

您的錯誤引發看起來是作業系統不認得您傳入的路徑格式,您可以將您send_mail中傳入的檔案路徑貼上來看看嗎?

第二個問題,您是對的,pandas在2.0版本以後移除了append這個用法。 所以解決問題的方式有兩個,看您的偏好,我們再來討論。 其一是退版本,例如退回我撰寫這本書使用的1.2.x的版本,不過這個我倒是沒有太支持退回這麼舊的版本!但理應可以讓程式不會有這類型錯誤。 其二就是用concat達成這件事情,目的只是要將新的新聞一列一列的加入dataframe中,有許多函數可以達成這個目的。可參照這篇說明: https://stackoverflow.com/questions/75956209/dataframe-object-has-no-attribute-append

HerbertLin777 commented 1 year ago

作者您好!謝謝您的回覆, 針對第一個問題,以下為我send_mail中傳入的檔案路徑:

1

原先我也是用字母 "f" 來編寫, 但是會出現無法識別的錯誤, 因此才改用 "r" 來操作,不知道這樣O不OK?

問題二的部分, 確實改成用 concat 就能正常運行了, 真的非常謝謝您, 不過有個小問題, 不知道為甚麼我的新聞檔案會出現許多的 Error , 且股票欄位似乎也錯誤, 如下圖:

3

但是mail以及執行的部分都正常,如圖:

4 2

最後附上修改成concat的程式碼,會不會是我寫錯了?

擷取

HerbertLin777 commented 1 year ago

另外繼續往下學習時,在pyfolio章節中遇到了一個新的問題,當我執行時出現了 'Series' object has no attribute 'iteritems' 的錯誤,上網爬了一下得知 'iteritems' 這個用法在Pandas 2.0時已被刪除,想請問作者除了把Pandas降到1.0版本外,有沒有什麼其他用法可以完成書上所顯示的報表?謝謝

附上錯誤訊息與程式碼的對照圖: 擷取

arleigh418 commented 1 year ago

您好, 將寄信的字串改成r沒什麼問題,事實上那個f可能有一點多餘,是我沒注意到,雖然f不會造成不良影響。 r是沒問題的,您的方向是正確的。

至於新聞都是Error,應該是爬新聞的時候沒有爬到東西,不確定您是否有換成新的新聞爬蟲,或者是如果這個也失效了,請再跟我說,我會再抽空調整。URL: https://github.com/arleigh418/python-and-Taiwan-stock-market/blob/main/Trading%20Strategy_EX/Chapter2/yahoo_news_2.py 造成Error的錯誤應該不在concat身上,可能原本資料源就出問題了,爬蟲不可避免的對方網站一改版,可能就會失效。

至於pyfolio的問題,可能只能等待pyfolio的作者去修復支援pandas 2.0以上的版本,如果對方沒有修復,那只剩下自行修改或者是降板,自行修改可能會有點麻煩,因為每一次有新的環境的時候都還需要再修改一次,除非您自行發布修改完後的套件,但那個比較進階一些。 如果是這種情況,我可能會建議降版,剛剛我確認一下我自己的環境也都還在使用pandas 1.5.0-1.8.0之間,所以我沒還發現這些問題,看看您是否考慮稍微降幾個版,以利學習順利。看來pandas2.0的改版幅度還蠻大的。

HerbertLin777 commented 1 year ago

感謝作者回覆, 經您一提我突然想到原來問題出在 utility_f.py 檔案, 現在才發現這份檔案裡的新聞函數是舊版的, 在更新後已經能夠正常使用了,謝謝您的幫助!

關於pyfolio的問題, 若我想對pandas降版, 這樣會不會影響到之前本書所練習的其他隻程式? 另外, 有推薦降為哪個版本嗎? 最後詢問一下作者, 查詢網路資料後得知, 最為簡易的降級步驟貌似為: pip uninstall pandas pip install pandas==1.0.0 (輸入要降級的版本) 這樣是否正確? 謝謝!

HerbertLin777 commented 1 year ago

今日在跑排程時出現了一個有關三大法人買賣超的問題, 其錯誤如下:

1

上GPT查詢, 得知應該跟data_json 中的 'data' 有關, 也可能是網頁結構改變, 但我去查了網頁結構發現依然有效, 且 twse_data的函數也能正常使用, 不知為何會出現錯誤, 煩請作者解惑, 謝謝!

以下為三大法人買賣超日報的URL: https://www.twse.com.tw/rwd/zh/fund/T86?date=20230626&selectType=ALLBUT0999&response=json&_=1687785916294

此為 twse_data 函數運行的頁面, 結果正常:

4

utility_f.py裡的 三大法人買賣超函數(直接複製 twse_data 函數貼上)

3

另外附上 [1]_buy_follow_corp 中有關 twse_data 的程式碼

8

arleigh418 commented 1 year ago

您好,關於您的第一個問題 另外, 有推薦降為哪個版本嗎? => 我個人還是用1.5.0,但我覺得您可以裝裝看1.8.0,有問題再退回1.5.0。

最後詢問一下作者, 查詢網路資料後得知, 最為簡易的降級步驟貌似為: pip uninstall pandas pip install pandas==1.0.0 (輸入要降級的版本) 這樣是否正確? 謝謝! => 正確!

arleigh418 commented 1 year ago

您的第二個問題,請您再重新執行一次,看看是否正常。 如果重新執行正常,錯誤發生可能是偶發的錯誤,例如您的網路瞬斷,或者是對方的服務在那時候忽然有問題。

從錯誤訊息可以推斷應該是當時請求資料的時候對方發回的資料是不正確的格式,導致無法解析。 進階一點的話,您可以設置try except機制,來處理這種偶發錯誤,或者是重新執行排程等等的機制。

當然假設他是偶發的話,如果您無論如何執行都是失敗的,那很有可能是對方的網頁有所變更。 可能是頁面的變更,也可能是他們加入了某些防止爬蟲的機制需要再去研究一下。

HerbertLin777 commented 1 year ago

謝謝作者不厭其煩的回覆,

關於問題一, 我已將版本降至1.5.0(本想裝1.8.0但無此版本), 不過令人難過的是依然無法使用 pyfolio, 問過GPT也找不出解答, 關於 pyfolio, 作者在使用上都是正常的嗎? 有沒有甚麼辦法可以解決這個問題?謝謝!

附上錯誤訊息的頁面:

2

關於問題二, 有幾個疑問,

(1)今日重新測試好幾回, 但是依然都是同樣的錯誤訊息, 這樣的話是否代表網頁結構已改變或是這個網頁加入防爬蟲機制? 弱勢的話該如何處理? (昨日查看網頁結構貌似沒有跑掉, 但自己也不確定)

(2)您在介紹 1_buy_follow_corp 這個章節時, 已經有設置 一道關於休市 SystemExit Error 的try except機制, 不知道您指的是否為這個? 還是要再另外新增別的 try except 機制?

(3)另外一提, 當初在學習 1_buy_follow_corp 這個章節時, 執行上都很正常(測試時間為6/15), 但昨日開始出問題, 不知道是哪邊出狀況, 還煩請作者解惑, 謝謝!

實在很不好意思由於是程式新手, 問題特別多, 還請作者多多見諒~

HerbertLin777 commented 1 year ago

作者您好, 另外在操作 backtest_research 這個單元時, 我確實也遇到了 FileNotFoundError 的問題, 照著您的建議將其修改後, 出現了'numpy.int64' object has no attribute 'to_pydatetime'的問題, 上GPT查詢後,問題可能出現在 data = bt.feeds.PandasData() 的數據處理部分, 為了修正這個問題,我依GPT的建議在後面加了不同的程式碼進行測試, 但是都失敗告終, 不知作者有沒有甚麼建議?是不是跟pyfolio 有關?

這是修改後的data = bt.feeds.PandasData():

2

以下為錯誤的訊息頁面:

1

arleigh418 commented 1 year ago

您好, 關於問題一出現的AttruburteError,是已知錯誤,我印象中在書上的某個地方有提到 這個部分可能需要自己調整,請參照: https://stackoverflow.com/questions/63554616/attributeerror-numpy-int64-object-has-no-attribute-to-pydatetime

您的問題二 (1)今日重新測試好幾回, 但是依然都是同樣的錯誤訊息, 這樣的話是否代表網頁結構已改變或是這個網頁加入防爬蟲機制? 弱勢的話該如何處理? (昨日查看網頁結構貌似沒有跑掉, 但自己也不確定) => 那有可能是那個網頁有什麼更新,請稍等我一下,我這週六日找時間去測一下,如果真的有變動會再更新新的版本。

(2)您在介紹 1_buy_follow_corp 這個章節時, 已經有設置 一道關於休市 SystemExit Error 的try except機制, 不知道您指的是否為這個? 還是要再另外新增別的 try except 機制? => 是的!沒錯!排除偶發性的方法有很多。例如我在程式中設計try except,當成功時我向資料庫或某個檔案寫入例如20230628今日成功,失敗則寫失敗,然後maybe我們在1個小時後再多加一個排程,去讀取我們的成功失敗擋,決定要不要retry。當然如果使用排程工具如airflow,他自己是有retry機制的,只是相較windows排程的間單單純,airflow等排程工具需要時間學習。

(3)另外一提, 當初在學習 1_buy_follow_corp 這個章節時, 執行上都很正常(測試時間為6/15), 但昨日開始出問題, 不知道是哪邊出狀況, 還煩請作者解惑, 謝謝! => 這個我再去了解一下。看是什麼問題導致的,再跟您說

HerbertLin777 commented 1 year ago

謝謝作者的回覆! 關於問題一 : 我在4-6頁找到解答了!真的非常謝謝作者, 問題已經完全解決了!

關於問題二 : (1)好的沒問題!真的是麻煩您了!謝謝! (2)原來如此, 我再來新增測試看看, 謝謝作者! (3)好的謝謝您!不好意思麻煩作者了!

HerbertLin777 commented 1 year ago

作者晚安!終於操作完您的書籍了,真的是非常棒的一本書!還好當初有買!不然真的不知道該如何把python套用到程式交易上!實在非常謝謝您! 目前整本書都學習完畢!就僅剩前幾日提到的三大法人1_buy_follow_corp這會時不時發生錯誤, 但非常奇怪, 周五時突然正常, 但今日又出現錯誤,錯誤訊息如下:

1

信件內容內的錯誤說明

2

另外附上1_buy_follow_corp、utility_f以及 TWSE 這三個檔案的程式碼

TWSE TWSE

utility_f utility

1_buy_follow_corp 33 44

除了有幾個函數的名稱我自己有更動外, 其餘皆沒動作, 不知道為甚麼會有時可行有時不行

arleigh418 commented 1 year ago

您好, 很感謝您的回饋,如果有小小的幫助到您就好了。

關於您提出的那個問題,我也還在觀察中,的確是有時可以有時不行,我在搜集一些Log再來分析看看可能是什麼原因,再與您討論。

HerbertLin777 commented 1 year ago

謝謝作者的回覆!期待您的消息!

arleigh418 commented 1 year ago

我目前跑起來暫時都是沒有問題的,請問您運行這只程式的時間是在何時呢? 建議是不要太早,因為有時候我們每天去跑,對方的資料有可能比較晚更新,下日期的時候就會沒有資料。

可能是每天晚上九點十點再去搜集當天的三大法人,會比較穩定一些? 不過要端看您是什麼時候運行程式的。

HerbertLin777 commented 1 year ago

作者您好!謝謝您的測試!我目前所設定的排程為每個平日的晚上8:00,剛剛再次進行測試,照理說應該會出現休市的通知,不過一樣出現 KeyError: 'data'的錯誤

錯誤訊息如下:

擷取

我這邊測試下來不是很穩定,時好時壞,大多時候是異常

1

程式碼如下:(不好意思寫的註解很多比較亂,請見諒....)

3

utility_f 檔案裡的函數:

4

查了一下GPT,錯誤貌似出現在"utility_f.py"這個文件裡的 data_store = pd.DataFrame(data_json["data"], columns=data_json["fields"]) 這一段程式碼,但接下來我就不知道要怎麼去修改了,不好意思煩請作者幫忙解惑,謝謝!

arleigh418 commented 12 months ago

您好, 那看起來問題很明確,應該就是因為禮拜日仍然啟動了排程,傳了禮拜日的日期進去,因為當天沒有開盤的關係,導致搜索不到當天的資料,因此引發錯誤。

要改的方向應該是要排除掉休市的時候,休市時不應該執行排程,請問您的程式中有引入is_open這樣的函數嗎?

HerbertLin777 commented 12 months ago

作者您好!我有帶入 is_open 的函數,只是自己有修改名稱為 stock_day_open

附圖:

1

2

HerbertLin777 commented 12 months ago

作者您好,我解決問題了,我將排程從晚上8:00改為晚上9:00進行測試,目前測試幾天下來都正常,看來排程時間建議排在9:00以後!

arleigh418 commented 12 months ago

您好,感謝您的告知,也很開心將時間往後移即可解決了問題。 若是之後仍有類似的情形,我會再告知讀者建議將時間改為晚上九點之後再執行! 再次感謝您!

HerbertLin777 commented 11 months ago

不好意思打擾作者,三大法人的部分好像還是很不穩定,這幾天又連續出現錯誤了,錯誤訊息依然是KeyError: 'data'

擷取

arleigh418 commented 11 months ago

您好, 我這裡也會繼續做一些實驗,不曉得您有特別觀察到這種狀況是不是都是在六日發生的嗎? 還是平日也會有。

HerbertLin777 commented 11 months ago

作者您好!以上問題都是在平日發生,我設定排程時已經設定成平日才動作,所以周末不會有通知~

arleigh418 commented 11 months ago

您好, 可能可以做一個簡單的測試,釐清他是什麼原因掛掉的。 想像中您的排程可能是每天取當天的資料對嗎?

您可以嘗試看看排程中取今天的資料之前,也存一份昨天日期的資料。 如果今天跟昨天的資料都掛了,那真的是對方的網站可能暫時有什麼狀況,我們的方向就要朝向過一陣子在tetry。 如果今天的資料沒了,昨天的有的話,那就是排成時間應該在更往後,對方可能有些時候會較晚更新。

HerbertLin777 commented 11 months ago

原來如此!好的我明天就來測試!做有甚麼結果在跟作者聯繫!謝謝!

HerbertLin777 commented 11 months ago

作者您好!關於三大法人買賣超的偵測,我發現一個很有趣的現象,也就是在週三~週五進行排程時都會正常,在週一週二執行時都會發生錯誤,您覺得可能是什麼原因所導致?

附上測試結果 擷取

arleigh418 commented 11 months ago

您好! 這的確是很有趣又很讓人困惑的問題。 下週一二晚上我會去試試看可能是什麼問題,再跟您討論!

arleigh418 commented 11 months ago

雖然只是我的猜測,不過您覺得有可能是因為您的情境是去獲取連三日的買賣超。 而禮拜一二,減兩日剛好會遇到六日,傳入六日的日期,因為沒有買賣超資料所以導致錯誤嗎?

HerbertLin777 commented 11 months ago

作者您好!這種情境確實有可能發生,不過我剛有再次順了一遍程式碼,與您的全部一致,因此想想詢問作者在執行時是否也會發生一樣的錯誤訊息?謝謝~

arleigh418 commented 11 months ago

收到,感謝您提供的資訊,我週一週二找時間測試看看,再跟您分享,看看有沒有需要優化什麼。

arleigh418 commented 11 months ago

我稍微看了一下,明白問題應該是哪裡。 您的stock_day_open函數,return了 '今日休市' 或是 '今日為營業日'

原程式return的是 Y / N,而這個 Y / N在主程式中是有意義的,他要判斷傳入的日期,如果是N,代表不是營業日,要跳過的。 但您的return 不是 Y / N,所以always會把六日當作是營業日。

if_trade = is_open(date_target) if if_trade == "N": continue

HerbertLin777 commented 11 months ago

原來如此!謝謝作者的解說!我已經全部更改回來了! 不過今日執行時仍發生一樣的錯誤,我在想會不會是因為今日系統判定為營業日,但是股市沒有開盤所導致?

arleigh418 commented 11 months ago

是,針對這種颱風天忽然放假的問題,的確可能需要人工介入觀察的。 大約下週二應該就會恢復正常,我們再觀察觀察,或者是您如果有點急,可能要特別在程式裡排除這一天。

其實實務上我們會透過資料API來判定今天究竟有沒有開盤,不過書上的情境以初學者為主~所以沒有特別處理這件事情,可能會變得比較麻煩一些些。

HerbertLin777 commented 11 months ago

原來如此!謝謝作者的解說!終於把書中所遇到的每個問題都解決了!真的非常謝謝您!

arleigh418 commented 11 months ago

很高興能幫助您解決問題~有任何疑問歡迎再提出討論喔