I'll try to help out here. I think your a bit confused about the run function and TICKS mode. When you set a BarPeriod in your example your using 1 minute, if you are not using a trade management function then trades will only take place at the end of each 1 minute bar if your conditions have been met ie the run function will only occur at the end of each BarPeriod.

If you want your script to trade at the exact second a price or a condition is forfilled then you have to use the TICKS mode and set trade management functions using Entry,Stop,Trail etc (see enterLong() in the manual for further information). This will mean that while using 1 minute bars for your data if your entry conditions are met during the bar the trade management function will enterLong or Short at the exact tick/second the condition is met.

Hope this helps.