JPAlonso-modoki:MetaTrader 5 的交易系统专家

Mike 2012.11.26 18:00 10 0 0
附件

大家好!今天我们来聊聊一款在MetaTrader 5上非常有用的交易系统——JPAlonso-modoki。这款系统的设计灵感来源于对价格走势的投票机制,帮助我们更好地判断市场走向。

系统参数

该系统基于200周期的包络线,开发参数为0.35。以下是关键的代码部分:

//+------------------------------------------------------------------+
//| "判断"价格上涨的条件.                                   |
//| 输入:没有.                                                      |
//| 输出:价格上涨的“投票”数量.                  |
//| 备注:没有.                                                      |
//+------------------------------------------------------------------+
int CSignalEnvelopes::LongCondition()
  {
   int result=0;
   int idx   =StartIndex();
   double close=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   double upper=Upper(idx);
   double lower=Lower(idx);
   double width=upper-lower;
   double ma=lower+width/2;
   if(close<=lower || (close<upper && close>ma))
      result=100;
//--- 返回结果
   return(result);
  }
//+------------------------------------------------------------------+
//| "判断"价格下跌的条件.                                   |
//| 输入:没有.                                                      |
//| 输出:价格下跌的“投票”数量.                  |
//| 备注:没有.                                                      |
//+------------------------------------------------------------------+
int CSignalEnvelopes::ShortCondition()
  {
   int result  =0;
   int idx     =StartIndex();
   double close=SymbolInfoDouble(Symbol(),SYMBOL_BID);
   double upper=Upper(idx);
   double lower=Lower(idx);
   double width=upper-lower;
   double ma=lower+width/2;
   if(close>=upper || (close>lower && close<ma))
      result=100;
//--- 返回结果
   return(result);
  }
//+------------------------------------------------------------------+

交易信号的生成

在这款系统中,我们可以利用“Tick”事件来生成信号。请看以下代码:

//+------------------------------------------------------------------+
//| "Tick" 事件处理函数                                     |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(PositionSelect(Symbol())) return;
   if(TimeCurrent() < D'2012.10.08 10:55') return;
   
   ExtExpert.OnTick();
  }

测试结果

上面的代码是系统的实际操作,下面是测试结果:

比较图表

希望这篇文章能帮助大家更好地理解这个系统的运作原理,提升我们的交易水平!如果你有任何问题或想法,欢迎在评论区留言讨论哦!

列表
评论 0