Tablica
@lekarz2
Więc tak poniżej algorytm na twoją prośbę , osobiście nie wiem gdzie może zostać zastosowana taka koncepcja
.
Aby zadziało poprawnie musisz utworzyc pliki test2.txt(plik z danymi ), oraz test.txt(plik gdzie zostaną wyeksportowane dane w celu sprawdzenia poprawności zawartości Tabeli) w odpowiedniej lokacji, do pliku test2.txt wkleić
Lub cos innego ale z odpowiednią proporcją ilości znaków do separatora (ważne jest to przy importowaniu)
Mam nadzieje że załapiesz sposób .
Więc tak poniżej algorytm na twoją prośbę , osobiście nie wiem gdzie może zostać zastosowana taka koncepcja

Aby zadziało poprawnie musisz utworzyc pliki test2.txt(plik z danymi ), oraz test.txt(plik gdzie zostaną wyeksportowane dane w celu sprawdzenia poprawności zawartości Tabeli) w odpowiedniej lokacji, do pliku test2.txt wkleić
Kod: Zaznacz cały
kup;eurusd;1.2800;1.2860;1.8976
Mam nadzieje że załapiesz sposób .

Kod: Zaznacz cały
#property copyright ""
#property link ""
#property indicator_chart_window
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
string tab[10];
int plik2=FileOpen("test2.txt",FILE_READ|FILE_BIN);
int i=0;
tab[i] = FileReadString(plik2,3);
FileSeek(plik2,1,SEEK_CUR);
tab[i+1] = FileReadString(plik2,6);
FileSeek(plik2,1,SEEK_CUR);
tab[i+2] = FileReadString(plik2,6);
FileSeek(plik2,1,SEEK_CUR);
tab[i+3] = FileReadString(plik2,6);
FileSeek(plik2,1,SEEK_CUR);
tab[i+4] = FileReadString(plik2,6);
FileClose(plik2);
int plik3=FileOpen("test.txt",FILE_WRITE|FILE_BIN);
for(int ii=0;ii<=10;ii++)
{
FileWrite(plik3,"tab["+ii+"]: "+tab[ii]);
}
FileClose(plik3);
return(0);
}
@tmkk90
Dla sprawdzenia Esport do pliku . files/test.txt
Dla sprawdzenia Esport do pliku . files/test.txt
Kod: Zaznacz cały
#property copyright "Paweł Bobryk"
#property link ""
double tab[10];
int zakres=80;
#property indicator_chart_window
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
if(ArrayResize(tab,zakres))
{
for(int i=0;i<=zakres;i++)
{
tab[i]=Close[i];
}
}
int plik=FileOpen("test.txt",FILE_WRITE);
for(int ii=0;ii<=zakres;ii++)
{
FileWrite(plik,"tab["+ii+"]: "+tab[ii]);
}
FileWrite(plik,"max: "+tab[ArrayMaximum(tab,WHOLE_ARRAY,0)]);
FileWrite(plik,"min: "+tab[ArrayMinimum(tab,WHOLE_ARRAY,0)]);
FileClose(plik);
}
@tmkk90
NIc otwórz folderi tam w pliku test.txt znajduje się
Zawartości tabeli do której chciałeś aby zapisać ceny zamknięcia oraz na samym dole max, min.
Jeżeli nie chcesz eksportu do pliku usuń .
A np żeby znaleźć największą wartości używamy ArrayMaximum
W praktyce
NIc otwórz folder
Kod: Zaznacz cały
../MT/experts/files
Zawartości tabeli do której chciałeś aby zapisać ceny zamknięcia oraz na samym dole max, min.
Jeżeli nie chcesz eksportu do pliku usuń .
Kod: Zaznacz cały
int plik=FileOpen("test.txt",FILE_WRITE);
for(int ii=0;ii<=zakres;ii++)
{
FileWrite(plik,"tab["+ii+"]: "+tab[ii]);
}
FileWrite(plik,"max: "+tab[ArrayMaximum(tab,WHOLE_ARRAY,0)]);
FileWrite(plik,"min: "+tab[ArrayMinimum(tab,WHOLE_ARRAY,0)]);
FileClose(plik);
W praktyce
Kod: Zaznacz cały
double max=tab[ArrayMaximum(tab,WHOLE_ARRAY,0)];
Teraz moj kod wyglada tak:
zaden blad nie wyskakuje, ale jak chce zmienic zakres, to tak jakby wogole nie reagowal
Kod: Zaznacz cały
int init()
{
if(ArrayResize(tab,zakres) && ArrayResize(tab1,zakres))
{
for(int i=0;i<=zakres;i++)
{
tab[i]=High[i];
tab1[i]=Low[i];
}
}
double max=tab[ArrayMaximum(tab,WHOLE_ARRAY,0)];
double min=tab1[ArrayMinimum(tab1,WHOLE_ARRAY,0)];
}
Re: Tablica
Wracajac do poczatkowego pytania:
odpowiedz jest prost i juz sie na pewno sam domysliles -
zadekalrowales (co wynika z twojego nastepnego postu) wielkosc tablicy
a potem usilowales sie odwolac do trzeciego elementu tej tablicy...
bo 2 elementowa tablica to tab[0] i tab[1]
fxBobi pisze:Jak możecie mi podpowiedzieć po wypadło mi z głowy.
W jaki sposób przypisywać pewna wartość do danego idexu tablicy .
Ale ciągle pojawia mi sie "0" zamiast 10.Kod: Zaznacz cały
tab[2]=10; int xf=tab[2]; Comment(xf);
odpowiedz jest prost i juz sie na pewno sam domysliles -
zadekalrowales (co wynika z twojego nastepnego postu) wielkosc tablicy
Kod: Zaznacz cały
int tab[2];
Kod: Zaznacz cały
tab[2]=10;
int xf=tab[2];