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

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

期貨量化交易軟件:利用 MQL5 實(shí)現(xiàn) Janus 因子

2023-09-06 16:21 作者:bili_45793681098  | 我要投稿

概述

每位交易者都知道市場價(jià)格遵循兩種廣義的形態(tài)之一。 價(jià)格要么形成趨勢,要么橫盤移動(dòng)。 這樣的結(jié)果就是,市場參與者的策略在很大程度上可以簡化為順勢、或在某種程度上逆勢。 Janus 因子是一種捕捉這種二元市場行為的理論。 在本文中,赫茲量化軟件將解密其基礎(chǔ),并演示促進(jìn)這種分析方法的指標(biāo)實(shí)現(xiàn)。

反饋

根據(jù) Janus 理論,市場是由價(jià)格之間的相互作用,以及交易者對(duì)價(jià)格的反應(yīng)驅(qū)動(dòng)的。 安德森(Anderson)將這種相互作用比作反饋系統(tǒng)。 讀者可以在維基百科上了解有關(guān)反饋系統(tǒng)的更多信息。 當(dāng)市場處于趨勢時(shí),市場參與者會(huì)因利潤奔跑而展現(xiàn)出信心。 在上升趨勢中,較高的價(jià)格證實(shí)了參與者對(duì)趨勢的預(yù)期,而這反過來又會(huì)吸引更多人買入。 這樣做具有推高價(jià)格的效果。



圖例.1 描繪上升趨勢中的正反饋。


在下降趨勢中,價(jià)格下跌會(huì)給交易者灌輸恐懼,導(dǎo)致他們拋售從而盡量減少損失。 更多的拋售給價(jià)格帶來壓力,推動(dòng)它們走低。 因此,市場趨勢是反饋?zhàn)罘e極的一個(gè)例子。 價(jià)格將繼續(xù)加速,直到交易者對(duì)價(jià)格變化做出反應(yīng)。



圖例.2 描繪下跌趨勢中的正反饋。

當(dāng)交易者對(duì)市場缺乏信心時(shí),就會(huì)看到負(fù)面反饋,因此他們選擇在價(jià)格走勢后提前鎖定盈利。 過早獲利回吐會(huì)扼殺限制價(jià)格走勢幅度的動(dòng)量。 再加上多頭和空頭之間的不斷爭斗,效果是價(jià)格暫時(shí)趨于穩(wěn)定。



圖例.3 市場的負(fù)反饋

資金流

這種反饋概念的一個(gè)重要因素是,當(dāng)不同條件盛行時(shí)交易者偏好的品種類型。 安德森對(duì)股票的分析表明,在上升趨勢中,交易者青睞績效相對(duì)更好的股票,同時(shí)從表現(xiàn)不佳的股票撤資。 在下跌趨勢中,表現(xiàn)不佳的股票損失最大,因?yàn)榻灰讍T看中它們只是為了短線盈利。

在缺乏趨勢的情況下,無法區(qū)分出很多強(qiáng)勢和弱勢股票,因?yàn)榻灰渍邥?huì)選擇特定的價(jià)格水平來入場和離場。 考慮到這一點(diǎn),他假設(shè),通過分析一組股票的相對(duì)績效,可以檢測到負(fù)反饋和正反饋的時(shí)期。


計(jì)算 Janus 因子

為了確定績效,計(jì)算定期回報(bào)。 將所研究的一組股票的回報(bào)結(jié)合起來,產(chǎn)生一個(gè)平均值,當(dāng)作衡量基準(zhǔn)線。 稱其為基準(zhǔn)回報(bào)。 被評(píng)估股票的集合則作為參照指數(shù)。

在 Janus Factor - Trend Follower's Guide to Market Dialectics 一書中,安德森闡述了根據(jù)回報(bào)率計(jì)算的各種股票指標(biāo),他用它來洞察市場行為。


Janus 函數(shù)庫 - janus.mqh

所有計(jì)算 Janus 相關(guān)的通用數(shù)據(jù)和例程都包含在 janus.mqh 之中。 包含文件聲明了三種自定義類型:

CSymboldata 類處理品種數(shù)據(jù)和相關(guān)操作。

//+------------------------------------------------------------------+ //|Class which manage the single Symbol ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ class CSymbolData ?{ private: ? string ? ? ? ? ? ?m_name; ? ?// name of the symbol ? ENUM_TIMEFRAMES ? m_timeframe;// timeframe ? int ? ? ? ? ? ? ? m_length; ?// length for copy rates ? MqlRates ? ? ? ? ?m_rates[]; // store rates ? datetime ? ? ? ? ?m_first; ? // first date on server or local history ? datetime ? ? ? ? ?SetFirstDate(void) ? ? { ? ? ?datetime first_date=-1; ? ? ?if((datetime)SymbolInfoInteger(m_name,SYMBOL_TIME)>0) ? ? ? ? first_date=(datetime)SeriesInfoInteger(m_name,m_timeframe,SERIES_FIRSTDATE); ? ? ?//--- ? ? ?if(first_date==WRONG_VALUE || first_date==0) ? ? ? ?{ ? ? ? ? if(TerminalInfoInteger(TERMINAL_CONNECTED)) ? ? ? ? ? { ? ? ? ? ? ?while(!SeriesInfoInteger(m_name,m_timeframe,SERIES_SERVER_FIRSTDATE,first_date) && !IsStopped()) ? ? ? ? ? ? ? Sleep(10); ? ? ? ? ? } ? ? ? ?} ? ? ?//--- #ifdef DEBUG ? ? ?Print(m_name," FirstDate ",first_date); #endif ? ? ?return first_date; ? ? } public: ? ? ? ? ? ? ? ? ? ? CSymbolData(string name,ENUM_TIMEFRAMES tf=PERIOD_CURRENT) ? ? { ? ? ?m_name = name; ? ? ?m_length = 0; ? ? ?m_timeframe = tf; ? ? ?SymbolSelect(m_name,true); ? ? } ? ? ? ? ? ? ? ? ? ?~CSymbolData(void) ? ? { ? ? ?ArrayFree(m_rates); ? ? } ? datetime ? ? ? ? ?GetFirstDate(void) ? ? { ? ? ?m_first = SetFirstDate(); ? ? ?return m_first; ? ? } ? string ? ? ? ? ? ?GetName(void) ? ? { ? ? ?return m_name; ? ? } ? int ? ? ? ? ? ? ? GetLength(void) ? ? { ? ? ?return m_length; ? ? } ? void ? ? ? ? ? ? ?SetLength(const int set_length) ? ? { ? ? ?if(set_length>0) ? ? ? ?{ ? ? ? ? m_length=set_length; ? ? ? ? ArrayResize(m_rates,m_length,m_length); ? ? ? ? ArraySetAsSeries(m_rates,true); ? ? ? ?} ? ? } ? bool ? ? ? ? ? ? ?Update(void) ? ? { ? ? ?int copied = CopyRates(m_name,m_timeframe,0,m_length,m_rates); #ifdef DEBUG ? ? ?Print("copied ", copied, " requested ", m_length); #endif ? ? ?//-- ? ? ?return copied == m_length; ? ? }; ? MqlRates ? ? ? ? ?GetRateAtPos(const int i) ? ? { ? ? ?if(i<0 || i>=m_length) ? ? ? ?{ #ifdef DEBUG ? ? ? ? Print("Array out of range ",i,".Size of array is ",m_length); #endif ? ? ? ? return (i<0)?m_rates[0]:m_rates[m_length-1]; ? ? ? ?} ? ? ?return m_rates[i]; ? ? } ?};

CSymbolCollection是 CSymboldata 對(duì)象的容器,它表示正在分析的品種集合。 這兩個(gè)類的代碼都改編自 Mql5 代碼庫中的清單。 對(duì)基礎(chǔ)緩沖區(qū)的索引方向進(jìn)行了修改。 應(yīng)當(dāng)注意的是,所有類都實(shí)現(xiàn)了從右到左的索引格式,零索引指向最新的柱線。

為了演示 Janus 因子技術(shù),赫茲量化軟件將將其應(yīng)用于金融對(duì)的分析。 安德森最初設(shè)計(jì)的方法是為了分析股票,但大多數(shù)經(jīng)紀(jì)商的股票代碼數(shù)據(jù)可用性并不一致。


期貨量化交易軟件:利用 MQL5 實(shí)現(xiàn) Janus 因子的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
赤峰市| 濮阳县| 光泽县| 屯留县| 古蔺县| 安国市| 尼木县| 大洼县| 河曲县| 宁阳县| 天门市| 北安市| 昌乐县| 唐海县| 中牟县| 利津县| 南雄市| 惠安县| 连江县| 三门县| 宣城市| 墨玉县| 凤城市| 罗山县| 固始县| 东海县| 乐亭县| 淮阳县| 巍山| 康平县| 永宁县| 西昌市| 双桥区| 昌邑市| 大渡口区| 普兰县| 如皋市| 东辽县| 政和县| 福鼎市| 日照市|