Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

MACD 2 SIGNAL system for Amibroker (AFL)

Copy & Paste Friendly
_SECTION_BEGIN("MACD 2SIGNAL");
//------------------------------------------------------------------+
// Блок 1                                                           |
//------------------------------------------------------------------+
  MaxEval=Param("Optimize MaxEval",50000,100,300000,100);            //Устанавливаем максимальное количество проходов на один оптимизируемый параметр
  OptimizerSetEngine("trib");                                        //Устанавливаем тип генетического алгоритма
  OptimizerSetOption("MaxEval",MaxEval);                             //и способ реализации
//-------------------------------------------------------------------                                                      
  iPositionSize=Param("Position Size %",100,10,300,10);   //Размер капитала участвующий в одной сделке                                                                      
  FastMA=Optimize("Fast MA",Param("Fast MA",12,3,30,1),3,15,1);    //Быстрая МА                                                                              
  SlowMA=Optimize("Slow MA",Param("Slow MA",26,3,30,1),3,30,1);    //Медленная МА                            
  SigMAop=Optimize("Signal MA (open)", 
          Param("Signal MA (open)",9,3,30,1),15,25,1);              //Сигнальная МА для открытия позиции                                            
  SigMAcl=Optimize("Signal MA (close)",
          Param("Signal MA (close)",9,3,30,1),3,15,1);             //Сигнальная МА для закрытия позиции                   
//-------------------------------------------------------------------
  ShowMACD=ParamToggle("Show MACD?","No|Yes",0);                     //Отображение индикатора
  colorMACD=ParamColor("Color MACD",colorRed);                       //Цвет линий
  colorSOp=ParamColor("Color Signal MA (open)",colorGreen); 
  colorSCl=ParamColor("Color Signal MA (close)",colorBlue);  
//------------------------------------------------------------------+
// Блок 2                                                           |
//------------------------------------------------------------------+
  iMACD=MACD(FastMA,SlowMA);                                         //Рассчитываем MACD
  SignalOp=Signal(FastMA,SlowMA,SigMAop);                            //Рассчитываем сигнальную линию MACD для ОТКРЫТИЯ позиции
  SignalCl=Signal(FastMA,SlowMA,SigMAcl);                            //Рассчитываем сигнальную линию MACD для ЗАКРЫТИЯ позиции
//------------------------------------------------------------------+
// Блок 3                                                           |
//------------------------------------------------------------------+
  Buy=Cross(iMACD,SignalOp);                                         //ПОКУПАЕМ
  Cover=Cross(iMACD,SignalOp);                                       //ЗАКРЫВАЕМ предыдущую позицию на продажу (переворачиваемся)
  Sell =Cross(SignalCl,iMACD);                                       //ПРОДАЕМ
  Short=Cross(SignalCl,iMACD);                                       //ЗАКРЫВАЕМ предыдущую позицию на покупку (переворачиваемся)  
//------------------------------------------------------------------+
// Блок 4                                                           |
//------------------------------------------------------------------+
                      
  SetPositionSize(iPositionSize,spsPercentOfEquity);                 //Устанавливем определенный размер позиции от имеющихся средств
//------------------------------------------------------------------+
// Блок 5                                                           |
//------------------------------------------------------------------+
  if(ShowMACD==1)                                                    //В случае необходимости выводи линии на график
    {
     Plot(iMACD,"MACD",colorMACD,styleLine);
     Plot(SignalOp,"SignalOp",colorSOp,styleDashed);
     Plot(SignalCl,"SignalCl",colorSCl,styleDashed);
    }
_SECTION_END();
Back