從零到有,將腦中策略落實到程式(1)-資料讀取

更新於 發佈於 閱讀時間約 2 分鐘
投資理財內容聲明

哈囉~我是Richard

是否有時遇到一種情況,發現一種似乎有一定勝率的交易技術線型,

想回測時,若軟體沒有提供相關線型回測,就必須自己寫程式來呈現線型,進而回測
然而卻不知道如何用程式的方式將他呈現出來。

今天用XQ來做個簡單分享:


弄清楚運作模式

在懂得基本變數的情況下,最重要的是懂得程式是怎麼運作的,

無論是回測,選股,程式都需要先知道先前K棒的資料,歷史資料數據是甚麼,因此「資料讀取」是非常重要的。

然而XQ中的資料讀取,也常常被剛接觸XQ的人所忽略(包括我自己),以前我很單純的認為,資料讀得越多越好,出bug或數據不對就無腦讓他讀更多資料XD,結果就是無的放矢,事倍功半。


XQ資料讀取

這裡附上XQ官方的教學:XQ教學

看完了,然後呢?怎麼用?
我們用選股做例子

這是XQ教學中的圖

raw-image

從這張圖可以看出,資料讀取是從左至右讀取,至於要從多早開始讀,取決於使用者輸入的資料讀取範圍。

那甚麼情況下會需要顧慮到資料讀取範圍呢?以下舉幾個常見例子

  1. 策略有使用到均線
  2. 策略中和「最高(低)點」有關
  3. 策略中包含了一定時間的型態:例如需要2個月的盤整


策略有使用均線

若策略有使用均線,卻輸入錯誤的資料讀取範圍,會導致以下情況

EX:

value1 = WMA(close,60);
value2 = WMA(close,240);

if value1 cross Over value2 then
ret = 1;

print("===up===");
print(value1);
print(value2);
print(date);
print("===down===");

這是非常簡單的60WMA均線和240WMA均線黃金交叉的條件,資料讀取=20。

乍看之下沒問題,然而我們查看print出來的記事本,內容卻是

raw-image

由上至下資料為:60WMA均線數值,240WMA均線數值,日期

好奇怪,怎麼數字都長一樣?

因為你只讓他讀20跟K棒而已,那XQ內建是如果讀不到資料,資料就會等於收盤價

這一開始困擾我蠻久的,畢竟程式本身並沒有bug,也不知道該怎麼除錯,後來才發現是邏輯問題XD


策略中和「最高(低)點」有關

這個就比較好理解了,請看下圖

raw-image

如果今天只讓資料讀取到紅色框框範圍,那今天呼叫範圍中最高點K棒時,獲取資料會是紅色箭頭位置,反之若讓資料讀取到藍色框框範圍,那獲取資料就會是藍色箭頭位置

總結

並不是說讓資料讀取範圍越多越好,凡事適量即可,看自己的需求是甚麼?而且資料讀取範圍越多,也代表電腦要幫你撈更多資料,一檔股票撈資料的時間或許使用者沒有感覺。

但今天如果是回測,回測目前所有1700多檔股票,所需的時間就會差很多,今天先分享到這裡。下一篇再抽空撰寫,謝謝大家~

留言
avatar-img
留言分享你的想法!
avatar-img
richard交易點點滴滴
19會員
64內容數
這裡會放上我的交易日常,研究~歡迎交流 動動手指追蹤是我產文的動力~ 粉專:https://www.facebook.com/richardchien66 IG搜尋:richard_invest_life 請多指教
2024/05/24
既然了解Ironcondor了,也知道Ironcondor最喜歡小波動行情,那就可以做統計了。 在試過許多指標後,最後我們使用的指標是 ATR。 ATR是甚麼? 中文名稱叫做「真實平均波動區間指標」,英文為 Average True Range。 主要是利用TR再做個平均。 TR大致的算法
Thumbnail
2024/05/24
既然了解Ironcondor了,也知道Ironcondor最喜歡小波動行情,那就可以做統計了。 在試過許多指標後,最後我們使用的指標是 ATR。 ATR是甚麼? 中文名稱叫做「真實平均波動區間指標」,英文為 Average True Range。 主要是利用TR再做個平均。 TR大致的算法
Thumbnail
2024/05/20
最近思考 Ironcondor 怎麼做,才可以增加勝率。 在此要先知道,Ironcondor是甚麼? 時間價值又是甚麼? Ironcondor是利用選擇權兩個價差單組成的蓋子(如圖)。 時間價值呢,網路上定義為:選擇權買方持有買權期間的價值。 權利金扣除內含價值,即為時間價值。 我們講白
Thumbnail
2024/05/20
最近思考 Ironcondor 怎麼做,才可以增加勝率。 在此要先知道,Ironcondor是甚麼? 時間價值又是甚麼? Ironcondor是利用選擇權兩個價差單組成的蓋子(如圖)。 時間價值呢,網路上定義為:選擇權買方持有買權期間的價值。 權利金扣除內含價值,即為時間價值。 我們講白
Thumbnail
2024/03/28
前陣子和大家聊到事件型交易 還沒看過的可以點連結:https://vocus.cc/article/65f92a0ffd89780001ba36bc 這裡需要做個修正: 00940掛牌上市前需要買成分股這件事情是確定的,但後來發現規定,這只是公告,並不一定代表會買到如圖的%數,且一檔持股權重不
Thumbnail
2024/03/28
前陣子和大家聊到事件型交易 還沒看過的可以點連結:https://vocus.cc/article/65f92a0ffd89780001ba36bc 這裡需要做個修正: 00940掛牌上市前需要買成分股這件事情是確定的,但後來發現規定,這只是公告,並不一定代表會買到如圖的%數,且一檔持股權重不
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
策略模式將多種演算法封裝於獨立的策略類別中,每個策略類別都實現了一個共同的介面。這種設計允許使用者在系統運行時動態選擇和切換演算法,以達成相同的目的。
Thumbnail
策略模式將多種演算法封裝於獨立的策略類別中,每個策略類別都實現了一個共同的介面。這種設計允許使用者在系統運行時動態選擇和切換演算法,以達成相同的目的。
Thumbnail
列出一套完整的程式 程式設計有許多種方法,不過通常會先列出清單的再逐一執行,這樣會加快程式設計的速度。設計通常會採取順推的辦法。所以順推的程式設計方式就是經歷觀念溝通、系統分析、資料統合、權限管理、頻率與時間、後台管理、畫面設計等等階段後,將框架設計完了以後,先列出一套完整的程式,將所有使用者都確
Thumbnail
列出一套完整的程式 程式設計有許多種方法,不過通常會先列出清單的再逐一執行,這樣會加快程式設計的速度。設計通常會採取順推的辦法。所以順推的程式設計方式就是經歷觀念溝通、系統分析、資料統合、權限管理、頻率與時間、後台管理、畫面設計等等階段後,將框架設計完了以後,先列出一套完整的程式,將所有使用者都確
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
關於程式語言的學習,只要掌握住幾個基本特性要熟悉幾種程式語言也不困難,這三個基本特性就是…
Thumbnail
關於程式語言的學習,只要掌握住幾個基本特性要熟悉幾種程式語言也不困難,這三個基本特性就是…
Thumbnail
是否有時遇到一種情況,發現一種似乎有一定勝率的交易技術線型, 想回測時,若軟體沒有提供相關線型回測,就必須自己寫程式來呈現線型,進而回測 然而卻不知道如何用程式的方式將他呈現出來。 今天用XQ來做個簡單分享: 弄清楚運作模式 在懂得基本變數的情況下,最重要的是懂得程式是怎麼運作的, 無
Thumbnail
是否有時遇到一種情況,發現一種似乎有一定勝率的交易技術線型, 想回測時,若軟體沒有提供相關線型回測,就必須自己寫程式來呈現線型,進而回測 然而卻不知道如何用程式的方式將他呈現出來。 今天用XQ來做個簡單分享: 弄清楚運作模式 在懂得基本變數的情況下,最重要的是懂得程式是怎麼運作的, 無
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News