Buy = Cross( MACD(), Signal() );
Sell = Cross( Signal(), MACD() );
Short = Sell;
Cover = Buy;
barcomplete = BarIndex() < LastValue(BarIndex());
//Reset Timer
GetPerformanceCounter( True );
for(i=0; i<5; i++)
ThreadSleep(100);
elapsed =GetPerformanceCounter();
_TRACE("elapsed1 = " + elapsed+" ms");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Short, "EXEC Calc.exe", "Launching external application", 3);
elapsed =GetPerformanceCounter();
_TRACE("elapsed2 = " + elapsed+" ms");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Cover, "EXEC Notepad.exe", "Launching external application", 3);
elapsed =GetPerformanceCounter();
_TRACE("elapsed3 = " + elapsed+" ms");
_SECTION_BEGIN("Super Trend");
SetBarsRequired(100000,0);
GraphXSpace = 15;
SetChartOptions(0,chartShowArrows|chartShowDates);
GfxSetBkMode(0);
GfxSetOverlayMode(1);
SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));
Plot(C,"\nPrice",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0);
SetTradeDelays(1,1,1,1);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Factor = Optimize("Factor",Param("Factor",1,0.25,5,0.25),0.25,5,0.25);
Pd= Optimize("ATR Periods",Param("ATR Periods",3,3,20,1),3,20,1);
Up=(H+L)/2+(Factor*ATR(Pd));
Dn=(H+L)/2-(Factor*ATR(Pd));
iATR=ATR(Pd);
TrendUp=TrendDown=Null;
trend[0]=1;
changeOfTrend=0;
flag=flagh=0;
for (i = 1; i <BarCount-1; i++) {
TrendUp[i] = Null;
TrendDown[i] = Null;
trend[i]=1;
if (Close[i]>Up[i-1]) {
trend[i]=1;
if (trend[i-1] == -1) changeOfTrend = 1;
}
else if (Close[i]<Dn[i-1]) {
trend[i]=-1;
if (trend[i-1] == 1) changeOfTrend = 1;
}
else if (trend[i-1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i-1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}
if (trend[i]<0 && trend[i-1]>0) {
flag=1;
}
else {
flag=0;
}
if (trend[i]>0 && trend[i-1]<0) {
flagh=1;
}
else {
flagh=0;
}
if (trend[i]>0 && Dn[i]<Dn[i-1]){
Dn[i]=Dn[i-1];
}
if (trend[i]<0 && Up[i]>Up[i-1])
{ Up[i]=Up[i-1];
}
if (flag==1)
{ Up[i]=(H[i]+L[i])/2+(Factor*iATR[i]);;
}
if (flagh==1)
{ Dn[i]=(H[i]+L[i])/2-(Factor*iATR[i]);;
}
if (trend[i]==1) {
TrendUp[i]=Dn[i];
if (changeOfTrend == 1) {
TrendUp[i-1] = TrendDown[i-1];
changeOfTrend = 0;
}
}
else if (trend[i]==-1) {
TrendDown[i]=Up[i];
if (changeOfTrend == 1) {
TrendDown[i-1] = TrendUp[i-1];
changeOfTrend = 0;
}
}
}
Plot(TrendUp,"Trend",colorGreen);
Plot(TrendDown,"Down",colorRed);
Buy = trend==1;
Sell=trend==-1;
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=Sell;
Cover=Buy;
BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);
Long=Flip(Buy,Sell);
Shrt=Flip(Sell,Buy );
Title = EncodeColor(colorBlue) + Date() +" - "+EncodeColor(colorBrown)+ "Vol= "+ WriteVal(V)+"\n" +EncodeColor(colorBlack) +"O-"+O+" "+EncodeColor(colorLime)+"H-"+H+" "+EncodeColor(colorRed)+"L-"+L+" "+EncodeColor(colorBlack)+
"C-"+C+" "+ "\n"+
EncodeColor(colorLime)+
WriteIf (Buy , "Long @ Close @ "+C+" ","")+EncodeColor(colorRed)+
WriteIf (Sell , "Short @ Close @ "+C+" ","")+EncodeColor(colorBlue)+
WriteIf(Sell , "Last Profit is"+(C-BuyPrice)+"","")+
WriteIf(Buy , "Last Profit is"+(SellPrice-C)+"","")+EncodeColor(colorLime)+
WriteIf(Long AND NOT Buy, "Long @"+(BuyPrice),"") +EncodeColor(colorRed)+
WriteIf(shrt AND NOT Sell, "Short @"+(SellPrice),"") +EncodeColor(colorBlue)+
WriteIf(Long AND NOT Buy, " - Profit is "+(C-BuyPrice)+"","")+
WriteIf(shrt AND NOT Sell, " - Profit is "+(SellPrice-C)+"","");
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
barcomplete = BarIndex() < LastValue(BarIndex());
//Reset Timer
GetPerformanceCounter( True );
for(i=0; i<5; i++) ThreadSleep(100);
elapsed =GetPerformanceCounter();
_TRACE("elapsed1 = " + elapsed+" ms");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Buy, "EXEC Calc.exe", "Buy Share", 3);
elapsed =GetPerformanceCounter();
_TRACE("elapsed2 = " + elapsed+" ms");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Sell, "EXEC Calc.exe", "Sell Share", 3);
elapsed =GetPerformanceCounter();
_TRACE("elapsed3 = " + elapsed+" ms");
//Magfied Market Price
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorGreen) );
Hor=Param("Horizontal Position",940,1,1200,1);
Ver=Param("Vertical Position",12,1,830,1);
GfxTextOut(""+C, Hor , Ver );
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)*100,2);
GfxSelectFont("Times New Roman", 11, 700, True );
GfxSetBkMode( colorBlack );
GfxSetTextColor(ParamColor("Color",colorYellow) );
//GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );
_SECTION_END();
_SECTION_BEGIN("Super Trend");
SetBarsRequired(100000,0);
GraphXSpace = 15;
SetChartOptions(0,chartShowArrows|chartShowDates);
GfxSetBkMode(0);
GfxSetOverlayMode(1);
SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));
Plot(C,"\nPrice",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0);
SetTradeDelays(1,1,1,1);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Factor = Optimize("Factor",Param("Factor",1,0.25,5,0.25),0.25,5,0.25);
Pd= Optimize("ATR Periods",Param("ATR Periods",3,3,20,1),3,20,1);
Up=(H+L)/2+(Factor*ATR(Pd));
Dn=(H+L)/2-(Factor*ATR(Pd));
iATR=ATR(Pd);
TrendUp=TrendDown=Null;
trend[0]=1;
changeOfTrend=0;
flag=flagh=0;
for (i = 1; i <BarCount-1; i++) {
TrendUp[i] = Null;
TrendDown[i] = Null;
trend[i]=1;
if (Close[i]>Up[i-1]) {
trend[i]=1;
if (trend[i-1] == -1) changeOfTrend = 1;
}
else if (Close[i]<Dn[i-1]) {
trend[i]=-1;
if (trend[i-1] == 1) changeOfTrend = 1;
}
else if (trend[i-1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i-1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}
if (trend[i]<0 && trend[i-1]>0) {
flag=1;
}
else {
flag=0;
}
if (trend[i]>0 && trend[i-1]<0) {
flagh=1;
}
else {
flagh=0;
}
if (trend[i]>0 && Dn[i]<Dn[i-1]){
Dn[i]=Dn[i-1];
}
if (trend[i]<0 && Up[i]>Up[i-1])
{ Up[i]=Up[i-1];
}
if (flag==1)
{ Up[i]=(H[i]+L[i])/2+(Factor*iATR[i]);;
}
if (flagh==1)
{ Dn[i]=(H[i]+L[i])/2-(Factor*iATR[i]);;
}
if (trend[i]==1) {
TrendUp[i]=Dn[i];
if (changeOfTrend == 1) {
TrendUp[i-1] = TrendDown[i-1];
changeOfTrend = 0;
}
}
else if (trend[i]==-1) {
TrendDown[i]=Up[i];
if (changeOfTrend == 1) {
TrendDown[i-1] = TrendUp[i-1];
changeOfTrend = 0;
}
}
}
Plot(TrendUp,"Trend",colorGreen);
Plot(TrendDown,"Down",colorRed);
Buy = trend==1;
Sell=trend==-1;
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=Sell;
Cover=Buy;
BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);
Long=Flip(Buy,Sell);
Shrt=Flip(Sell,Buy );
Title = EncodeColor(colorBlue) + Date() +" - "+EncodeColor(colorBrown)+ "Vol= "+ WriteVal(V)+"\n" +EncodeColor(colorBlack) +"O-"+O+" "+EncodeColor(colorLime)+"H-"+H+" "+EncodeColor(colorRed)+"L-"+L+" "+EncodeColor(colorBlack)+
"C-"+C+" "+ "\n"+
EncodeColor(colorLime)+
WriteIf (Buy , "Long @ Close @ "+C+" ","")+EncodeColor(colorRed)+
WriteIf (Sell , "Short @ Close @ "+C+" ","")+EncodeColor(colorBlue)+
WriteIf(Sell , "Last Profit is"+(C-BuyPrice)+"","")+
WriteIf(Buy , "Last Profit is"+(SellPrice-C)+"","")+EncodeColor(colorLime)+
WriteIf(Long AND NOT Buy, "Long @"+(BuyPrice),"") +EncodeColor(colorRed)+
WriteIf(shrt AND NOT Sell, "Short @"+(SellPrice),"") +EncodeColor(colorBlue)+
WriteIf(Long AND NOT Buy, " - Profit is "+(C-BuyPrice)+"","")+
WriteIf(shrt AND NOT Sell, " - Profit is "+(SellPrice-C)+"","");
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
barcomplete = BarIndex() < LastValue(BarIndex());
//Reset Timer
GetPerformanceCounter( True );
for(i=0; i<5; i++) ThreadSleep(100);
elapsed =GetPerformanceCounter();
_TRACE("elapsed1 = " + elapsed+" ms");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Buy, "EXEC Calc.exe", "Buy Share", 3);
elapsed =GetPerformanceCounter();
_TRACE("elapsed2 = " + elapsed+" ms");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Sell, "EXEC Calc.exe", "Sell Share", 3);
elapsed =GetPerformanceCounter();
_TRACE("elapsed3 = " + elapsed+" ms");
//Magfied Market Price
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorGreen) );
Hor=Param("Horizontal Position",940,1,1200,1);
Ver=Param("Vertical Position",12,1,830,1);
GfxTextOut(""+C, Hor , Ver );
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)*100,2);
GfxSelectFont("Times New Roman", 11, 700, True );
GfxSetBkMode( colorBlack );
GfxSetTextColor(ParamColor("Color",colorYellow) );
//GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );
_SECTION_END();
Plot(MACD(), "macd", colorAqua);
Plot(Signal(), "signal", colorRed);
Buy = Cross( MACD(), Signal() );
Sell = Cross( Signal(), MACD() );
Short = Sell;
Cover = Buy;
barcomplete = BarIndex() < LastValue(BarIndex());
//Reset Timer
GetPerformanceCounter( True );
Title="";
for(i=0; i<5; i++)
ThreadSleep(100);
elapsed =GetPerformanceCounter();
Title= Title+("elapsed1 = " + elapsed+" ms\n");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Short, "EXEC Calc.exe", "Launching external application", 3);
elapsed =GetPerformanceCounter();
Title= Title+("elapsed2 = " + elapsed+" ms\n");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Cover, "EXEC Notepad.exe", "Launching external application", 3);
elapsed =GetPerformanceCounter();
Title= Title+("elapsed3 = " + elapsed+" ms\n");
_SECTION_BEGIN("aa2");
Buy = Cross( MACD(), Signal() );
Sell = Cross( Signal(), MACD() );
Short = Sell;
Cover = Buy;
barcomplete = BarIndex() < LastValue(BarIndex());
Title="";
//Reset Timer
GetPerformanceCounter( True );
//--- Kelvinhand: Use this part
EnableScript("jscript");
<%
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
sleep(500);
%>
elapsed =GetPerformanceCounter();
Title=Title+("elapsed1 = " + elapsed+" ms\n");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Short, "EXEC Calc.exe", "Launching external application", 3);
elapsed =GetPerformanceCounter();
Title=Title+("elapsed2 = " + elapsed+" ms\n");
GetPerformanceCounter( True );
AlertIf( barcomplete AND Cover, "EXEC Notepad.exe", "Launching external application", 3);
elapsed =GetPerformanceCounter();
Title=Title+("elapsed3 = " + elapsed+" ms\n");
_SECTION_END();