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

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

量化交易軟件:迷你行情模擬器或手動(dòng)策略測(cè)試器

2023-07-19 16:05 作者:bili_45793681098  | 我要投稿

引言

金融交易始于理論基礎(chǔ)的研究: 收益策略, 數(shù)據(jù)分析方法, 成功的交易模型。所有新入行交易者都有相同的想法 — 每個(gè)人都想賺錢。但是每個(gè)人都定義了自己的優(yōu)先級(jí), 條件, 機(jī)會(huì), 目標(biāo)等。

編輯切換為居中

新入行交易者的行為有若干種情況。

  • "一次全部" 選項(xiàng)" 大多數(shù)初學(xué)者都想快速賺取很多錢。他們迷信于一個(gè)誘惑廣告: 用很少的錢, 甚至免費(fèi)即可得到神奇而無(wú)暇的策略。所有這一切看起來(lái)即快捷又容易, 但是, 損失本錢也同樣迅速和輕易。

  • "教育, 教育再教育" 選項(xiàng): 負(fù)責(zé)任的新手培訓(xùn), 是要他們不能相信童話故事。他們需要深入研究行情和交易系統(tǒng)的規(guī)律。那就是當(dāng)在真實(shí)賬戶里開(kāi)始交易后 — 事實(shí)證明利潤(rùn)會(huì)低于依據(jù)教科書(shū)的預(yù)期。這是如何發(fā)生的, 接下來(lái)應(yīng)如何做?

一旦出現(xiàn)第一種狀況, 大多數(shù)新人會(huì)對(duì)金融市場(chǎng)永遠(yuǎn)失望。而新人從第二種情景中繼續(xù)研究理論及其實(shí)際策略。

本文主要針對(duì)那些迫不及待地想要在模擬賬戶上進(jìn)行交易并測(cè)試其策略的初學(xué)者。這里也有兩個(gè)選項(xiàng):

  • 一組想要嘗試研究一個(gè)短線策略。但如果其成員為全職工作, 他們只能在夜間休息, 因?yàn)槭袌?chǎng)在周末才會(huì)閉市。

  • 第二類交易者使用中線或長(zhǎng)線策略。他們絕對(duì)不想花一整年時(shí)間在模擬賬戶上完善自己的策略。

自然而然地, 您也許會(huì)想: 如果有一個(gè)歷史圖表能夠快速而有效地測(cè)試任何策略, 那這些還會(huì)如此困難嗎?然而, 在實(shí)踐中, 它并不能總是奏效: 出于某種原因, 經(jīng)常會(huì)發(fā)生在回測(cè)時(shí)有出色表現(xiàn)的策略卻在 "真實(shí)" 行情中效果很差。無(wú)論如何, 最好在更接近現(xiàn)實(shí)的系統(tǒng)中學(xué)習(xí)交易。舉例來(lái)說(shuō), 行情模擬器恰好足夠 (這樣的程序可以在互聯(lián)網(wǎng)上購(gòu)得)。

在這篇文章中, 我想討論一下我自己在赫茲量化中實(shí)現(xiàn)的這樣一個(gè)系統(tǒng)。與完整的終端版本相比, 我所編寫的 "迷你行情模擬器" 指標(biāo)功能有限。它設(shè)計(jì)用于策略的理論驗(yàn)證。

應(yīng)用程序功能

應(yīng)用程序有自己的控制面板, 以及 "父系統(tǒng)" 的按鈕, 即赫茲量化終端本身。

這是模擬器可以執(zhí)行的 主要?jiǎng)幼鳌?/p>

  1. 只能放置兩個(gè)不同方向的訂單: 買入和賣出。在設(shè)置訂單和交易量之前, 還支持止損和止盈的設(shè)置。一旦訂單被放置, 它可以被修改, 并且可以拖動(dòng)其停止價(jià)位。

  2. 只有七種建模速度, 它們可以劃分為三組。第一個(gè)是 "珠寶", 它所涉及的建?;趤?lái)自分鐘時(shí)間幀的分筆報(bào)價(jià), 就像在策略測(cè)試器中一樣。第二個(gè)考慮分鐘數(shù)據(jù), 構(gòu)建時(shí)無(wú)需生成 (這種模式更快, 但不太精準(zhǔn))。第三種模式是最快的: 每秒一根蠟燭, 無(wú)論時(shí)間幀如何。

  3. 所提供的當(dāng)前交易信息: 利潤(rùn), 點(diǎn)數(shù)和交易量。給出的數(shù)據(jù)針對(duì)當(dāng)前和過(guò)去的訂單, 以及自仿真開(kāi)始時(shí)的正常交易。

  4. 終端中的所有標(biāo)準(zhǔn)圖形對(duì)象都可用。

  5. 支持所有的標(biāo)準(zhǔn)時(shí)間幀 (通過(guò)終端面板的按鈕切換)。


編輯切換為居中

圖例. 1. 應(yīng)用程序的控件和外觀


分筆報(bào)價(jià)生成系統(tǒng)

分筆報(bào)價(jià)的生成原理來(lái)自文章 "赫茲量化終端策略測(cè)試器中的分筆報(bào)價(jià)生成算法"。它已被創(chuàng)造性地修改并作為替代版本呈現(xiàn)。

兩個(gè)函數(shù)負(fù)責(zé)生成分筆報(bào)價(jià) — 主要和輔助。

主函數(shù)是Tick Generation。它傳遞了兩個(gè)參數(shù): 蠟燭本身和響應(yīng)數(shù)據(jù) (ticks) 的數(shù)組。之后, 如果輸入蠟燭的所有四個(gè)價(jià)位彼此相等, 則 ticks 的交易量設(shè)置為等于一個(gè)分筆報(bào)價(jià)。這樣做是為了消除所傳遞數(shù)據(jù)不正確的情況下可能發(fā)生的除零錯(cuò)誤。

隨后會(huì)形成一根新的蠟燭。如果蠟燭內(nèi)有 1 至 3 個(gè)分筆報(bào)價(jià), 則按上文所述的分筆報(bào)價(jià)生成過(guò)程繼續(xù)。

如果有 3 個(gè)以上的分筆報(bào)價(jià), 則操作變得更加復(fù)雜。所傳遞的蠟燭被分成三個(gè)不等份 (在下面的代碼中提供了劃分的原則, 分別為 看跌 和 看漲 蠟燭。然后, 如果頂部和底部不再有分筆報(bào)價(jià), 則進(jìn)行調(diào)整。接下來(lái), 根據(jù)蠟燭的性質(zhì)將控制權(quán)轉(zhuǎn)交給輔助函數(shù)。

//+------------------------------------------------------------------+ //| Tick Generation 函數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| //+------------------------------------------------------------------+ void func_tick_generation( MqlRates &rates, ? ? ?// 蠟燭數(shù)據(jù) double &tick[] ? ? ? ?// 分筆報(bào)價(jià)數(shù)組 ) { if(rates.open==rates.close && rates.high==rates.low && rates.open==rates.high){rates.tick_volume=1;} if(rates.tick_volume<4)// 少于四個(gè)分筆報(bào)價(jià) { ArrayResize(tick,int(rates.tick_volume)); ? ? ? ? // 調(diào)整分筆報(bào)價(jià)數(shù)組大小 if(rates.tick_volume==1)tick[0]=rates.close; ? ? ?// 一個(gè)分筆報(bào)價(jià) if(rates.tick_volume==2) ? ? ? ? ? ? ? ? ? ? ? ? ?// 兩個(gè)分筆報(bào)價(jià) { tick[0]=rates.open; tick[1]=rates.close; } if(rates.tick_volume==3) ? ? ? ? ? ? ? ? ? ? ? ? ?// 三個(gè)分筆報(bào)價(jià) { tick[0]=rates.open; tick[2]=rates.close; if(rates.open==rates.close) ? ? ? ? ? ? ? ? ? ? ?// 朝著一個(gè)方向前進(jìn), 并回到了開(kāi)盤價(jià) { if(rates.high==rates.open)tick[1]=rates.low; if(rates.low==rates.open)tick[1]=rates.high; } if(rates.close==rates.low && rates.open!=rates.high)tick[1]=rates.high; ? ? ? ? ? // 朝著一個(gè)方向前進(jìn), 回滾并突破開(kāi)盤價(jià) if(rates.close==rates.high && rates.open!=rates.low)tick[1]=rates.low; if(rates.open==rates.high && rates.close!=rates.low)tick[1]=rates.low; ? ? ? ? ? ?// 朝著一個(gè)方向前進(jìn), 回滾但未突破開(kāi)盤價(jià) if(rates.open==rates.low && rates.close!=rates.high)tick[1]=rates.high; if((rates.open==rates.low && rates.close==rates.high) || (rates.open==rates.high && rates.close==rates.low)) { tick[1]=NormalizeDouble((((rates.high-rates.low)/2)+rates.low),_Digits); ? ? ? ? ? // 在一個(gè)方向的若干點(diǎn)數(shù) } } } if(rates.tick_volume>3) ? ? ?// 超過(guò)三個(gè)分筆報(bào)價(jià) { // 按照點(diǎn)數(shù)計(jì)算蠟燭的大小 int candle_up=0; int candle_down=0; int candle_centre=0; if(rates.open>rates.close) { candle_up=int(MathRound((rates.high-rates.open)/_Point)); candle_down=int(MathRound((rates.close-rates.low)/_Point)); } if(rates.open<=rates.close) { candle_up=int(MathRound((rates.high-rates.close)/_Point)); candle_down=int(MathRound((rates.open-rates.low)/_Point)); } candle_centre=int(MathRound((rates.high-rates.low)/_Point)); int candle_all=candle_up+candle_down+candle_centre; ? ? ?// 走勢(shì)的總長(zhǎng)度 int point_max=int(MathRound(double(candle_all)/2)); ? ? ?// 分筆報(bào)價(jià)的最大可能數(shù)量 double share_up=double(candle_up)/double(candle_all); double share_down=double(candle_down)/double(candle_all); double share_centre=double(candle_centre)/double(candle_all); // 計(jì)算每個(gè)部分的參考點(diǎn)數(shù)量 char point=0; if(rates.tick_volume<10)point=char(rates.tick_volume); else point=10; if(point>point_max)point=char(point_max); char point_up=char(MathRound(point*share_up)); char point_down=char(MathRound(point*share_down)); char point_centre=char(MathRound(point*share_centre)); // 檢查所選范圍的參考點(diǎn) if(candle_up>0 && point_up==0) {point_up=1;point_centre=point_centre-1;} if(candle_down>0 && point_down==0) {point_down=1;point_centre=point_centre-1;} // 調(diào)整輸出數(shù)組的大小 ArrayResize(tick,11); char p=0; ? ? ? ? ? ? ? ? ? ? // 分筆報(bào)價(jià)數(shù)組的索引 (tick[]) tick[p]=rates.open; ? ? ? ? ? // 第一個(gè)分筆報(bào)價(jià)等于開(kāi)盤價(jià) if(rates.open>rates.close) ? ?// 下行趨勢(shì) { func_tick_small(rates.high,1,candle_up,point_up,tick,p); func_tick_small(rates.low,-1,candle_centre,point_centre,tick,p); func_tick_small(rates.close,1,candle_down,point_down,tick,p); ArrayResize(tick,p+1); } if(rates.open<=rates.close) ? // 上行或十字星 { func_tick_small(rates.low,-1,candle_down,point_down,tick,p); func_tick_small(rates.high,1,candle_centre,point_centre,tick,p); func_tick_small(rates.close,-1,candle_up,point_up,tick,p); ArrayResize(tick,p+1); } } }

顧名思義, 赫茲量化Tick Small 函數(shù)執(zhí)行次級(jí)分筆報(bào)價(jià)。它接收有關(guān)上次處理的訂單信息, 走勢(shì) (上或下) 的方向, 所需的步數(shù), 最后價(jià)格, 并將計(jì)算的步數(shù)傳遞給上述的分筆報(bào)價(jià)數(shù)組。結(jié)果數(shù)組包含的分筆報(bào)價(jià)不超過(guò) 11 個(gè)。


量化交易軟件:迷你行情模擬器或手動(dòng)策略測(cè)試器的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
顺义区| 明水县| 中超| 宜章县| 莒南县| 昭苏县| 沂南县| 泰顺县| 芮城县| 杭州市| 柘城县| 阳江市| 昭苏县| 梅河口市| 垦利县| 梅州市| 腾冲县| 任丘市| 和林格尔县| 浙江省| 资兴市| 比如县| 楚雄市| 普定县| 沐川县| 子洲县| 镇坪县| 尼木县| 马边| 济宁市| 和田市| 阳西县| 琼海市| 枞阳县| 临沧市| 高邑县| 嘉祥县| 普兰县| 沙河市| 太原市| 涞水县|