期貨量化軟件:赫茲量化 處理時(shí)間---函數(shù)
判斷并設(shè)置經(jīng)紀(jì)商的時(shí)移
現(xiàn)在我們來(lái)研究函數(shù) chckFriday(...)。 它判定不同時(shí)段各自經(jīng)紀(jì)商的時(shí)移,并根據(jù)結(jié)構(gòu)類(lèi)型將其分配到全局變量 OffsetBroker 的相應(yīng)字段 _OffsetBroker。 該結(jié)構(gòu)知曉以下三個(gè)領(lǐng)域:
? int ? USwinEUwin, ? ? ? ? ? ? ? ? ? ? ? ? ? ?// US=Winter & EU=Winter ? ? ? ? USsumEUsum, ? ? ? ? ? ? ? ? ? ? ? ? ? ?// US=Summer & EU=Summer ? ? ? ? USsumEUwin, ? ? ? ? ? ? ? ? ? ? ? ? ? ?// US=Summer & EU=Winter
它們會(huì)分別分配相應(yīng)時(shí)段經(jīng)紀(jì)商的時(shí)移。 這些時(shí)段是:
這兩個(gè)地區(qū)都是一樣的,要么是冬季(或標(biāo)準(zhǔn)時(shí)間),要么是夏季,或者
美國(guó),已到夏季,歐盟仍然在冬季。
逆轉(zhuǎn)的情況是,美國(guó)已經(jīng)(仍然)在冬季,而歐盟仍然(已經(jīng))在夏季,這種情況并不存在。 此處出現(xiàn)的問(wèn)題不僅是為什么第四個(gè)類(lèi)別不存在,以及澳大利亞或 AUD 會(huì)如何 — 它在于此缺失了嗎? 以下是切換的規(guī)則:
歐盟:10 月份最后的周日,和 3 月份最后的周日
美國(guó):11 月份的首個(gè)周日,和 3 月份的第二個(gè)周日
澳洲:11 月份的首個(gè)周日,和 3 月份的最后一個(gè)周日
關(guān)于第一個(gè)問(wèn)題。 歐盟比美國(guó)早一到兩周切換到冬季時(shí)間:美國(guó)仍然是夏季,而歐盟已經(jīng)是冬季,因此該值被分配到 OffsetBroker 變量的 USsumEUwin 字段。 然后在春季,美國(guó)先于歐盟就轉(zhuǎn)為夏季,如此美國(guó)的夏季已持續(xù)一兩周,而歐盟仍然是冬季。 同樣,該值被分配給 OffsetBroker 變量的 USsumEUwin 字段。 由此清晰地表明,相反的情況歐盟已經(jīng)(仍然)夏季了,但美國(guó)仍然(已經(jīng))是冬季的情況根本不會(huì)發(fā)生。 這實(shí)際上不需要計(jì)算秋季和春季變更期間的經(jīng)紀(jì)商時(shí)移。 盡管如此,它還是被執(zhí)行了 — 僅僅是出于完整性和控制。
關(guān)于第二個(gè)問(wèn)題。 澳大利亞和美國(guó)一樣,在 11 月份切換。 在春季,則和歐盟一致。 因此,沒(méi)有其它進(jìn)行變更的不同周末。 然而,在澳大利亞,當(dāng)歐盟和美國(guó)處于冬季時(shí),時(shí)鐘會(huì)提前 1 小時(shí),因?yàn)槟抢锏氖フQ節(jié)和新年都在夏季 現(xiàn)在,如果我們已經(jīng)計(jì)算出一個(gè)特殊時(shí)段的時(shí)移,那么我們也可以計(jì)算外匯市場(chǎng)在這幾周期間的開(kāi)盤(pán)時(shí)間。 這些值存儲(chǔ)在 secFxWiWi、secfxsuu、secFxSuWi 字段和 actSecFX 里的當(dāng)前有效值當(dāng)中。 在文章的最后,在應(yīng)用程序一章中,我們將展示如何處理這個(gè)問(wèn)題。