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 ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
MACD 2 SIGNAL system for Amibroker (AFL)
Copy & Paste Friendly
Back
_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();