想問一下一些語法怎麼寫 - 財經

Yuri avatar
By Yuri
at 2019-07-17T23:35

Table of Contents


嗨!很高興你能提出問題。

考慮你提出的問題背後,你可能本身的背景

所以在此分享一些簡易解決辦法,應該可以暫時解決問題

(一)使用全局變數做為延遲計數

假設你的狀態變數 1 = 震盪, 2 = 上, 3 = 下

然後你現在想要當「上」發生後 10 個 Bar 再做個檢查

但是那時候可能已經不是「上」了

你可以先建立一個延遲計數的參數

int g_state_2_check_count = -1; // 這是狀態2也就是「上」的計數


這個參數預設是 -1 ,但是當它設定成 0 的時候,會開始累加

然後你可能某個時刻條件 A, B, C 達成的時候

例如:

if(condi_A == true && condi_B == true && condi_C == false)
{
g_state_2_check_count = 0; // 原本是 -1 變成 0 開始累加
}


接著你在每一個時間間隔發生時, 累加:

if(g_state_2_check_count >= 0)
{
g_state_2_check_count = g_state_2_check_count + 1;
}

所以只要沒有變成 0 ,維持在 -1 就不會累加

接著在你指定的延遲時間發生時,採取相應動作,並把記數恢復預設 -1

if(g_state_2_check_count >= 30)
{
// 在狀態 2 發生後 30 個 bar 要做的事情
// ...
// ...

g_state_2_check_count = -1 ; // 恢復 -1 不再記數
}

這個方法有許多缺點,但考量你的需求可以解決,也容易理解~

(二)使用陣列(Array)

嗯... 這部分你就要使用陣列了哦

你可以在全局變數建立一個你覺得足夠長的陣列,例如:

int g_state_buffer[10]; // buffer意思是緩衝區, 就是暫存的意思

除非你是要把數值寫檔案出來,否則盡量還是根據往回看的最大需求設定大小

接著在對應時刻把 1, 2, 3 放到陣列的第一個

if(condi_A == true ... )
{
g_state_buffer[0] = 1;
}

接著你回到整個時間開始處,在每次開始就將所有狀態往後挪一格:

for(int i = 9; i >= 0; i--)
{
g_state_buffer[i] = g_state_buffer[i-1];
}

這樣就能在每個時間都知道過去一段時間的指標變化囉~

希望對你有幫助~

※ 這個方法有較多複雜的副作用,無特別需求朋友就不要這樣做啦

--
Tags: 財經

All Comments

Caroline avatar
By Caroline
at 2019-07-22T04:14
感謝,先慢慢看
Leila avatar
By Leila
at 2019-07-26T08:53
專業推!
Kama avatar
By Kama
at 2019-07-30T13:32
推!
Daniel avatar
By Daniel
at 2019-08-03T18:10
rc大必須推
Emily avatar
By Emily
at 2019-08-07T22:49
全域變數

想問一下一些語法怎麼寫

Delia avatar
By Delia
at 2019-07-17T22:47
各位前輩好 最近遇到一些問題,是關於語法上的問題 問題如下 條件1.2.3在某一段時間內同時發生,形成一個訊號,並指明一個方向(上或下 然後我在用一個濾網,經過一小段時間的確認後再下單(這時後可能條件1.2.3已經又不 符合了 請問這樣的語法怎麼寫 第二個問題 如果想描述一段指標的變化 一邊震 ...

期交所選擇權每日行情爬蟲

Daph Bay avatar
By Daph Bay
at 2019-07-01T16:07
各位大大午安 不曉得有沒有人有在期交所爬選擇權每日行情資料 從今天開始發現沒有辦法爬到歷史資料 不管怎麼改Form Data裡面的參數都只能爬到今天的 想請問有沒有人遇到相同的問題 謝謝! - ...

七月颱風閒聊

Ursula avatar
By Ursula
at 2019-07-01T09:56
七月沒人開我開了 祝大家拖颱風的福 賺大錢 - ...

徵求與銀行或其他金融組織的借款經驗人士

Elvira avatar
By Elvira
at 2019-06-29T15:20
大家好,我是國立臺北大學社會系的研究助理,現在替教授找研究論文的受訪者,因論文題目是以金融社會學為主,故到此版徵人,希望沒有違反版規。 訪談名稱:借款過程中之策略經驗 研究目的:此為金融社會學研究,為了解借款人與銀行或其他金融組織的借款經驗(利率高低、額度、銀行回應)、策略評估(如何選擇借款的銀行 ...

比特幣價格創新高,攀升至11900美金

Cara avatar
By Cara
at 2019-06-26T11:04
https://www.blocktempo.com/bitcoin-hits-its-highest-price-in-2019-making-its-m arketcap-surpassing-200biliion/ TradingView 數據,目前 Coinbase 交易所得比特幣報價又再創下今年新 ...