Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by EternallyCurious. 04/25/24 10:20
Trading Journey
by howardR. 04/24/24 20:04
M1 Oversampling
by Petra. 04/24/24 10:34
Zorro FIX plugin - Experimental
by flink. 04/21/24 07:12
Scripts not found
by juergen_wue. 04/20/24 18:51
zorro 64bit command line support
by 7th_zorro. 04/20/24 10:06
StartWeek not working as it should
by jcl. 04/20/24 08:38
folder management functions
by VoroneTZ. 04/17/24 06:52
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (AndrewAMD, SBGuy, Petra), 801 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Mega_Rod, EternallyCurious, howardR, 11honza11, ccorrea
19048 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Working with array #487479
05/12/23 03:02
05/12/23 03:02
Joined: Sep 2022
Posts: 2
Cienfuegos
M
MarcosAM Offline OP
Guest
MarcosAM  Offline OP
Guest
M

Joined: Sep 2022
Posts: 2
Cienfuegos
I am creating a system and one of its functions must return me the Open, Close, High and Low price of the bar corresponding to the previous day. However I am encountering a syntax error when compiling.

Could someone help me? Thank you very much in advance.

This is my code(I do not put it in full so as not to tire you with so much bad code.):

var DailyBar[4] = {0,0,0,0};
var FiboLevels[5];

var dailyBar() //Funcion que devuelve un array con los precios principales de la vela diaria.
{
TimeFrame = 96; //La función tomará barras diaria: 96 veces 15 minutos
var DailyBar[4] = {priceO(1), priceC(1), priceH(1), priceL(1)};

return DailyBar;
}

var fiboLevels(var var Open, var Close, var High, var Low)
{
var Open = priceSerie[0];
var Close = priceSerie[1];
var High = priceSerie[2];
var Low = priceSerie[3];

if(Open > Close){
var fibRetracLvl1 = High - (High-Low) * 23.6 / 100;
var fibRetracLvl2 = High - (High-Low) * 38.2 / 100;
var fibRetracLvl3 = High - (High-Low) * 50 / 100;
var fibRetracLvl4 = High - (High-Low) * 61.8 / 100;
var fibRetracLvl5 = High - (High-Low) * 100 / 100;
FiboLevels[5] = {fibRetracLvl1, fibRetracLvl2, fibRetracLvl3, fibRetracLvl4, fibRetracLvl5};

return FiboLevels;
}
else{
var fibRetracLvl1 = Low - (High-Low) * 23.6 / 100;
var fibRetracLvl2 = Low - (High-Low) * 38.2 / 100;
var fibRetracLvl3 = Low - (High-Low) * 50 / 100;
var fibRetracLvl4 = Low - (High-Low) * 61.8 / 100;
var fibRetracLvl5 = Low - (High-Low) * 100 / 100;
FiboLevels[5] = {fibRetracLvl1, fibRetracLvl2, fibRetracLvl3, fibRetracLvl4, fibRetracLvl5};

return FiboLevels;
}
}

function run()
{
...
}


This is the error:
/002_Fibonacci_strategy_Using_Daily Data compiling,
Error in 'line 10:
syntax error
< var DailyBar[4] = {priceO(1), priceC(1), priceH(1), priceL(1)}; >.

Re: Working with array [Re: MarcosAM] #487480
05/12/23 18:24
05/12/23 18:24
Joined: Feb 2017
Posts: 1,725
Chicago
AndrewAMD Online
Serious User
AndrewAMD  Online
Serious User

Joined: Feb 2017
Posts: 1,725
Chicago
Not valid in Lite-C.
First, declare var DailyBar[4].
Next, set each value of each array element. For example, DailyBar[0] = priceO(1).

Also, you have multiple copies of the DailyBar array, both globally and locally. Your function will prefer the local variable over the global.

Re: Working with array [Re: MarcosAM] #487481
05/12/23 19:13
05/12/23 19:13
Joined: Sep 2022
Posts: 2
Cienfuegos
M
MarcosAM Offline OP
Guest
MarcosAM  Offline OP
Guest
M

Joined: Sep 2022
Posts: 2
Cienfuegos
Thanks for the help. I had already solved it, however I will take into account your recommendation on the preference of local variables over global.

I attach an image of the corrected script


Attached Files Screenshot_20230512-151708.jpg
Last edited by MarcosAM; 05/12/23 19:18.

Moderated by  Petra 

Powered by UBB.threads™ PHP Forum Software 7.7.1