// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTION_END(); //////tools 1///// _SECTION_BEGIN("SESSION TIMING"); TimeFrame= Param("Chart Timeframe (min)",1,1,60,1)*60; TimeFrameSet(TimeFrame); TN = TimeNum(); ParamStartTime = ParamTime("Session Start","09:30:00"); ParamEndTime = ParamTime("Session End","15:59:00"); InSessionTime = (TN >= ParamStartTime) AND (TN <= ParamEndTime); StartOfSession = InSessionTime > Ref(InSessionTime,-1); EndOfSession = InSessionTime < Ref(InSessionTime,-1); InsessionTime = InSessionTime OR EndOfSession; _SECTION_END(); Buy = O < Ref(L,-1) AND InsessionTime; BuyPrice = O; Sell = L < Ref(L,-1) OR EndOfSession; SellPrice = C; Short = O > Ref(H,-1) AND InsessionTime; ShortPrice = O; Cover = H > Ref(H,-1) OR EndOfSession; CoverPrice = C; SetTradeDelays(0,0,0,0); SetOption("CommissionMode",3); SetOption("CommissionAmount", 0.005); E=Equity(1); TradeEquity = ValueWhen(Sell OR Cover,E); _SECTION_BEGIN("PLOTTING"); Plot(C,"",1,128); if( ParamToggle("Session Timing Ribbons","HIDE|SHOW",0) ) { Plot( InSessionTime,"",7,styleArea|styleOwnScale|styleNoLabel,0,60); Plot( StartOfSession,"",5,styleArea|styleOwnScale|styleNoLabel,0,30); Plot( EndOfSession,"",4,styleArea|styleOwnScale|styleNoLabel,0,30); } OutOfSessionColor = ParamColor("Out of Session",colorDarkRed); Plot(NOT InSessionTime,"",OutOfSessionColor,styleArea|styleOwnScale|styleNoLabel,0,1); PlotShapes(IIf(Buy, shapeSmallUpTriangle, shapeNone),5,0,BuyPrice,0); PlotShapes(IIf(Sell, shapeHollowDownTriangle, shapeNone),4,0,SellPrice,0); PlotShapes(IIf(Cover, shapeHollowUpTriangle, shapeNone),5,0,CoverPrice,0); PlotShapes(IIf(Short, shapeSmallDownTriangle, shapeNone),4,0,ShortPrice,0); if(ParamToggle("Equity curve","HIDE|SHOW",0) ) { Plot(TradeEquity,"",2,styleStaircase|styleOwnScale); } //////tools 2///// /* function BlinkText( Text ) { ABAxisColor = colorWhite; if( Status("redrawaction") ) { BlinkState= StaticVarGet("BlinkState"); if( IsNull( BlinkState) ) StaticVarSet("BlinkState", False); if( BlinkState ) { Text = EncodeColor(colorBrightGreen)+Text+EncodeColor(ABAxisColor); StaticVarSet("BlinkState", False); } else { Text = EncodeColor(ABAxisColor)+Text; StaticVarSet("BlinkState", True); } } return Text; } RequestTimedRefresh( 1 ); DisableSessionTiming = ParamToggle("Auto Session Timing","ENABLED|DISABLED",1); ParamDateNumber = ParamDate("Date", Now(1), 0); ParamStartTime = ParamTime("Start","09:30:00"); ParamEndTime = ParamTime("End","15:59:00"); RTTimeNumber = Now(4); RTDateNumber = Now(3); InSessionDate = RTDateNumber == ParamDateNumber; PreSessionTime = RTTimeNumber and ParamStartTime; PostSessionTime = RTTimeNumber and ParamEndTime; InSessionTime = NOT ( PreSessionTime OR PostSessionTime ); PrevInSession = StaticVarGet("InSession"); if( DisableSessionTiming ) InSession = 1; else InSession = InSessionDate AND InSessionTime; StartSessionTrigger = LastValue(InSession) and PrevInSession; EndSessionTrigger = LastValue(InSession) and PrevInSession; StaticVarSet("InSession", InSession); OutOfSessionColor = ParamColor("Out of Session",colorBlack); Plot( NOT InSession,"",colorBlack,styleArea|styleOwnScale|styleNoLabel,0,1); Title = "\n"+BlinkText( Now(0) )+"\n"+ "Session Status: "+ WriteIf( DisableSessionTiming, "Session Timing Disabled", WriteIf( NOT InSessionDate,"Out of Session date, ","")+ WriteIf(PreSessionTime AND InSessionDate,"Waiting for Start, ","")+ WriteIf(StartSessionTrigger, "Start Trigger, ","")+ WriteIf(InSessionTime, "In Progress, ","")+ WriteIf(EndSessionTrigger, "End Trigger, ","")+ WriteIf(PostSessionTime, "Completed","")); */