Re: Coding Help

411
I meant to illustrate what I tried....

FileWrite(handle,TimeToString(Time),iHigh(NULL,PERIOD_D1,i+1),iLow(NULL,PERIOD_D1,i+1),iClose(NULL,PERIOD_D1,i+1),iOpen(NULL,PERIOD_D1,i));

When I use this or anything similar I do not get (say) the same Daily Open value in each new H1 bar for that day/date.


Re: Coding Help

412
Newton51 wrote: Mon Jul 03, 2017 10:39 pm I meant to illustrate what I tried....

FileWrite(handle,TimeToString(Time),iHigh(NULL,PERIOD_D1,i+1),iLow(NULL,PERIOD_D1,i+1),iClose(NULL,PERIOD_D1,i+1),iOpen(NULL,PERIOD_D1,i));

When I use this or anything similar I do not get (say) the same Daily Open value in each new H1 bar for that day/date.


Instead of using "i", use

iBarShift(NULL,PERIOD_D1,Time)

Re: Coding Help

414
I tried substituting the "i" with iBarShift(NULL, PERIOD_D1,Time) but Editor insisted on Time being an array [ ]. When I added the array, I entered "1". It compiled fine but all values over the 300 bars (several days) in the csv were identical in each respective column, except for the Date and Time (unchanged) which works correctly.

This is what compiled code was:

FileWrite(handle,TimeToString(Time),iHigh(NULL,PERIOD_D1,iBarShift(NULL, PERIOD_D1,Time[1])),iLow(NULL,PERIOD_D1,iBarShift(NULL, PERIOD_D1,Time[1])),iClose(NULL,PERIOD_D1,iBarShift(NULL, PERIOD_D1,Time[1])));

I don't understand why I erred? And I am sorry to come back asking for help.
Possible to edit the line so I can't go wrong?? TIA.

Re: Coding Help

415
Newton51 wrote: Tue Jul 04, 2017 11:20 am I tried substituting the "i" with iBarShift(NULL, PERIOD_D1,Time) but Editor insisted on Time being an array [ ]. When I added the array, I entered "1". It compiled fine but all values over the 300 bars (several days) in the csv were identical in each respective column, except for the Date and Time (unchanged) which works correctly.

This is what compiled code was:

FileWrite(handle,TimeToString(Time),iHigh(NULL,PERIOD_D1,iBarShift(NULL, PERIOD_D1,Time[1])),iLow(NULL,PERIOD_D1,iBarShift(NULL, PERIOD_D1,Time[1])),iClose(NULL,PERIOD_D1,iBarShift(NULL, PERIOD_D1,Time[1])));

I don't understand why I erred? And I am sorry to come back asking for help.
Possible to edit the line so I can't go wrong?? TIA.


My bad
The exact code should have been :

Code: Select all

iBarShift(NULL, PERIOD_D1,Time[i])


Re: Coding Help

416
Thanks very much mladen. I didn't use "i" because I thought that was what were avoiding. It compiles properly and seems to yield the data I am trying to get for my analysis. I have learned another new thing today. Thank you for taking the time to resolve.

Re: Coding Help

417
I feel awful asking where I am going wrong again.
I made up a screenshot showing the Code used and the csv file output, then marked up / documented in an xls.

The code I used as this:

Code: Select all

FileWrite(handle,TimeToString(Time[i]),Open[i],High[i],Low[i],Close[i],iOpen(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])),iHigh(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])),iLow(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])),iClose(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])));
The highlighted purple are not the same as the first bar for the new day (starting 00:00h) ad yet they are the same as desired.
The green, yellow, orange and red highlights show all else is correct. The problem is hours 0100 ~ 23:00h and only affects the BarShift related cells.
I have shown the full 24h period plus last and first bar of the previous and subsequent days. The symmetry is always the same i.e. I have not "cherry picked" an untypical day.

Have I erred or am I trying to do something intrinsically not do-able?

TIA for any critique and/or corrections.
Attachments

Re: Coding Help

418
Newton51 wrote: Sun Jul 09, 2017 2:02 pm I feel awful asking where I am going wrong again.
I made up a screenshot showing the Code used and the csv file output, then marked up / documented in an xls.

The code I used as this:

Code: Select all

FileWrite(handle,TimeToString(Time[i]),Open[i],High[i],Low[i],Close[i],iOpen(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])),iHigh(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])),iLow(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])),iClose(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time[i+1])));
The highlighted purple are not the same as the first bar for the new day (starting 00:00h) ad yet they are the same as desired.
The green, yellow, orange and red highlights show all else is correct. The problem is hours 0100 ~ 23:00h and only affects the BarShift related cells.
I have shown the full 24h period plus last and first bar of the previous and subsequent days. The symmetry is always the same i.e. I have not "cherry picked" an untypical day.

Have I erred or am I trying to do something intrinsically not do-able?

TIA for any critique and/or corrections.
This part :

Time[i+1] in the ,iBarShift(NULL,PERIOD_D1,Time[i+1]) will get a daily bar shift of previous bar, not a previous day bar

Re: Coding Help

419
I'm sure you're right but I added the "1" because when it was simply "i" the "previous day open" was actually this day's open.

Thanks for your help and support. It is appreciated. It looks like I am trying to achieve something that is too complex. I'll abandon the project now since only manual intervention/data manipulation will work and I was trying to avoid that,

Re: Coding Help

420
Newton51 wrote: Sun Jul 09, 2017 4:45 pm I'm sure you're right but I added the "1" because when it was simply "i" the "previous day open" was actually this day's open.

Thanks for your help and support. It is appreciated. It looks like I am trying to achieve something that is too complex. I'll abandon the project now since only manual intervention/data manipulation will work and I was trying to avoid that,
If you want previous day data then use something like this

iOpen(NULL,PERIOD_D1,iBarShift(NULL,PERIOD_D1,Time)+1)

(or iClose(), iHigh(), iLow() and the rest)


Who is online

Users browsing this forum: No registered users and 7 guests