最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

量化交易軟件:一個(gè)基于不同大陸不同時(shí)區(qū)的交易策略實(shí)例

2023-08-02 15:29 作者:bili_45793681098  | 我要投稿

簡介

我有段時(shí)間很閑,當(dāng)然了,我把這段時(shí)間都花在調(diào)查市場和研究經(jīng)濟(jì)周期與技術(shù)指標(biāo)的異同上了。大家可以到《創(chuàng)建具有圖形控制選項(xiàng)的指標(biāo)》一文中查看調(diào)查結(jié)果。但如果認(rèn)為里面只有調(diào)查結(jié)果,您可就錯(cuò)了!我發(fā)現(xiàn)了一個(gè)規(guī)模更大的現(xiàn)象,但要理解它,赫茲量化還要從時(shí)區(qū)角度來看看我們所在的世界(圖 1)。


編輯


圖 1。時(shí)區(qū)

赫茲量化可以看到,每個(gè)國家新一天的開始都不相同,而且都在以不同的時(shí)間繼續(xù)著自己的生活。我們幅員遼闊的偉大國家跨越了接近 10 個(gè)時(shí)區(qū),而大西洋不過才覆蓋了 6 個(gè)。

這里有什么規(guī)律模式呢?我們來看下述國家中的開市順序:日本、澳大利亞、中國和俄羅斯。在俄羅斯職員抵達(dá)辦公室開始交易操作的時(shí)候,亞洲地區(qū)已經(jīng)是夜間了;而當(dāng)歐洲開市時(shí),他們又已經(jīng)收市了。

這里開始好玩了。開市后,歐洲經(jīng)紀(jì)人和對(duì)沖基金經(jīng)理就會(huì)將其資產(chǎn)拿到市場上來,實(shí)施投機(jī)或是與其投資者的利益、行動(dòng)并發(fā)。不,這還遠(yuǎn)遠(yuǎn)沒到最有趣的部分 - 從芝加哥的黎明開始,大西洋的少部分地區(qū)即會(huì)迎來朝陽,芝加哥證券市場的經(jīng)理們就會(huì)打開他們的交易終端,開始他們的資本管理。

編輯切換為居中

我們先停一停,談?wù)勊^的大西洋少部分地區(qū)。歐洲時(shí)段市場尚未結(jié)束(圖 1)。倫敦與芝加哥相距 8 個(gè)時(shí)區(qū),如果我們假設(shè)工作日是 8 小時(shí) + 預(yù)留出的45分鐘或 1 小時(shí)的吸煙休息時(shí)間(可能會(huì)再延長 1,30 - 2 小時(shí),辦公室工作過的人都明白這是怎么回事)。

而這正是赫茲量化獲取歐洲與美洲經(jīng)理人市場資產(chǎn)的時(shí)間。我可不敢列出該點(diǎn)位的所有資產(chǎn)零值,歐美的經(jīng)理人都開始忙于證券交易的價(jià)格,而此點(diǎn)位的現(xiàn)象如圖 2 所示。


編輯


圖 2。市場脈搏

市場當(dāng)中充斥著金融戰(zhàn)爭,資產(chǎn)每秒鐘都會(huì)易主,但還是不能就此罷休!此周期過后,又會(huì)朝著當(dāng)前趨勢的方向開始一種平靜行走。在此點(diǎn)位,范圍邊界有所擴(kuò)展,之后又再一次縮窄,繼續(xù)向主趨勢方向行走。

我相信您已經(jīng)注意到了,市場價(jià)格可能會(huì)上漲也可能下滑,但其始終向右移動(dòng)。


2. 作為算法開發(fā)主途徑的流程圖

"Start-Stop" (啟動(dòng)-停止)程序的第一個(gè)程序塊如圖 3 所示:


編輯

圖 3。"Start-Stop" 塊


此程序塊用于指明程序的啟動(dòng),某函數(shù)(或初始化與取消初始化之類的其它流程)的開頭和結(jié)尾。赫茲量化下一個(gè)要研究的標(biāo)簽為 "Data" 的程序塊,如圖 4 所示。


編輯

圖 4。"Data" 塊

"Data" 程序塊用于確定程序啟動(dòng)時(shí)指定的參數(shù),如為 MQL5,則是輸出變量。此單元還充當(dāng)著全局變量的目標(biāo)函數(shù)。

接下來,赫茲量化來研究一種常用程序塊(MQL 中 99% 的程序都會(huì)使用此方法) - 它分兩部分描述,從而也標(biāo)記了一個(gè)周期的界限??纯磮D 5:


編輯

圖 5。周期塊

通常于上述周期內(nèi)發(fā)生的賦值或描述之類的處理,示例見圖 6。


編輯

圖 6。操作

而且,赫茲量化可不能忘記邏輯塊 - 圖 7 所示為 "solution" 塊。


編輯

圖 7。"Solution" 塊

如果 "solution" 塊位于 "switch which depends on the number of placings" (根據(jù)配售數(shù)量切換)類型的運(yùn)算符內(nèi),則可能有兩個(gè)輸出。此單元會(huì)有相應(yīng)數(shù)量的輸出。

下一個(gè)程序塊會(huì)引出預(yù)定義函數(shù),比如 iMACDiRSA,以及在程序或庫中其它位置定義的自定義函數(shù)(圖 8)。


編輯

圖 8。函數(shù)

最后兩個(gè)程序塊只是實(shí)施服務(wù)函數(shù) - 比如注釋與違背(圖 9)。


編輯

圖 9。服務(wù)塊

可用于描述為機(jī)器編寫的任何程序的塊類型,全都在上面列出來了;在開發(fā)初期,它們都很明確、簡單且方便使用,還揭示出了系統(tǒng)的弱點(diǎn)、想出了解決的方法。

這種方法您已經(jīng)了解了,但我可不是讓您照本宣科地對(duì)照這些計(jì)劃來實(shí)施,而只是簡單地了解一下流程圖的初始值,如此則足夠理解某些類型的計(jì)算方法了。此方法有助于我快速形成一個(gè)理念,而這個(gè)理念一度從我的腦中一閃而過、捕捉不及。

3. 算法的構(gòu)造

那么,赫茲量化現(xiàn)在就繼續(xù)基于流程圖策略來準(zhǔn)備“EA 交易”。

第一個(gè)程序塊要求輸入?yún)?shù)。我們已經(jīng)清楚,于主戰(zhàn)爭時(shí)刻的等待至關(guān)重要,即,美國開市之后 2 小時(shí),界時(shí)歐洲市場已收市。我們會(huì)就此監(jiān)控全局時(shí)鐘(即終端時(shí)間),因此,我們會(huì)自行計(jì)算開市時(shí)間。

之后,我們來確定倉位的大小和盈利與損失水平,而這些將來都還有優(yōu)化的潛力。要格外注意幻數(shù)參數(shù),因?yàn)椤癊A 交易”會(huì)用它來確定其訂單和開盤交易。再進(jìn)一步,赫茲量化會(huì)制作一個(gè)追蹤止損,以限制就我們所知的倉位風(fēng)險(xiǎn)。

還有一個(gè)我們需要的有趣參數(shù) - 安全水平。赫茲量化要根據(jù)它來觀察此刻有無重大經(jīng)濟(jì)新聞,不管新聞能否構(gòu)成威脅,都要認(rèn)真考量這兩個(gè)小時(shí)內(nèi)出現(xiàn)的主要市場恐慌。


編輯

圖 10。輸入?yún)?shù)

//--- 輸入?yún)?shù) input int ? ? ?America=16; input double ? Lots=0.1; input int ? ? ?TakeProfit=500; input long ? ? MagicNumber=665; input int ? ? ?Limited=600; input int ? ? ?TrailingStop=100;

我們繼續(xù)講解策略形成的下一部分。

赫茲量化需要確定時(shí)段是否有交叉、訂單是否已設(shè)置或正被設(shè)置。(圖 11)。


編輯切換為居中

圖 11。交易時(shí)間

您可以看到,給定的算法是一個(gè)帶有輸入?yún)?shù)、完整計(jì)算與輸出結(jié)果的封閉式程序。這種迷你程序被稱為函數(shù),且通過封裝于主程序保護(hù)起來。

封裝與各程序或程序各個(gè)部分之間的屏障,通過 Get 和 Set (獲取與設(shè)置)之類的方法分隔開來,避免其突破其它 Get 與 Set 的界限。該過程的本質(zhì)在于,函數(shù)中的變量名稱可能與主程序中的相同。但當(dāng) Get 方法試圖從帶有一個(gè)變量名稱的單元格獲取時(shí),它就會(huì)面臨封裝 - 只賦予其訪問(分配給該函數(shù)或程序的)存儲(chǔ)單元某特定部分。

Set 方法也適用,只是與 Get 不同。它會(huì)將單元內(nèi)存中的值設(shè)置為變量名稱,如果程序中的變量名稱與函數(shù)中的一致,則封裝不允許 Set 方法為另一程序或函數(shù)內(nèi)的變量賦值。

bool time2trade(int TradeHour,int Number) ?{ ? MqlDateTime time2trade; ? TimeTradeServer(time2trade); ? if(time2trade.hour!=TradeHour) return(false); ? time2trade.hour= 0; ? time2trade.min = 0; ? time2trade.sec = 1; ? for(int ii=OrdersTotal()-1;ii>=0;ii--) ? ? { ? ? ?OrderGetTicket(ii); ? ? ?long ordmagic=OrderGetInteger(ORDER_MAGIC); ? ? ?if(Number==ordmagic) return(false); ? ? } ? HistorySelect(StructToTime(time2trade),TimeTradeServer()); ? for(int ii=HistoryOrdersTotal()-1;ii>=0;ii--) ? ? { ? ? ?long HistMagic=HistoryOrderGetInteger(HistoryOrderGetTicket(ii),ORDER_MAGIC); ? ? ?if(Number==HistMagic) return(false); ? ? } ? return(true); ?}

我們已經(jīng)識(shí)別了所需的時(shí)段,并確定了是否已經(jīng)設(shè)置訂單。我們考慮一下接下來要做什么。

此前,赫茲量化注意到,大波動(dòng)是在美國開市時(shí)段之后 2 個(gè)小時(shí)發(fā)生的。美洲開市時(shí)段之后,我們得到了 9 個(gè)十五分鐘柱。我們找到該周期的最大范圍,并仔細(xì)研究 - 如果此變化足夠大,則市場中很有可能會(huì)出現(xiàn)大范圍的恐慌,未來趨勢也不好判斷。因此,我們這里將需要一些限制。

當(dāng)市場冷靜下來時(shí),則該時(shí)段就會(huì)加大其波動(dòng)。這樣就會(huì)賦予我們一個(gè)機(jī)會(huì),確定于主趨勢的最大偏差,把訂單陷阱(會(huì)因主趨勢繼續(xù)而產(chǎn)生作用)放到一個(gè)安全的距離。前面我們已經(jīng)講過,價(jià)格可能上漲也可能下滑,但會(huì)始終向右移動(dòng)。(圖 12)。


編輯

圖 12。下單算法

修改程序代碼,注意交易終端赫茲量化 不允許接近上一次交易價(jià)格的訂單設(shè)置。如果此刻價(jià)格繪制出了一個(gè)新的最小值或最大值,赫茲量化會(huì)通過退到上一次交易價(jià)格最小距離的方式來堅(jiān)持自己的立場,以實(shí)現(xiàn)訂單的可靠確認(rèn)。而且,我們還會(huì)在一天結(jié)束之前設(shè)置自己訂單的持續(xù)期,因?yàn)樗鼈兩院缶鸵^期了。


量化交易軟件:一個(gè)基于不同大陸不同時(shí)區(qū)的交易策略實(shí)例的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
大余县| 肃北| 江油市| 新源县| 苍溪县| 泸定县| 汝城县| 宁远县| 溆浦县| 中阳县| 泰宁县| 苗栗市| 赤壁市| 池州市| 平顶山市| 牙克石市| 嘉黎县| 竹山县| 定州市| 都昌县| 比如县| 吉林省| 溧阳市| 上虞市| 嘉鱼县| 开阳县| 长阳| 左云县| 那曲县| 井陉县| 唐山市| 双江| 海晏县| 绥宁县| 沧州市| 黄梅县| 丹江口市| 汽车| 岳西县| 定结县| 舞钢市|