应用软件概要:国际邀请赛的第二名为Better所夺下他选用的是数学模型基本原理的EA,这使用数学模型方法做EA成为许多人关注的关注点。

这儿译者一则选用数学模型做EA的极好的实例该文,总之附上源代码是招揽人的地方。

不过或许译者明确提出了科学研究数学模型EA的一些思索更加更加重要。

译者明确提出了∶

1.假如有直升机,为何更要教人类文明去飞?

原意是科学研究是数学模型无须从零起跑。MT4里已近了极好的启发式。

这儿该文如是说了怎样借助MT4已近的启发式。

2.大家都说做复本最重要的是借势而为,但更须要化解的是∶

两个如前所述态势的证券买卖是无法获得成功买卖在横盘(sideways trends),

也无法辨识市场的反弹(setbacks)和KO(reversals.,逆向市场走势)!

这可是抓到许多人内心深处的痒处,有啥人并非到了该逆市时没转为而产生净亏损呢?

3.体能训练数学模型须要用胼足蝠的历史经验,明确提出了并并非用的历史经验长而尖好,除此之外也并非体能训练的间距愈长越好,该文明确提出了什么情况下有需再体能训练它。

上面是原文和译者的源代码:(英文概要小贴士已拿掉)

原文:(ATS)手动的(智能化的,选用数学模型的)证券买卖的问题论述如下表所示 :

假如他们有两个(BTS, basic trading system),同时须要用建立两个数学模型系统并天主教会它做BTS所无法做的事,按这个路子是要建立这样两个证券买卖∶它由相互补足(相互配合)的两部分共同组成,BTS和NN(数学模型)。

呃,英文说,他们不须要再去发现美州,它是早已存在的东西!进一步说,假如他们早已有了电动汽车,那为何更要教人怎样非常灵活?假如有直升机,为何更要教人类文明去飞?

一旦有两个态势证券买卖的ATS,他们仅须要天主教会这个数学模型怎样逆市(反态势)买卖的策略。这一点是非常必要的,因为两个如前所述态势的证券买卖是无法获得成功买卖在横盘(sideways trends),也无法辨识市场的反弹(setbacks)和KO(reversals.,逆向市场走势)!总之,你可以选用两个ATS,两个如前所述态势,两个如前所述反态势(逆向),然后把它挂到同一图表上。另两个办法是,你能天主教会数学模型怎样与你现有的系统互补地协调工作!

为实现这个目标,他们设计了两个两层的数学模型,下层有两个感知机(perceptrons)上层有两个感知机。

这个数学模型的能输出下列三种状态之一:

(Entering)市场是处在多向仓

(Entering)市场是处在空向仓

不确定的, (不明确的, 模糊的)状态

实际上,第三种状态是就把控制权交给BTS,反之前两种状态是买卖信号由数学模型给出。

数学模型的教育分成三步骤,每一步骤教育两个感知机,在任何一步骤,这个优化了的BTS必须存在为的是感知机们知道它自己能做什么。

感知机们分别的教育由启发式来承担,由于这样的算法的缺乏,换句话说,搜索到的这样的算法有限,限制了输入(参数变量)的数量(借助这样算法得到的参数变量的值),然而,每一步骤的教育是密切相互配合补足的。(因此效果还是极好),这样这个数学模型不会太大,整个的优化也不会耗费太多的时间。

在教育NN之前的一步是对BTS进行优化。

为了不使他们自己也被搞糊涂了,他们将早已测试通过的ATS的输入(参数变量)记录上(通过(“pass”)的步骤号(stage number).,输入s(参数变量)的标识符将和stage number(步骤号)一致(等同)。

这样,他们开始对这个NN进行优化和教育的准备。存入初始保证金为$100万(以便于在优化期间不产生人为的补足保证金的通知)。Input(参数变量)是按余额进行优化,设置EA的Strategy Tester的测试的属性tab为”Testing” 。开始运行启发式。

Lets go to the “Inputs” tab of the EAs properties and specify the volume of positions to be opened by assigning the value 1 to the identifier “lots”.

在这个EA的开仓量 “lots”.的值设为1 lot。

Optimization will be performed according to the model: “Open prices only (fastest method to analyze the bar just completed, only for EAs that explicitly control bar opening)”, since this method is available in the ATS algorithm.

从这个ATS算法明确地有效开始,实施优化,所选用复盘模型是∶仅用开盘价(以最快速的方法分析刚形成的柱线)。

Stage 1 of optimization. Optimization of the BTS:

优化步骤一,BTS优化:

设置为 1 为这input(参数变量)为通过(the input “pass”)。

他们仅仅优化步骤1相关的那些inputs(参数变量),即,尾标为 1 的参数变量,于是,他们仅仅测试优化有关的inputs而不测试其他的变量参数

tp1:BTS的所取的止盈值(TakeProfit)。在step 1,优化的值的范围在10到100,

sl1:BTS的所取的止损值(StopLoss)。在step 1,优化的值的范围在10到100 。

p1:用于BTS的CCI的周期值。在step 1 ,优化的值的范围在 3到100

步骤 二,教育负责管开空仓(short positions)的感知机

根据步骤的步骤号,设置(input,参数变量) 的”pass”的值为 2。

不测试那些早已测试过的优化了的以前步骤的inputs.(变量参数)。以防万一,保存以前步骤获得的inputs(变量参数值)到两个文件中去

根据他们的规则,必须是测试那些是在尾标为 2的inputs(变量参数)。

x12, x22, x32, x42是辨识并开空仓的感知机的权重,它的值在step 1时被优化在范围0 to 200

tp2 :(TakeProfit) 是感知机所开的仓的止盈值,它的值在step 1时被优化在范围10 to 100。

sl2 :(StopLos) 在 step 1它是感知机所开的仓的止损值,被优化值的范围在 10 to 100

p2:感知机所分析的价格差的周期值 (iiCCI()函数的两个参数∶period – Averaging period for calculation),在step 1 它的值所优化的范围在3 to 100

现在,开始用启发式来优化教育NN(让它学习市场),获得的结果如下表所示∶

自动草稿

步骤 三,教育负责开多仓的感知机(学习市场)。

设置值 3 (根据步骤的步骤号)说明这些input(变量参数)早已通过(the input “pass”)

同样,不测试,那些早已测试过的优化了的,以前步骤的inputs.(变量参数值),以防万一,保存以前步骤获得的inputs.(变量参数值) 到两个文件中去

根据他们的规则,优化测试的inputs(变量参数值)必须是尾标为3的那些变量参数。

x13, x23, x33, x43是辨识多仓的感知机的权重,它的值在step 1时被优化时得到的范围在0 to 200

tp 3 :(TakeProfit) 是感知机所开的仓的止盈值,它的值在step 1时被优化时的范围是在10 to 100。

sl3 :(StopLoss) 是感知机所开的仓的止盈值,它的值在step 1时被优化为范围是10 to 100。

p3 :感知机所分析的价差的周期值。它在步骤 1 优化时得到的值的范围是 3 to 100 。

启动选用启发式的优化来教育NN,所获得的结果如下表所示∶

自动草稿

步骤 四,(最终步骤) 教育第一层,即教育在上层的感知机。

根据步骤的步骤号,设置值4 为输入通过(for the input “pass”)

不测试那些在之前步骤早已测试过的优化了的输入 (inputs) (原意是∶早已在之前步骤优化过的变量的参数值就不再优化它了)。以防万一,将之前步骤获得的这些变量的参数值存到两个文件中去。

根据他们的规则,只测试优化标识符最后位是4的那些inputs(变量的参数值)

x14, x24, x34, x44是第一层感知机参数的权重值。在步骤 1 时它被优化的值的范围在0 to 200 。

p4 :被感知机分析的价差的值的周期。在步骤 1 它的值的范围被优化在 3 to 100 。

选用启发式来优化,启动教育来教它学习。所获得结果如下表所示∶

自动草稿

这是全部,数学模型早已被教育了。

这个ATS有两个无法被优化的input(参数) mn– Magic Number.(魔法号)它是两个证券买卖它所开的仓位的辨识符,为的是不和手动开仓或其他ATSes开的仓位混淆。这个Magic Number的值必须是唯一的并且和这个特别的ea尚未开仓的magic numbers不一致。

出于保证有一些安全保险的考虑,初始保证金的金额设置是考虑为绝对最大回落的两倍

上面这个EA的源代码没有优化。

假如你须要置换嵌入另两个证券买卖算法的BTS,你必须修改BTS功能的内部。

以便于不输入优化时的初值,终值和步长,你可选用已备好的combo.set文件,把它放置到MT4的 \tester 目录并加载这个ea的属性(properties)到Strategy Tester。

这个ea的再优化可在周末进行,即周六和周日,但仅在前面一周的结果是不盈利的。净亏损的出现意味着市场早已改变,于是须要重新优化,若是仍然获利意味着这个ATS不须要重新优化,它对市场目前的模型的辨识继续有效!

附源代码:

// ——————————————————————

//| Combo_Right.mq4 |

//| Copyright ?2008, Yury V. Reshetov |

//| http://bigforex.biz/load/2-1-0-171 |

// ——————————————————————

property copyright “Copyright ?2008, Yury V. Reshetov”

property link “http://bigforex.biz/load/2-1-0-171”

//—- input parameters

extern double tp1 = 50;

extern double sl1 = 50;

extern int p1 = 10;

extern int x12 = 100;

extern int x22 = 100;

extern int x32 = 100;

extern int x42 = 100;

extern double tp2 = 50;

extern double sl2 = 50;

extern int p2 = 20;

extern int x13 = 100;

extern int x23 = 100;

extern int x33 = 100;

extern int x43 = 100;

extern double tp3 = 50;

extern double sl3 = 50;

extern int p3 = 20;

extern int x14 = 100;

extern int x24 = 100;

extern int x34 = 100;

extern int x44 = 100;

extern int p4 = 20;

extern int pass = 1;

extern double lots = 0.01;

extern int mn = 888;

static int prevtime = 0;

static double sl = 10;

static double tp = 10;

// ——————————————————————

//| expert start function |

// ——————————————————————

intstart() {

if (Time[0] == prevtime) return(0);

prevtime = Time[0];

if (! IsTradeAllowed()) {

again();

return(0);

}

//—-

int total = OrdersTotal();

for (int i = 0; i

1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!