Hello, sorry but this functionality is not implemented yet.
If you are a programmer, you can try something like that:
' export_indicator_data code block (just the idea)
' you should declare the sub and add this code to a sub ; then call it with a qbutton onclick or in a qmenuitem
' this sub should export separate indicator canvas buffers
' in QChartist.bas at line 287 you should add : DIM Grid_sep_indi AS QSTRINGGRID
' at line 3162 ( before canvas.separateindicator1.Cell(j , i+1)="" ) you should add : Grid_sep_indi.cell(j,i+1)=canvas.separateindicator1.Cell(j , i+1)
' at line 3163 ( before canvas.separateindicator1.Cell(j , i+1)="" ) you should add : Grid_sep_indi.cell(j,i+2)=canvas.separateindicator1.Cell(j , i+2)
' at line 9513 add :
MenuItem(menui).Caption = "Export indicator CSV"
MenuItem(menui).OnClick = export_indicator_data
FileMenu.AddItems(MenuItem(menui))
menui ++
declare sub export_indicator_data
sub export_indicator_data
defint i,j,csvi
DIM datecsv AS STRING
DIM timecsv AS STRING
DIM opencsv AS STRING
DIM highcsv AS STRING
DIM lowcsv AS STRING
DIM closecsv AS STRING
DIM volumecsv AS STRING
DIM csvFile AS QFILESTREAM
dim savedialogfilename as string
' j=2 Export first indicator's buffer
FOR j = 2 TO drawidseparatecanvas STEP 2 ' next indicator's buffer is j + 2
if Grid_sep_indi.Cell(j , 2)<>"" then
?? ?savedialogfilename=homepath+"\csv\exported_indicator"+str$(j/2)+".csv"
?? ?csvFile.open(savedialogfilename , 65535) '65535 = fmCreate
?? ?csvi=1
?? ???? FOR i = 0 TO barsdisplayed2-2 + val(generalsettingsfuturebarsedit.text)??????????????
?? ???????? datecsv = Grid.Cell(rowgridoffset + 1 , chartbars(displayedfile)-barsdisplayed2+2 - val(generalsettingsfuturebarsedit.text)+i)
?? ???????? timecsv = Grid.Cell(rowgridoffset + 2 , chartbars(displayedfile)-barsdisplayed2+2 - val(generalsettingsfuturebarsedit.text)+i)???????
?? ???????? opencsv = Grid_sep_indi.Cell(j , i + 2)
?? ???????? highcsv = Grid_sep_indi.Cell(j , i + 2)
?? ???????? lowcsv = Grid_sep_indi.Cell(j , i + 2)
?? ???????? closecsv = Grid_sep_indi.Cell(j , i + 2)
?? ???????? volumecsv = "1"
?? ???????? IF axistypecomboitemindex = 1 THEN
?? ???????????? IF VAL(canvas.separateindicator1.Cell(j , i+2)) > 0 THEN
?? ???????????????? opencsv = log10(VAL(Grid_sep_indi.Cell(j , i+2)))
?? ???????????????? highcsv = log10(VAL(Grid_sep_indi.Cell(j , i+2)))
?? ???????????????? lowcsv = log10(VAL(Grid_sep_indi.Cell(j , i+2)))
?? ???????????????? closecsv = log10(VAL(Grid_sep_indi.Cell(j , i+2)))
?? ???????????? END IF
?? ???????? END IF
?? ???????? csvFile.WriteLine(datecsv + "," + timecsv + "," + opencsv + "," + highcsv + "," + lowcsv + "," + closecsv + "," + volumecsv)
?? ???????? csvi++
?? ???? NEXT i
?? ?csvFile.close
end if
?? ?
NEXT j
showmessage "Done"
end sub
I will add the functionality in the next build, i just need to find more time to implement it.
It probably do not work yet and needs to be debugged to work.
Hope this helps