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

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

量化交易軟件:交易貨幣籃子時(shí)可用的形態(tài)第二部分

2023-07-21 16:58 作者:bili_45793681098  | 我要投稿

簡(jiǎn)介

在赫茲量化前面的文章中,談到了當(dāng)交易貨幣籃子時(shí),會(huì)有形態(tài)出現(xiàn),赫茲量化精力集中在組合的震蕩指標(biāo)上。我們使用組合的WPR指標(biāo)作為例子,結(jié)果我們?nèi)〉昧艘恍┬螒B(tài),分析了它們的優(yōu)點(diǎn)和缺點(diǎn),并且對(duì)在真實(shí)交易中使用它們的實(shí)用性得出了結(jié)論。

但是,這還不夠?;谡鹗幹笜?biāo)的組合指標(biāo)不能滿足所有交易者對(duì)貨幣籃子進(jìn)行技術(shù)分析的需要,交易者的工具箱應(yīng)該要加強(qiáng),加上組合的跟隨趨勢(shì)的指標(biāo)以及它們自己的形態(tài)。只有在研究它們之后,我們才能確定技術(shù)工具是否已經(jīng)完備。

讓赫茲量化開(kāi)發(fā)一個(gè)測(cè)試指標(biāo)來(lái)解決這個(gè)問(wèn)題。我們已經(jīng)進(jìn)行過(guò)這個(gè)任務(wù),所以我們可以使用前面文章中的代碼來(lái)做最小的修改。但是,我們首先應(yīng)該探討組合跟隨趨勢(shì)指標(biāo)的一些特點(diǎn),我們將使用前面文章中讀者已經(jīng)熟悉的術(shù)語(yǔ)。


組合跟隨趨勢(shì)指標(biāo)的特點(diǎn)

組合跟隨趨勢(shì)指標(biāo)不能基于任何趨勢(shì)跟隨的父指標(biāo),因?yàn)橛心承┫拗啤?/p>

限制 #1. 組合指標(biāo)應(yīng)該放到單獨(dú)的窗口中,在價(jià)格圖表窗口中顯示此指標(biāo)沒(méi)有意義。因?yàn)槠骄脑瓌t就是用于構(gòu)建組合指標(biāo),而不清楚它們?cè)谶@種情況下應(yīng)該如何顯示。另外,使用的測(cè)量單位和在圖表上使用的是不同的。所以,不管是移動(dòng)平均,還是布林帶,再或者是其它的圖表指標(biāo)都無(wú)法用作父指標(biāo)。

限制 #2. 組合的指標(biāo)只能顯示一個(gè)貨幣的狀態(tài);所以,您需要兩個(gè)組合指標(biāo)來(lái)顯示一個(gè)貨幣對(duì)的當(dāng)前狀態(tài)。它們中的每一個(gè)都位于獨(dú)立窗口中,赫茲量化需要兩個(gè)額外的窗口。這樣分開(kāi)的原因是縮放尺度的差別?;谡鹗幹笜?biāo)的組合指標(biāo)永遠(yuǎn)在預(yù)先定義的限制之內(nèi)變化,然而,對(duì)于跟隨趨勢(shì)指標(biāo)就不是這樣,它們沒(méi)有已知的最大值或者最小值。這就意味著之前描述過(guò)的方法,包括把移動(dòng)平均應(yīng)用到兩個(gè)組合指標(biāo)的讀數(shù)上是沒(méi)有意義的。這樣的聯(lián)合計(jì)算在組合跟隨趨勢(shì)指標(biāo)的時(shí)候是不適合的。

父指標(biāo)列表的限制使我們?cè)谧畲蟪潭壬鲜褂媒M合的跟隨趨勢(shì)指標(biāo),例如,根據(jù)預(yù)先的檢驗(yàn),在赫茲量化菜單中的跟隨趨勢(shì)指標(biāo)列表中,只有 ADX 和 StdDev 符合我們的需要,

但是這不是我們放棄任務(wù)的理由,赫茲量化將使用提供的工具并開(kāi)始使用我們已經(jīng)知道的組合指標(biāo) — 籃子貨幣指數(shù)。


使用移動(dòng)平均的籃子貨幣指數(shù)

讓我們開(kāi)發(fā) testIndexMA.mq5 測(cè)試指標(biāo),和在這里描述的指標(biāo)類似,并且加上了移動(dòng)平均:

//+------------------------------------------------------------------+ //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? testDistance.mq5 | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2016 MetaQuotes Software Corp. | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2016, MetaQuotes Software Corp." #property link ? ? ?"http://www.mql5.com" #property version ? "1.00" #property indicator_separate_window #property indicator_buffers 2 #property indicator_plots ? 2 input color ? clr= clrGreen; input color ? clrMA = clrMagenta; input int maperiod ?= 10; //MA 周期數(shù) double ind[],ma[]; //+------------------------------------------------------------------+ //| 自定義指標(biāo)初始化函數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ //int h,h1; int OnInit() ?{ //--- 指標(biāo)緩沖區(qū)映射 ? ArraySetAsSeries(ind,true); ? SetIndexBuffer(0,ind); ? ? ? ? ? ? IndicatorSetString(INDICATOR_SHORTNAME,"testdistance"); ? IndicatorSetInteger(INDICATOR_DIGITS,2); ? PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE); ? PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID); ? PlotIndexSetInteger(0,PLOT_LINE_WIDTH,2); ? PlotIndexSetInteger(0,PLOT_LINE_COLOR,clr); ? PlotIndexSetString(0,PLOT_LABEL,"_tstdistance_"); ? ? ? ArraySetAsSeries(ma,true); ? ? SetIndexBuffer(1,ma); ? PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_LINE ? ? ? ? ? ); ? PlotIndexSetInteger(1, PLOT_LINE_STYLE, STYLE_SOLID ? ? ? ? ? ?); ? PlotIndexSetInteger(1, PLOT_LINE_WIDTH, 1 ? ? ? ? ? ?); ? PlotIndexSetInteger(1, PLOT_LINE_COLOR, clrMA ? ? ? ? ? ?); ? PlotIndexSetString (1, PLOT_LABEL, "_tstdistance_MA" ); ? ? ? ? //--- ? return(INIT_SUCCEEDED); ?} ? string pair[]={"EURUSD","GBPUSD","AUDUSD","NZDUSD","USDCAD","USDCHF","USDJPY"}; bool bDirect[]={false,false,false,false,true,true,true}; int iCount=7; ? double GetValue(int shift) ?{ ? double res=1.0,t; ? double dBuf[1]; ? for(int i=0; i<iCount; i++) ? ? { ? ? ?t=CopyClose(pair[i],PERIOD_CURRENT,shift,1,dBuf); ? ? ?if(!bDirect[i]) dBuf[0]=1/dBuf[0]; ? ? ?res*=dBuf[0]; ? ? }//end for (int i = 0; i < iCount; i++) ? return (NormalizeDouble(MathPow (res, 1/(double)iCount), _Digits) ); ? ?} ? //+------------------------------------------------------------------+ //| 自定義指標(biāo)迭代函數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, ? ? ? ? ? ? ? ?const int prev_calculated, ? ? ? ? ? ? ? ?const datetime &time[], ? ? ? ? ? ? ? ?const double &open[], ? ? ? ? ? ? ? ?const double &high[], ? ? ? ? ? ? ? ?const double &low[], ? ? ? ? ? ? ? ?const double &close[], ? ? ? ? ? ? ? ?const long &tick_volume[], ? ? ? ? ? ? ? ?const long &volume[], ? ? ? ? ? ? ? ?const int &spread[]) ?{ ? if(prev_calculated==0 || rates_total>prev_calculated+1) ? ? { ? ? ?int rt=rates_total; ? ? ?for(int i=1; i<rt; i++) ? ? ? ?{ ? ? ? ? ind[i]= GetValue(i); ? ? ? ?} ? ? ? ? rt -= maperiod; ? ? ? ? ? for (int i = 1; i< rt; i++) ? ? ? ? ? { ? ? ? ? ? ?ma[i] = GetMA(ind, i, maperiod, _Digits); ? ? ? ? ? } ? ? ? ? ? ? } ? else ? ? { ? ? ? ? ind[0]= GetValue(0); ? ? ? ? ?ma[0] = GetMA(ind, 0, maperiod, _Digits); ? ? } //--- 返回 prev_calculated 的值用于下一次調(diào)用 ? return(rates_total); ?} void OnDeinit(const int reason) ?{ ? string text; ? switch(reason) ? ? { ? ? ?case REASON_PROGRAM: ? ? ? ? text="指標(biāo)通過(guò)調(diào)用 ExpertRemove() 函數(shù)終止運(yùn)行";break; ? ? ?case REASON_INITFAILED: ? ? ? ? text="這個(gè)數(shù)值表示 OnInit() 處理函數(shù) "+__FILE__+" 返回了非零數(shù)值";break; ? ? ?case REASON_CLOSE: ? ? ? ? text="終端已經(jīng)被關(guān)閉"; break; ? ? ?case REASON_ACCOUNT: ? ? ? ? text="賬戶已經(jīng)改變";break; ? ? ?case REASON_CHARTCHANGE: ? ? ? ? text="交易品種或者時(shí)段已經(jīng)改變";break; ? ? ?case REASON_CHARTCLOSE: ? ? ? ? text="圖表被關(guān)閉";break; ? ? ?case REASON_PARAMETERS: ? ? ? ? text="輸入?yún)?shù)已經(jīng)改變";break; ? ? ?case REASON_RECOMPILE: ? ? ? ? text="程序 "+__FILE__+" 被重新編譯";break; ? ? ?case REASON_REMOVE: ? ? ? ? text="程序 "+__FILE__+" 被從圖表上刪除";break; ? ? ?case REASON_TEMPLATE: ? ? ? ? text="圖表上應(yīng)用了新的模板";break; ? ? ?default:text="其它原因"; ? ? } ? PrintFormat("%s",text); ?} //+------------------------------------------------------------------+ double GetMA(const double& arr[], int index , int period, int digit) { ? double m = 0; ? for (int j = 0; j < period; j++) ?m += arr[index + j]; ? m /= period; ? return (NormalizeDouble(m,digit)); ? ? ? ?}

使用這組輸入數(shù)據(jù),指標(biāo)畫(huà)出了帶有移動(dòng)平均的美元指數(shù)。把第49行和第50行這樣修改:

string pair[]={"EURUSD", "EURJPY", "EURCHF", "EURGBP", "EURNZD", "EURCAD", "EURAUD"}; ? ?bool bDirect[]={true,true,true,true,true,true,true};

再次編譯文件 testIndexMA2.mq5. 結(jié)果我們會(huì)得到類似的指標(biāo),顯示了歐元指數(shù)。把它放到 EURUSD H1:

編輯切換為居中


赫茲量化對(duì)指標(biāo)的絕對(duì)值并不感興趣。讓我們對(duì)移動(dòng)平均指標(biāo)的交叉點(diǎn)來(lái)計(jì)數(shù),計(jì)算潛在的入場(chǎng)點(diǎn)。就像在前面的文章中所說(shuō)的,這些點(diǎn)應(yīng)該在燭形關(guān)閉的時(shí)候固定,赫茲量化正是這樣做的。使用垂直線標(biāo)記偵測(cè)到的進(jìn)場(chǎng)點(diǎn): 藍(lán)色表示買入而紅色表示賣出,結(jié)果明顯是正面的,但是,利潤(rùn)相對(duì)較小并且不穩(wěn)定,所以應(yīng)該增加獲利的能力。首先,不要忘記貨幣對(duì)的第二個(gè)貨幣,并把美元指數(shù)指標(biāo)加到一個(gè)獨(dú)立的窗口中:


編輯切換為居中

用垂直線標(biāo)記移動(dòng)平均和美元指數(shù)圖的交叉。讓我們分析結(jié)果,


量化交易軟件:交易貨幣籃子時(shí)可用的形態(tài)第二部分的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
惠东县| 江永县| 山东省| 南皮县| 扎囊县| 赤峰市| 武山县| 博爱县| 宝应县| 永仁县| 固安县| 东港市| 确山县| 云龙县| 师宗县| 邛崃市| 武夷山市| 高邮市| 湖南省| 天全县| 濮阳县| 衡阳县| 安新县| 纳雍县| 鄂托克旗| 连云港市| 马龙县| 富源县| 长乐市| 门头沟区| 宜良县| 涡阳县| 墨脱县| 宣恩县| 涟源市| 公安县| 壶关县| 成武县| 海安县| 长海县| 西平县|