Linux Language utf8 asci Problem

it's a problem popped up out of nowhere. I will open a Formula wich works pretty for a long time , but now its full with errors.
All Errors are on dots .
for example: Error 30,Syntax error unexpected NUM.
I Get out that it could belong to language setting from OS. (..and change the OS from Win to Linux)
Its looks like a UTF8 ASCI Problem.
Its mostly on Formulars with dots. Delete and replace did not work.
For example. " ibc.ModifyOrder" or " ibc.PlaceOrder" brings up a "Error 30,Syntax error unexpected NUM." by the Dot.
I was changing the language settings from OS , Copy and past ,import / Export with Kate and Editor.
UTF8 / asci converter vise versa. Now i have no Idea to solve the Problem.
If i use the Formulars an the old Win7 system, its works very well again.
What could be going wrong by a dot?
I would be very grateful for good ideas.

Problem solved.

1.) Windows / Linux multi language setting make the "dot problem".
2.) The image below shows whats going wrong.
3.) Kate on linux to convert cp850 to Cp1252 vice / versa.

Best, dont touch a running System.

Unfortunately, the problem has not yet been fully resolved.
The forms work as long as there are no points.

Such as.

if ((LastValue( CS_Buy)) AND ibc.GetPositionSize( M_Ticker) == 0 ) {Act="Buy" ; ORder_send=1 ; LimitPrice=LimitPrice_Buy ; StopPrice=(LastValue(C) - M_StopOffset);}

These forms run on native Windows and VirtualBox (windows).
Only under crossover / Wine the "Dot Problem" appear.

Everything else works perfectly and stable. Also work
all other forms ( Indicator and Signal development) as long as there is no point in them.
(ibc = GetTradingInterface("IB"); // Pops up the ibc controller works very well )
That can't be the case that the Linux migration fails at a Dot.
May be Perhaps the problem is somewhere else.
I don't have any idea what that could be.

Any idea is welcome.

Problem with Dot

Your code is invalid. YOU MUST check ibc before using it!

ibc = GetTradingInterface("IB");
if( ibc )
   // only here you can access ibc
  Error( "IBController is NOT running or nor properly registered");

The error you are getting is because IBControlled is NOT properly registered as OLE server and GetTradingInterface returns NULL (no object). So it is not "dot" problem. It is a problem of OLE registration.

If you are using 64-bit version of AmiBroker you must follow this:

And most likely Wine is NOT able to work with IBC because it uses OLE and OLE is broken in WINE.

Really just use Windows. It is so much easier and runs out of the box.
I use Linux for servers (web servers) exclusively and it is great for servers and generally network services BUT for everyday desktop use, Linux isn't optimum choice.

1 Like