I strikes me that I am not the only one that will be doing this (from somenon-C# code)and that perhaps asking some very basic questions in this thread will save me and others many hours of searching for answers which are blatantly obvious to current NinjaScript users/experts.
While javascript and ninjascript are bascially very similar, there are some simple differences which are annoying/time-consuming to research. For instance, some common efs code:
Question 1:Printing a variable on a chart.
efs code: drawText(Close(0), AboveBar2); prints the last closing price two ticksizes above the current bar....drawText("Sell"....prints the string "Sell"....
nt code: DrawText("tag", Close[0], 0, High[0]+2*TickSize, Color.Yellow); results in errors including "can not convert from double to string"
Question 2: Checking current bar state.
efs code: prior to conditional.... nState = getBarState();....later in code if(nState == BARSTATE_NEWBAR).....is truefor first tick of new bar
nt code: temporary solution thanks to Ray:
[align=left]We have logic in an NT6 Strategy bool FirsTickOfBar, there is nothing in NT5.[/align]
[align=left][/align]
[align=left]What you could do, is calculate yourself.[/align]
[align=left][/align]
[align=left]For TickChart use the Bars.TickCount property[/align]
[align=left][/align]
[align=left]private bool firstTick = true;[/align]
[align=left]private int lastCount = 0;[/align]
[align=left][/align]
[align=left]if (Bars.TickCount< lastCount)[/align]
[align=left] firstTick = true;[/align]
[align=left][/align]
[align=left]lastCount = Bars.TickCount;[/align]
[align=left][/align]
[align=left]for time chart use[/align]
[align=left][/align]
[align=left]private bool firstTick = false;[/align]
[align=left]private DateTime currentTime = DateTime.MinValue;[/align]
[align=left][/align]
[align=left][/align]
[align=left]if (Time[0].Minute > currentTime.Minute)[/align]
[align=left]{[/align]
[align=left] firstTick = true;[/align]
[align=left] currentTime = Time[0];[/align]
[align=left]}[/align]
[align=left]else[/align]
[align=left] firstTick = false;[/align]
[align=left][/align]
[align=left][/align]
[align=left]Hope this helps![/align]
[align=left]
Ray[/align]
Comment