// Downloaded From https://www.WiseStockTrader.com
//http://www.wisestocktrader.com/indicatorpasties/350-ichi-moku.txt
_SECTION_BEGIN("Price");
HAswitch = ParamToggle("Heikin Ashi","Off,On");
PriceUpCol = ParamColor("Price UP Color",colorGreen);
PriceDnCol = ParamColor("Price DN Color",colorRed);
PriceSty = ParamStyle("Price Style",styleCandle,maskDefault | styleCandle | styleBar);

HaClose = ( O+H+L+C ) / 4;
HaOpen = AMA( Ref(HaClose, -1), 0.5);
HaHigh = Max(H, Max(HaClose, HaOpen));
HaLow = Min(L, Min(HaClose, HaOpen));

if(HAswitch)
PlotOHLC(HaOpen,HaHigh,HaLow,HaClose,"Heikin Ashi",IIf(HaClose > HaOpen,PriceUpCol,PriceDnCol),PriceSty);
else
Plot(C,"Price",IIf(C > Ref(C,-1), PriceUpCol, PriceDnCol), PriceSty);
_SECTION_END();

_SECTION_BEGIN("Tenkan-Sen");
TenkanPer = Param("Tenkan-Sen Period",9,1,100,1);
TenkanCol = ParamColor("Tenkan-Sen Color",colorRed);
TenkanSty = ParamStyle("Tenkan-Sen Style",styleLine | styleThick);
Tenkan = ( HHV(H,TenkanPer) + LLV(L,TenkanPer) ) / 2;
Plot(Tenkan,"Tenkan",TenkanCol,TenkanSty);
_SECTION_END();

_SECTION_BEGIN("Kijun-Sen");
KijunPer = Param("Kijun-Sen Period",26,1,100,1);
KijunCol = ParamColor("Kijun-Sen Color",colorBlue);
KijunSty = ParamStyle("Kijun-Sen Style",styleLine | styleThick);
Kijun = ( HHV(H,KijunPer) + LLV(L,KijunPer) ) / 2;
Plot(Kijun,"Kijun",KijunCol,KijunSty);
_SECTION_END();

_SECTION_BEGIN("Chikou Span");
ChikouShft = Param("Chikou Span Shift",26,1,100,1);
ChikouCol = ParamColor("Chikou Span Color",colorViolet);
ChikouSty = ParamStyle("Chikou Span Style",styleLine | styleNoLabel);
Chikou = C;
Plot(Chikou,"",ChikouCol,ChikouSty,Null,Null,-ChikouShft);
_SECTION_END();

_SECTION_BEGIN("Senkou-Kumo");
SenkouKumoShft = Param("Senkou-Kumo Shift",26,0,100,1);
_SECTION_END();

_SECTION_BEGIN("Senkou Span A");
SenkouACol = ParamColor("Senkou Span A Color",colorSeaGreen);
SenkouASty = ParamStyle("Senkou Span A Style",styleLine);
SenkouA = ( Tenkan + Kijun ) / 2;
Plot(SenkouA,"Senkou A",SenkouACol,SenkouASty,Null,Null,SenkouKumoShft) ;
_SECTION_END();

_SECTION_BEGIN("Senkou Span B");
SenkouBPer = Param("Senkou Span B Period",52,1,200,1);
SenkouBCol = ParamColor("Senkou Span B Color",colorPink);
SenkouBSty = ParamStyle("Senkou Span B Style",styleLine);
SenkouB = ( HHV(H,SenkouBPer) + LLV(L,SenkouBPer) ) / 2;
Plot(SenkouB,"Senkou B",SenkouBCol,SenkouBSty,Null,Null,SenkouKumoShft) ;
_SECTION_END();

_SECTION_BEGIN("Kumo");
KumoUpCol = ParamColor("Kumo UP Color",colorSeaGreen);
KumoDnCol = ParamColor("Kumo DN Color",colorPink);
PlotOHLC(SenkouA,SenkouA,SenkouB,SenkouB,"",IIf(SenkouA>SenkouB,KumoUpCol,KumoDnCol),styleCloud | styleNoLabel,Null,Null,SenkouKumoShft);
_SECTION_END();

_SECTION_BEGIN("BK");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor( ParamColor("Color Axes", colorBlack) );
SetChartBkGradientFill( ParamColor("BgTop", colorWhite),ParamColor("BgBottom", colorDarkGrey));
_SECTION_END();