warning: suggest parenthesis around assignment used as truth value near line 119,

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

warning: suggest parenthesis around assignment used as truth value near line 119,

shivax
hi

the error is in the row:

   
[d,e,f,g,h,dat,dailyprofit,cc,gapp,ttrange,Ntradess]=TitanAccordaLunghezze(i,countSis,minColon,maxColon,poo,d,e,f,g,h,NomeSystem,dat,dailyprofit,cc,gapp,ttrange,Ntradess);

i see other post in this forum about it but i don't understand

The problem is in the assignment but I use square brackets

how can I remove the warning correctly using the brackets?






--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html


Reply | Threaded
Open this post in threaded view
|

Re: warning: suggest parenthesis around assignment used as truth value near line 119,

Ian McCallion
On Fri, 28 Sep 2018 at 14:47, shivax <[hidden email]> wrote:
>
> hi
>
> the error is in the row:
> [d,e,f,g,h,dat,dailyprofit,cc,gapp,ttrange,Ntradess]=TitanAccordaLunghezze(i,countSis,minColon,maxColon,poo,d,e,f,g,h,NomeSystem,dat,dailyprofit,cc,gapp,ttrange,Ntradess);

The error is not in that row, but probably in the
TitanAccordaLunghezze function.

The problem is you have written something like

   if a=b

You probably meant

  if a==b

Less likely you meant

   if a=b

Which performs

  a=b;
  if a

Octave warns you about the probably error. To avoid the warning you would need:

  if (a=b)

Hope this is clear.

Cheers... Ian


Reply | Threaded
Open this post in threaded view
|

Re: warning: suggest parenthesis around assignment used as truth value near line 119,

shivax
i think the function is correct..

Look that :

function
[d,e,f,g,h,dat,dailyprofit,cc,gapp,ttrange,Ntradess]=TitanAccordaLunghezze(i,countSis,minColon,maxColon,poo,d,e,f,g,h,NomeSystem,dat,dailyprofit,cc,gapp,ttrange,Ntradess)
%serve per allungare le serie per renderle tutte della stessa lunghezza (in
caso che vengono scaricate da multichart con date differenti)
 
      if poo(1)>minColon   %dato che inizia dopo..metto degli zero fino al
inizio della serie

          printf("**** Sistema N. %s inizia dopo gli altri Esaminati
\n",NomeSystem{i});
          diff=length(poo)+ poo(1)-minColon;
          poo=prepad(poo,diff); %aggiungo gli zero iniziali  ** (non verra
passato alla funzione chiamante ma mi serve se sucessivamente ne uso la
dimensione)
          d=prepad(d,diff);          
          e=prepad(e,diff);
          f=prepad(f,diff);
          g=prepad(g,diff);
          h=prepad(h,diff);
        elseif poo(1)<minColon   %inizia prima...quindi occorre aggiungere
zeri a tutta la serie all'inizio
          printf(&quot;**** Sistema N. %s inizia prima degli altri Esaminati
\n&quot;,NomeSystem{i});
          for j=1:countSis-1
           diff=minColon-poo(1);
           tot=rows(dat)+diff;
           tdat=prepad(dat,tot);  %la serie di zero da attaccare prima di
ogni serie
           tdat(1:diff)=poo(1:diff); %gli ho copiato il pezzo nuovo    
           tdailyprofit(:,j)=prepad(dailyprofit(:,j),tot);
           tcc(:,j)=prepad(cc(:,j),tot);
           tgapp(:,j)=prepad(gapp(:,j),tot);
           tttrange(:,j)=prepad(ttrange(:,j),tot);
           tNtradess(:,j)=prepad(Ntradess(:,j),tot);
          endfor
          dat=tdat;  
          dailyprofit=tdailyprofit;
          cc=tcc;
          gapp=tgapp;
          ttrange=tttrange;
          Ntradess=tNtradess;
     endif   #if poo(1)>minColon
     
     
     if poo(end)<maxColon   %dato che finisce prima..metto degli zero fino
alla fine della serie
          diff=length(poo)+ maxColon-poo(end);
          printf(&quot;**** Sistema N. %s finisce prima degli altri
Esaminati \n&quot;,NomeSystem{i});
         % poo=postpad(poo,diff); %aggiungo gli zero finali  ** - non lo
modifico perche non lo passo alla funzione chiamante..ne mi serve dopo per
avere la dimensione corretta di poo (come succedeva invece sopra)
          d=postpad(d,diff);          
          e=postpad(e,diff);
          f=postpad(f,diff);
          g=postpad(g,diff);
          h=postpad(h,diff);
        elseif poo(end)>maxColon   %finisce dopo...quindi occorre aggiungere
zeri a tutta la serie in fondo
          printf("**** Sistema N. %s finisce dopo degli altri Esaminati
\n",NomeSystem{i});
          for j=1:countSis-1
          diff=poo(end)-maxColon;
           tot=rows(dat)+diff;
           zdat=postpad(dat,tot); %la serie di zero da attaccare prima di
ogni serie
           zdat(end-diff:end)=poo(end-diff:end); %gli ho copiato il pezzo
nuovo  
           zdailyprofit(:,j)=postpad(dailyprofit(:,j),tot);
           zcc(:,j)=postpad(cc(:,j),tot);
           zgapp(:,j)=postpad(gapp(:,j),tot);
           zttrange(:,j)=postpad(ttrange(:,j),tot);
           zNtradess(:,j)=postpad(Ntradess(:,j),tot);
          endfor
          dat=zdat;   %ho cambiato la lettera dell'arrya da copiare da t a
z(zdat..,ecc.) in quanto mi dava errore perche in qualche caso veniva usato
anche sopra con dimensioni diverse e quindiu mi dava errore
          dailyprofit=zdailyprofit;
          cc=zcc;
          gapp=zgapp;
          ttrange=zttrange;
          Ntradess=zNtradess;
     endif  #if poo(end)<maxColon  
endfunction      



--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html


Reply | Threaded
Open this post in threaded view
|

Re: warning: suggest parenthesis around assignment used as truth value near line 119,

Ian McCallion
On Sat, 29 Sep 2018 at 00:22, shivax <[hidden email]> wrote:
>
> i think the function is correct..

You may be right in which case the error is elsewhere. But at least
now you know what mistake to look for.

Cheers... Ian