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

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

股票量化交易軟件:走勢延續(xù)模型搜索圖表和執(zhí)行統(tǒng)計(jì)

2023-07-14 15:45 作者:bili_45793681098  | 我要投稿

1. 概述

本文提供了一種走勢延續(xù)模型的程序化定義。 主要思路是定義兩個(gè)波浪 — 主浪和修正浪。 對(duì)于極值點(diǎn),我應(yīng)用分形以及“潛在”分形 — 尚未形成分形的極值點(diǎn)。 接著,我將嘗試收集有關(guān)波浪走勢的統(tǒng)計(jì)數(shù)據(jù)。 數(shù)據(jù)將加載到 CSV 文件。

2. 模型描述 - 常規(guī)特點(diǎn)

文章中所述的走勢延續(xù)模型由兩個(gè)波浪組成:主浪和修正浪。 圖例 1 是該模型的示意性描述。 AB 是主浪,BC 是校正浪,而 CD 是走勢主趨勢的延續(xù)。


編輯切換為居中

圖例 1. 走勢延續(xù)模型

在圖表上,這看起來如下:


編輯切換為居中

圖例 2. AUDJPY H4 上的走勢延續(xù)模型

3. 圖表上的模型識(shí)別原理

模型識(shí)別原理如表 1 所示。

表 1. 走勢延續(xù)模型在趨勢背景下的識(shí)別原理

#

下跌趨勢的模型識(shí)別原理

#

上漲趨勢的模型識(shí)別原理

1

極值柱線是其高/低值高于/低于前兩根柱線高/低值的那根柱線

1

極值柱線是其高/低值高于/低于前兩根柱線高/低值的那根柱線

2

修正浪應(yīng)始終按照頂端極值的存在結(jié)束(點(diǎn) С - 參見 圖例 1 和 圖例 2)

2

修正浪應(yīng)始終按照底端極值的存在結(jié)束(點(diǎn) С - 參見 圖例 1 和 圖例 2)

3

修正浪的持續(xù)時(shí)間不能太長,應(yīng)限制在幾根柱線。

3

修正浪的持續(xù)時(shí)間不能太長,應(yīng)限制在幾根柱線。

4

修正走勢的高點(diǎn) (點(diǎn) С - 參見 圖例 1 和 圖例 2) 應(yīng)低于主要走勢的高點(diǎn) (點(diǎn) A - 參見 圖例 1 和 圖例 2)

4

修正走勢的低點(diǎn) (點(diǎn) С - 參見 圖例 1 和 圖例 2) 應(yīng)高于主要走勢的低點(diǎn) (點(diǎn) A - 參見 圖例 1 和 圖例 2)

5

入場點(diǎn)時(shí)效性原則 - 只應(yīng)在入場點(diǎn)形成的確定時(shí)刻開倉

5

入場點(diǎn)時(shí)效性原則 - 只應(yīng)在入場點(diǎn)形成的確定時(shí)刻開倉

4. 算法構(gòu)造和編寫代碼

1. 輸入?yún)?shù),OnInit() 函數(shù)和初始變量聲明

首先,赫茲股票量化需要包含 CTrade 類,以便簡化對(duì)交易操作的訪問:

//--- 包含文件 #include <Trade\Trade.mqh> //--- 進(jìn)行交易操作的對(duì)象 CTrade ?trade;

Next, define input parameters:

//--- 輸入?yún)?shù) input ENUM_TIMEFRAMES base_tf; ?//基準(zhǔn)周期時(shí)間幀 input ENUM_TIMEFRAMES work_tf; ?//操作周期時(shí)間幀 input double SummRisk=100; ? ? ?//每筆成交的總風(fēng)險(xiǎn) input double sar_step=0.1; ? ? ?//設(shè)置拋物線步幅 input double maximum_step=0.11; //設(shè)置拋物線最大步幅 input bool TP_mode=true; ? ? ? ?//允許設(shè)置止盈 input int M=2; ? ? ? ? ? ? ? ? ?//利潤與風(fēng)險(xiǎn)比率 input bool Breakeven_mode=true; //允許將持倉移動(dòng)到盈虧平衡點(diǎn) input double breakeven=1; ? ? ? //利潤與止損比率

在基準(zhǔn)周期上,EA 定義入場方向,而操作周期用于定義入場點(diǎn)。

程序根據(jù)每筆成交的總風(fēng)險(xiǎn)計(jì)算手?jǐn)?shù)。

EA 還可以根據(jù)指定的利潤與風(fēng)險(xiǎn)比率(М 參數(shù))設(shè)置止盈,并根據(jù)指定的利潤與止損比率(breakeven 參數(shù))將持倉移至盈虧平衡點(diǎn)。

在描述輸入?yún)?shù)之后,為 base_tf 和 work_tf 時(shí)間幀聲明指標(biāo)句柄和數(shù)組變量:

//--- 聲明指標(biāo)句柄的變量 int Fractal_base_tf,Fractal_work_tf; ? ? ? ? ? ? //iFractals 指標(biāo)句柄 int Sar_base_tf,Sar_work_tf; ? ? ? ? ? ? ? ? ? ? //iSar 指標(biāo)句柄 //--- 為 base_tf 聲明數(shù)組 double High_base_tf[],Low_base_tf[]; ? ? ? ? ? ? //用于存儲(chǔ)柱線高/低價(jià)格的數(shù)組 double Close_base_tf[],Open_base_tf[]; ? ? ? ? ? //用于存儲(chǔ)柱線收盤/開盤價(jià)格的數(shù)組 datetime Time_base_tf[]; ? ? ? ? ? ? ? ? ? ? ? ? //用于存儲(chǔ)柱線開盤時(shí)間的數(shù)組 double Sar_array_base_tf[]; ? ? ? ? ? ? ? ? ? ? ?//用于存儲(chǔ) iSar (拋物線) 指標(biāo)價(jià)格的數(shù)組 double FractalDown_base_tf[],FractalUp_base_tf[];//用于存儲(chǔ) iFractals 指標(biāo)價(jià)格的數(shù)組 //--- 為 work_tf 聲明數(shù)組 double High_work_tf[],Low_work_tf[]; double Close_work_tf[],Open_work_tf[]; datetime Time_work_tf[]; double Sar_array_work_tf[]; double FractalDown_work_tf[],FractalUp_work_tf[];;

EA 應(yīng)用了兩個(gè)指標(biāo):用于定義極值部分的分形,和用于持倉尾隨停止的拋物線。 我還將采用拋物線在 work_tf 操作時(shí)間幀內(nèi)定義一個(gè)入場點(diǎn)。

然后在 OnInit() 函數(shù)中接收指標(biāo)句柄,并用初始數(shù)據(jù)填充數(shù)組。

int OnInit() ?{ //--- 獲取 iSar 指標(biāo)句柄 ? Sar_base_tf=iSAR(Symbol(),base_tf,sar_step,maximum_step); ? Sar_work_tf=iSAR(Symbol(),work_tf,sar_step,maximum_step); //--- 獲取 iFractals 指標(biāo)句柄 ? Fractal_base_tf=iFractals(Symbol(),base_tf); ? Fractal_work_tf=iFractals(Symbol(),work_tf); //--- 設(shè)置 base_tf 數(shù)組的順序?yàn)闀r(shí)間序列 ? ArraySetAsSeries(High_base_tf,true); ? ArraySetAsSeries(Low_base_tf,true); ? ArraySetAsSeries(Close_base_tf,true); ? ArraySetAsSeries(Open_base_tf,true); ? ArraySetAsSeries(Time_base_tf,true);; ? ArraySetAsSeries(Sar_array_base_tf,true); ? ArraySetAsSeries(FractalDown_base_tf,true); ? ArraySetAsSeries(FractalUp_base_tf,true); //--- 初始并填充 base_tf 數(shù)組 ? CopyHigh(Symbol(),base_tf,0,1000,High_base_tf); ? CopyLow(Symbol(),base_tf,0,1000,Low_base_tf); ? CopyClose(Symbol(),base_tf,0,1000,Close_base_tf); ? CopyOpen(Symbol(),base_tf,0,1000,Open_base_tf); ? CopyTime(Symbol(),base_tf,0,1000,Time_base_tf); ? CopyBuffer(Sar_base_tf,0,TimeCurrent(),1000,Sar_array_base_tf); ? CopyBuffer(Fractal_base_tf,0,TimeCurrent(),1000,FractalUp_base_tf); ? CopyBuffer(Fractal_base_tf,1,TimeCurrent(),1000,FractalDown_base_tf); //--- 設(shè)置 work_tf 數(shù)組的順序?yàn)闀r(shí)間序列 ? ArraySetAsSeries(High_work_tf,true); ? ArraySetAsSeries(Low_work_tf,true); ? ArraySetAsSeries(Close_work_tf,true); ? ArraySetAsSeries(Open_work_tf,true); ? ArraySetAsSeries(Time_work_tf,true); ? ArraySetAsSeries(Sar_array_work_tf,true); ? ArraySetAsSeries(FractalDown_work_tf,true); ? ArraySetAsSeries(FractalUp_work_tf,true); //--- 初始并填充 work_tf 數(shù)組 ? CopyHigh(Symbol(),work_tf,0,1000,High_work_tf); ? CopyLow(Symbol(),work_tf,0,1000,Low_work_tf); ? CopyClose(Symbol(),work_tf,0,1000,Close_work_tf); ? CopyOpen(Symbol(),work_tf,0,1000,Open_work_tf); ? CopyTime(Symbol(),work_tf,0,1000,Time_work_tf); ? CopyBuffer(Sar_work_tf,0,TimeCurrent(),1000,Sar_array_work_tf); ? CopyBuffer(Fractal_work_tf,0,TimeCurrent(),1000,FractalUp_work_tf); ? CopyBuffer(Fractal_work_tf,1,TimeCurrent(),1000,FractalDown_work_tf); //--- ? return(INIT_SUCCEEDED); ?}

首先,赫茲股票量化收到 指標(biāo)'句柄,然后在 時(shí)間序列 中定義數(shù)組的順序,并用數(shù)據(jù)填充數(shù)組。 我相信 1000 根柱線的數(shù)據(jù)對(duì)于 EA 操作來說已經(jīng)足夠了。

2. 一般參數(shù)

在此,我開始運(yùn)用OnTick() 函數(shù)操作。

在“常規(guī)參數(shù)”部分中,我通常寫入市價(jià)數(shù)據(jù)并聲明設(shè)置倉位的變量。

//+------------------------------------------------------------------+ //| 1. 常規(guī)參數(shù) (開始) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ //--- 市價(jià)數(shù)據(jù)market data //品種價(jià)格中的小數(shù)位數(shù) ? int Digit=(int)SymbolInfoInteger(_Symbol,SYMBOL_DIGITS); //定義當(dāng)前品種的價(jià)格容量 ? double f=1; ? if(Digit==5) {f=100000;} ? if(Digit==4) {f=10000;} ? if(Digit==3) {f=1000;} ? if(Digit==2) {f=100;} ? if(Digit==1) {f=10;} //--- ? double spread=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)/f;//考慮到價(jià)格容量,將點(diǎn)差降低到分?jǐn)?shù)值 ? double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);//數(shù)據(jù)依據(jù)競買價(jià) ? double ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);//數(shù)據(jù)依據(jù)競賣價(jià) ? double CostOfPoint=SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE);//數(shù)據(jù)依據(jù)逐筆報(bào)價(jià) //--- 用于設(shè)置倉位的手?jǐn)?shù)計(jì)算變量 ? double RiskSize_points;//用于存儲(chǔ)當(dāng)前持倉的止損大小的變量 ? double CostOfPoint_position;//存儲(chǔ)當(dāng)前持倉的點(diǎn)數(shù)價(jià)格(參考每筆成交的風(fēng)險(xiǎn))的變量 ? double Lot;//用于存儲(chǔ)持倉手?jǐn)?shù)的變量 ? double SLPrice_sell,SLPrice_buy;//存儲(chǔ)止損價(jià)位的變量 //--- 用于存儲(chǔ)柱線編號(hào)上數(shù)據(jù)的變量 ? int bars_base_tf=Bars(Symbol(),base_tf); ? int bars_work_tf=Bars(Symbol(),work_tf); //--- 用于存儲(chǔ)持倉數(shù)據(jù)的變量 ? string P_symbol; //持倉品種 ? int P_type,P_ticket,P_opentime;//開倉類型, 單號(hào)和時(shí)間 //+------------------------------------------------------------------+ //| 1. 常規(guī)參數(shù) (結(jié)束) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+


股票量化交易軟件:走勢延續(xù)模型搜索圖表和執(zhí)行統(tǒng)計(jì)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
仪陇县| 靖远县| 长宁区| 昭苏县| 剑川县| 南雄市| 鲁山县| 濉溪县| 固安县| 依安县| 阿瓦提县| 疏勒县| 渝北区| 双峰县| 潍坊市| 辽阳市| 根河市| 大连市| 浑源县| 突泉县| 保定市| 福海县| 乐陵市| 遵化市| 五峰| 安丘市| 镇安县| 昌乐县| 泸州市| 巴林左旗| 会理县| 五莲县| 望城县| 北辰区| 贡觉县| 铁力市| 阿城市| 井冈山市| 曲沃县| 盐边县| 长治市|