Roden
Tag
Bejegyzések száma: 52

Sebaj. Ez is tuti.

A fentebb levő Symbol_ID függvénynek leginkább akkor van értelme, ha az általa generált double értékből újból ki lehet nyerni az eredeti stringet. Ide bigyesztem azt is hátha vkit érdekel:

string SydToName(double syd=0)
{
int karakterdb = StringLen(DoubleToStr(syd,0))/2;
int charcode=0;
string symbol_name=””;
for (int i=1; i<=karakterdb; i++) {

//az utolsó két számjegy kinyerése maradékos osztással
charcode=MathMod(syd,100);

//összerakjuk a szimbólumnevet karaktereneként
symbol_name=StringConcatenate(CharToStr(charcode),symbol_name);

// megrövidítjük két számjeggyel a következő ciklushoz
syd=(syd-charcode)/100;
}
return(symbol_name);
}

Max 8 karakter hosszúságú neveket lehet vele helyesen átalakítnai. Tehát pl. a FxPro-n elérhető SILVEREURO szimbólumnevet nem. Ehhez tovább kéne fejleszteni, a tizedesjegyeket is bevonva a karakterábrázolásba.
Persze nem csak szimbólumnevek hanem bármilyen NAGYBETŰS(!) ill. két számjeggyel kódolt (ASCII)karaktereket tartalmazó string is átadható vele.

Mivel igen rövid előéletem van a programozást tekintve, ha bárki hibát talál az áltlam leírt kód(okban) vagy tud egy hatékonyabb megoldást és megírja, azt örömmel veszem.