This example script:
Code
 function run()
{
		
	set(LOGFILE);		
	
	BarPeriod = 60; 		
		
	LookBack = 1500; 		
	
   int iTF=1;
	
	while(asset(loop("AUD/CHF","EUR/JPY")))  
	{
			int tf = (Itor1*2)+2 ;  // i.e.2 for AUD/CHF or 4 - for EUR/JPY, potentially - optimized
			TimeFrame = frameSync(tf);			
						
			iTF=TimeFrame;			
			
			TimeFrame=1; //
			vars dH = series(priceHigh(0),50);
			vars dL = series(priceLow(0),50);
			vars dO = series(priceOpen(0),50);
			vars dC = series(priceClose(0),50);			  
			
			vars dmiP = series(PlusDI(dO,dH,dL,dC,15),5);  
			
			watch("Asset=", Asset," TF=", iTF, " dmiP=", dmiP[0]);
	}

}
produces this output:
Quote
[4: Thu 20-01-02 12:00] (0.678160)
Asset= AUD/CHF TF= -1 dmiP= 100.00
Asset= EUR/JPY TF= -1 dmiP= 0.00000
[5: Thu 20-01-02 13:00] (0.678970)
Asset= AUD/CHF TF= 0 dmiP= 100.00
Asset= EUR/JPY TF= 0 dmiP= 0.00000
[6: Thu 20-01-02 14:00] (0.678880)
Asset= AUD/CHF TF= -1 dmiP= 100.00
Asset= EUR/JPY TF= 0 dmiP= 0.00000
[7: Thu 20-01-02 15:00] (0.679070)
Asset= AUD/CHF TF= 0 dmiP= 100.00
Asset= EUR/JPY TF= 0 dmiP= 0.00000
[8: Thu 20-01-02 16:00] (0.678640)
Asset= AUD/CHF TF= -1 dmiP= 100.00
Asset= EUR/JPY TF= -1 dmiP= 0.00000 // should be -3 for EUR/JPY
. So, frameSync doesn't seem to work correctly in a multi-asset/algo setup.

Also, PlusDI/MinusDI variants of the functions explicitly accepting 4 price series also do not work. This is unrelated to timeframes or frameSync; when TimeFrame-related code is commented out, these functions still return gibberish.