大家好!今天我们来聊聊由 wellx 提供的 Kaufman自适应移动平均线(AMA)指标的优化版本。这一版本在2006年12月经过了优化,使得它可以在系统交易中更高效地使用。相比于未优化的版本,优化后的AMA能更好地节省资源,并能在合理的时间内执行与AMA相关的EA操作。

优化后的Kaufman自适应移动平均线
在使用简单的EA进行测试时,你会明显感受到测试速度的提升。
//+------------------------------------------------------------------+ //| TestAMA.mq4 | //| Rosh | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Rosh" #property link "http://www.metaquotes.net" extern int AMAtype=1; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- if (AMAtype!=0) Print("使用优化后的指标"); else Print("使用原版指标"); Print("开始"); //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Print("完成"); //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- double val; if (AMAtype!=0) val=iCustom(Symbol(),0,"AMA for Expert2",0,1); else val=iCustom(Symbol(),0,"AMA",0,1); //---- return(0); } //+------------------------------------------------------------------+
如果外部变量 AMAtype=0,那么使用原版;如果不等于零,则使用此优化后的指标。