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

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

量化軟件下載:赫茲量化在圖表上快速檢驗(yàn)交易理念

2023-07-31 14:30 作者:大牛啊呢  | 我要投稿

方法說(shuō)明

所有技術(shù)分析都基于一個(gè)簡(jiǎn)單的道理 - 價(jià)格反映一切。但有一個(gè)問(wèn)題 - 這種說(shuō)法缺乏力度。我們將目光轉(zhuǎn)向圖表并看到一個(gè)靜態(tài)圖像:價(jià)格實(shí)際上反映了所有一切。然而,我們希望知道價(jià)格在未來(lái)某個(gè)時(shí)期內(nèi)將反映什么以及它的走向,這樣我們就能盈利。源于價(jià)格的指標(biāo)正是設(shè)計(jì)用于預(yù)測(cè)可能的未來(lái)變動(dòng)。

我們從物理學(xué)得知,量值的一階導(dǎo)數(shù)是速率。因此,指標(biāo)計(jì)算當(dāng)前價(jià)格的變化速率。我們還知道,較大的量級(jí)具有較大慣性,在無(wú)相當(dāng)大的外力干涉下,可阻止速率的值大起大落。這就是我們逐漸接近趨勢(shì) - 在外力(新聞、中央銀行的政策等)未影響市場(chǎng)的時(shí)段內(nèi)當(dāng)其一階導(dǎo)數(shù)(速率)保持其值時(shí)的價(jià)格狀態(tài) - 概念的方式。

但是,讓我們返回我們的起點(diǎn) - 價(jià)格反映一切。要探尋新的理念,我們應(yīng)研究同一時(shí)間間隔的價(jià)格的行為及其派生物。只有仔細(xì)研究?jī)r(jià)格圖表,才能將您的交易從盲目跟風(fēng)上升到真正理解的程度。

這可能不會(huì)為交易結(jié)果帶來(lái)立竿見(jiàn)影的效果,但解答無(wú)數(shù)為什么問(wèn)題的能力遲早將起到積極作用。此外,對(duì)圖表和指標(biāo)的視覺(jué)分析將使您找到一些價(jià)格和指標(biāo)之間的全新的相關(guān)性 - 這是它們的開(kāi)發(fā)者完全沒(méi)有預(yù)料到的。

假設(shè)您發(fā)現(xiàn)一個(gè)似乎對(duì)您有利的新的相關(guān)性。下一步做什么呢?最簡(jiǎn)單的方法是編寫一個(gè)“EA 交易”并用歷史數(shù)據(jù)對(duì)其進(jìn)行測(cè)試,確保您的設(shè)想是正確的。如果事實(shí)并非如此,我們需要選擇一種常用的最優(yōu)化參數(shù)的方法。最糟糕的就是,我們無(wú)法回答這個(gè)為什么問(wèn)題。為什么我們的“EA 交易”最后虧損/盈利?為什么會(huì)有如此巨大的虧損?沒(méi)有答案,您無(wú)法有效地實(shí)現(xiàn)您的想法。

可執(zhí)行下述操作以看到從圖表獲得的相關(guān)性的結(jié)果:

  1. 創(chuàng)建或更改必要指標(biāo),以使其生成一個(gè)信號(hào):-1 為賣出,1 為買入。

  2. 連接顯示進(jìn)入點(diǎn)和退出點(diǎn)的余額指標(biāo)到圖表。該指標(biāo)還顯示當(dāng)處理信號(hào)時(shí),余額和資產(chǎn)凈值(點(diǎn)位)的變更。

  3. 分析在何種情形和狀況下假設(shè)成立。

該方法具有一定的優(yōu)勢(shì)。

  • 首先,余額指標(biāo)完全使用 OnCalculate 方法計(jì)算,該方法具有最大計(jì)算速度并自動(dòng)在輸入計(jì)算數(shù)組中提供歷史數(shù)據(jù)。

  • 其次,添加信號(hào)至現(xiàn)有指標(biāo)是通過(guò)向?qū)?chuàng)建“EA 交易”和創(chuàng)建自己的“EA 交易”的過(guò)渡步驟。

  • 再次,可以在單個(gè)圖表上查看想法和最終結(jié)果。當(dāng)然,該方法也有一些局限性:信號(hào)與柱的收盤價(jià)相關(guān)聯(lián)、余額的計(jì)算針對(duì)固定手?jǐn)?shù)、未提供使用掛單交易的選項(xiàng)。然而,所有這些局限性可輕松解決/改善。


實(shí)現(xiàn)

我們開(kāi)發(fā)一個(gè)簡(jiǎn)單的信號(hào)指標(biāo)以了解它是如何工作的,并評(píng)估該方法的便捷性。我很早就聽(tīng)說(shuō)過(guò)燭形模式。所以,為什么不檢查一下它們的實(shí)際工作情況?我選擇“錘線”和“射擊之星”反向模式分別作為買入和賣出信號(hào)。下圖顯示了它們的示意外觀:


編輯切換為居中


圖 1. “錘線”和“射擊之星”燭形模式

現(xiàn)在,我們來(lái)定義當(dāng)“錘線”模式出現(xiàn)時(shí)的市場(chǎng)進(jìn)入規(guī)則。

  1. 燭形的最小值應(yīng)小于前五個(gè)燭形的最小值;

  2. 燭形的主體不應(yīng)超過(guò)它的總高度的 50%;

  3. 燭形的上影線不應(yīng)超過(guò)它的總高度的 0%;

  4. 燭形的高度不應(yīng)小于前五個(gè)燭形的平均高度的 100%。

  5. 模式的收盤價(jià)應(yīng)小于 10-周期移動(dòng)平均線。

如果滿足這些條件,我們應(yīng)建立買入持倉(cāng)。針對(duì)“射擊之星”模式的規(guī)則是一樣的。惟一的區(qū)別是我們應(yīng)建立賣出持倉(cāng):

  1. 燭形的最大值應(yīng)大于前五個(gè)燭形的最大值;

  2. 燭形的主體不應(yīng)超過(guò)它的總高度的 50%;

  3. 燭形的下影線不應(yīng)超過(guò)它的總高度的 0%;

  4. 燭形的高度不應(yīng)小于前五個(gè)燭形的平均高度的 100%。

  5. 模式的收盤價(jià)應(yīng)大于 10-周期移動(dòng)平均線。

對(duì)于我在圖形上使用的未來(lái)可進(jìn)行最優(yōu)化的參數(shù),我用粗體進(jìn)行了標(biāo)示(如果模式顯示可接受的結(jié)果)。我希望實(shí)施的限制允許我們從具有不恰當(dāng)外觀的信號(hào) (pp.1-3) 以及無(wú)法視作信號(hào)的已知弱信號(hào)清除模式。

此外,我們應(yīng)確定退出時(shí)機(jī)。由于提到的模式作為趨勢(shì)反向信號(hào)出現(xiàn),適當(dāng)燭形出現(xiàn)時(shí)趨勢(shì)存在。因此,追逐價(jià)格的移動(dòng)平均線也將出現(xiàn)。退出信號(hào)通過(guò)穿越價(jià)格及其 10-周期移動(dòng)平均線形成。

現(xiàn)在,是時(shí)候編寫一些代碼了。我們?cè)?MQL5 向?qū)е虚_(kāi)發(fā)一個(gè)新的自定義指標(biāo),將其命名為 PivotCandles 并說(shuō)明它的功用。讓我們定義返回值以連接余額指標(biāo):

  • -1 – 賣出倉(cāng)位開(kāi)倉(cāng);

  • -2 – 買入倉(cāng)位平倉(cāng);

  • 0 - 無(wú)信號(hào);

  • 1 – 買入倉(cāng)位開(kāi)倉(cāng);

  • 2 – 賣出倉(cāng)位平倉(cāng)。

就像您所知道的那樣,真正的程序員不會(huì)尋找簡(jiǎn)單的方法,他們尋找最簡(jiǎn)單的方法。:) 我也不例外。一邊通過(guò)耳機(jī)聆聽(tīng)音樂(lè),一邊品嘗香濃的咖啡,我完成了包含要在指標(biāo)和“EA 交易”(我打算基于指標(biāo)開(kāi)發(fā)它的情形)中實(shí)施的類的文件。也許,甚至可以對(duì)它進(jìn)行修改以用于其他燭形模式。代碼本身乏新可陳。我相信代碼所附的注釋涵蓋了任何可能的問(wèn)題。

//+------------------------------------------------------------------+ //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PivotCandlesClass.mqh | //| ? ? ? ? ? ? ? ? ? ? ? ?Copyright 2012, MetaQuotes Software Corp. | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link ? ? ?"http://www.mql5.com" //+------------------------------------------------------------------+ //| Input parameters ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ input int ? ? ?iMaxBodySize ? ? ? ? ? ?= 50; ?// Maximum candle body, % input int ? ? ?iMaxShadowSize ? ? ? ? ?= 0; ? // Maximum allowed candle shadow, % input int ? ? ?iVolatilityCandlesCount = 5; ? // Number of previous bars for calculation of an average volatility input int ? ? ?iPrevCandlesCount ? ? ? = 5; ? // Number of previous bars, for which the current bar should be an extremum input int ? ? ?iVolatilityPercent ? ? ?= 100; // Correlation of a signal candle with a previous volatility, % input int ? ? ?iMAPeriod ? ? ? ? ? ? ? = 10; ?// Period of a simple signal moving average //+------------------------------------------------------------------+ //| Class definition ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ class CPivotCandlesClass ?{ private: ? MqlRates ? ? ? ? ?m_candles[]; ? ? ? ? ? ? ?// Array for storing the history necessary for calculations ? int ? ? ? ? ? ? ? m_history_depth; ? ? ? ? ?// Array length for storing the history ? int ? ? ? ? ? ? ? m_handled_candles_count; ?// Number of the already processed candles ? ? double ? ? ? ? ? ?m_ma_value; ? ? ? ? ? ? ? // Current calculated moving average value ? double ? ? ? ? ? ?m_prev_ma_value; ? ? ? ? ?// Previous calculated moving average value ? bool ? ? ? ? ? ? ?m_is_highest; ? ? ? ? ? ? // Check if the current candle is the highest one ? bool ? ? ? ? ? ? ?m_is_lowest; ? ? ? ? ? ? ?// Check if the current candle is the lowest one ? double ? ? ? ? ? ?m_volatility; ? ? ? ? ? ? // Average volatility ? int ? ? ? ? ? ? ? m_candle_pattern; ? ? ? ? // Current recognized pattern ? ? void ? ? ? ? ? ? ?PrepareArrayForNewCandle(); ? ? ? ?// Prepare the array for accepting the new candle ? int ? ? ? ? ? ? ? CheckCandleSize(MqlRates &candle); // Check the candle for conformity with patterns ? void ? ? ? ? ? ? ?PrepareCalculation(); protected: ? int ? ? ? ? ? ? ? DoAnalizeNewCandle(); ? ? ? ? ? ? ?// Calculation function public: ? void ? ? ? ? ? ? ?CPivotCandlesClass(); ? ? void ? ? ? ? ? ? ?CleanupHistory(); ? ? ? ? ? ? ? ? ?// Clean up all calculation variables ? ? double ? ? ? ? ? ?MAValue() {return m_ma_value;} ? ? // Current value of the moving average ? int ? ? ? ? ? ? ? AnalizeNewCandle(MqlRates& candle); ? int ? ? ? ? ? ? ? AnalizeNewCandle( 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 ); ?}; //+------------------------------------------------------------------+ //| CPivotCandlesClass ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ //| Class initialization ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+


量化軟件下載:赫茲量化在圖表上快速檢驗(yàn)交易理念的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
瑞丽市| 泽州县| 淅川县| 镇江市| 安岳县| 新昌县| 铁力市| 宁海县| 满城县| 营口市| 鄂托克旗| 吴川市| 苏尼特右旗| 中西区| 府谷县| 西华县| 新安县| 金塔县| 乡城县| 专栏| 绵阳市| 佛教| 来宾市| 内丘县| 陆河县| 剑川县| 两当县| 长海县| 东兴市| 贺兰县| 昆山市| 安陆市| 台山市| 崇义县| 富宁县| 吐鲁番市| 陇西县| 嘉峪关市| 奉化市| 玉龙| 南城县|