Show arrows need Trade List

I just purchased Amibroker and I am using version 6.30.5. I ran a backtest and the results window shows all the trades. However, when I left click on the results and select show arrows I get the error Error 706. Show Arrows feature needs a Trade list.

I have Trade List selected in the Report settings and show arrows enabled on the chart.

Error 706. Show Arrows feature needs a Trade list.

chart setting report settings Result list

How do I resolve this?

Dana

Try this

http://www.amibroker.com/kb/2006/08/09/how-to-display-arrows-for-trades-generated-in-backtest/

Apart from the solution provided by @awilson, this other one where you can customize the signs even adding text, prices, etc, can be useful.
Of course you can adapt it to the needs of your code.

_SECTION_BEGIN("PLOTTING SIGNALS");
// PLOTTING ACTIVATION SIGNALS
distancia = 3*ATR(14);
for(i=0; i<BarCount; i++)
{
if(Buy[i]) PlotText("buy\n" + BuyPrice[i], i, H[i]-distancia[i], colorGreen );
if(Sell[i] AND !Short[i]) PlotText("sell\n" + SellPrice[i], i, L[i]+distancia[i], colorRed);
if(Short[i]) PlotText("short\n" + ShortPrice[i], i,  L[i]+distancia[i], colorRed);
if(Cover[i] AND !Buy[i]) PlotText("cover\n" + CoverPrice[i], i, H[i]-distancia[i], colorGreen );
}

//PLOTTIN SHAPES//   
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen,0,L,-15);   
PlotShapes(IIf(Buy,shapeHollowCircle,shapeNone),colorGreen,0,BuyPrice,0);   
PlotShapes(IIf(Sell AND !Short,shapeDownArrow,shapeNone),colorRed,0,H,-15);   
PlotShapes(IIf(Sell AND !Short ,shapeHollowCircle,shapeNone),colorRed,0,SellPrice,0);   
PlotShapes(IIf(Short,shapeDownArrow,shapeNone),colorRed,0,H,-15);   
PlotShapes(IIf(Short,shapeHollowCircle,shapeNone),colorRed,0,ShortPrice,0);   
PlotShapes(IIf(Cover AND !Buy,shapeUpArrow,shapeNone),colorGreen,0,L,-15);   
PlotShapes(IIf(Cover AND !Buy,shapeHollowCircle,shapeNone),colorGreen,0,CoverPrice,0);  
_SECTION_END();

This one has been extracted directly from the AB user's guide

Plot(C,"Price", colorBlack, styleLine ); 
Plot(MA(C,20),"MA20", colorRed ); 

Buy=Cross( C, MA(C,20 ) ); 
Sell= Cross( MA( C, 20 ), C ); 

 dist = 1.5*ATR(10); 

for( i = 0; i < BarCount; i++ ) 
 { 
if( Buy[i] ) PlotText( "Buy\n@" + C[ i ], i, L[ i ]-dist[i], colorGreen ); 
if( Sell[i] ) PlotText( "Sell\n@" + C[ i ], i, H[ i ]+dist[i], colorRed, colorYellow ); 
 } 

PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) );

If you look at my screen shots you will see that that is exactly what I did.

The problem is erratic. I choose another symbol, run the backtest and the arrows show up sometimes, but not every time. It is pretty annoying.

Thinking about it, it could be because in your code you have limited the number of securities that can be in the market. Or otherwise, maybe you should check the analyzer settings

The program is deterministic. Each time and for every symbol it works the same.
Did you tell entire story? I guess not. Are you using REAL TIME streaming data source? Keep in mind that real time refreshes / new data arrivals remove arrows that were once shown.

1 Like

Historical data from Yahoo only. Ran the backtest separately for each symbol. Some work, some don't. Settings don't change.

1 Like

Error 706 is displayed:

  1. IF you have report mode different than TRADE LIST
    or
  2. If chart can not be synchronized

For proper synchronization the ONE list view item MUST be

  • SELECTED and FOCUSED (I don't see any selection on the screenshot you sent)
  • first column of result list must hold proper symbol name

So make sure you CLICK on item first so it gets properly selected and THEN display arrows.

1 Like

Thanks Tomasz, I will give that a try.

I believe that was it. I had right clicked on a row in the trade list without selecting it. It showed the Show Arrows entry and I clicked on it without first selecting the row.

Just a suggestion - maybe grey out the entries if the action cannot be done.

Thanks for the help

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.