Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 689 1...682683684685686687688689690691692693694695696...1503 Yeni yorum Andrey F. Zelinsky 2016.12.03 22:38 #6881 Roma Ivanov : buradan alınan formül - https://www.mql5.com/en/articles/1492 makalede referans olarak -- ^ işlemi üs alma işlemidir Artyom Trishkin 2016.12.03 22:40 #6882 Roma Ivanov : buradan alınan formül - https://www.mql5.com/en/articles/1492 Okuma. Ancak makaledeki (Excel) formül ve grafiklere bakılırsa - üs. yanılıyor olabilirim Mikhail Toptunov 2016.12.04 07:53 #6883 İyi zaman! İki boyutlu bir diziyi *.csv formatına nasıl çevireceğimi merak ettim, uygun bir örnek buldum ama mt4 için bu 5. için gerekli. //+------------------------------------------------------------------+ //| generateCsv.mq4 | //| Copyright © 2006, Antonio Banderass. All rights reserved | //| banderassa@ukr.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Antonio Banderass. All rights reserved" #property link "banderassa@ukr.net" #property library #define ARRAY_SIZE_X 16 #define ARRAY_SIZE_Y 16 //+------------------------------------------------------------------+ //| PrepareString | //+------------------------------------------------------------------+ string PrepareString( string s) { bool exit = false ; int index = 0 ; string str = s; //---- while (!exit) { index = StringFind (str, "." , index); if (index > - 1 ) str = StringSetCharacter (str, index, ',' ); else exit = true ; } return (str); } //+------------------------------------------------------------------+ //| GenerateCsv | //+------------------------------------------------------------------+ int GenerateCsv( string fileName, int arraySizeX, int arraySizeY, double arrayIndexX[] , double arrayIndexY[] , double arrayZ[][] ) // Ругается говорит - arrays are passed by reference only пробовал добавить &_array.. но запинается на двумерном { int handle = FileOpen (fileName, FILE_CSV | FILE_WRITE , ' ' ), x, y; string str; if (handle < 1 ) { Print ( "Error:" , GetLastError ()); return (handle); } else { str = ";" ; for (x = 0 ; x < arraySizeX; x++) { str = str + arrayIndexX[x]; str = str + ";" ; } FileWrite (handle, PrepareString(str)); for (y = 0 ; y < arraySizeY; y++) { str = "" ; str = str + arrayIndexY[y] + ";" ; for (x = 0 ; x < arraySizeX; x++) { str = str + arrayZ[x,y]; str = str + ";" ; } FileWrite (handle, PrepareString(str)); } } FileClose (handle); return (handle); } //+------------------------------------------------------------------+ https://www.mql5.com/en/articles/1443 Трёхмерные графики - профессиональный инструмент анализа рынка 2006.12.06 Antoniuk Oleg www.mql5.com В это статье мы напишем простую библиотеку для создания трехмерных графиков и последующего их проcмотра в Microsoft Excel. Мы воспользуемся стандартными возможностями языка MQL 4 для подготовки и экспорта данных в файл формата *.csv. Dosyalar: 3dGraphicOut.mq4 2 kb generateCsv.mq4 3 kb generateCsv.mqh 5 kb Questions from Beginners MQL5 Any rookie question, so Forumu kirletmemek için herhangi Artyom Trishkin 2016.12.04 09:14 #6884 Top2n : İyi zaman! İki boyutlu bir diziyi *.csv formatına nasıl çevireceğimi merak ettim, uygun bir örnek buldum ama mt4 için bu 5. için gerekli. https://www.mql5.com/en/articles/1443 Diziler yalnızca referans yoluyla iletilebilir: int GenerateCsv( string fileName, int arraySizeX, int arraySizeY, double & arrayIndexX[], double & arrayIndexY[], double & arrayZ[][]) Mikhail Toptunov 2016.12.04 10:07 #6885 Artyom Trishkin : Diziler yalnızca referans yoluyla iletilebilir: int GenerateCsv( string fileName, int arraySizeX, int arraySizeY, double & arrayIndexX[], double & arrayIndexY[], double & arrayZ[][]) Ve yine de yemin ediyor & arrayZ[][] diyor ki - '[' - geçersiz dizin değeri Artyom Trishkin 2016.12.04 10:11 #6886 Top2n : Ve yine de yemin ediyor & arrayZ[][] diyor ki - '[' - geçersiz dizin değeri arrayZ'nin kaç boyutu var? Mikhail Toptunov 2016.12.04 11:14 #6887 Artyom Trishkin : arrayZ'nin kaç boyutu var? Bildirildi & arrayZ[][3000], 16'ya eşitlersem, genellikle olay işleme işlevi bulunamadı #define ARRAY_SIZE_X 16 #define ARRAY_SIZE_Y 16 int start() { int x, y; double arrayIndexX[ARRAY_SIZE_X]; double arrayIndexY[ARRAY_SIZE_Y]; double arrayZ[ARRAY_SIZE_X,ARRAY_SIZE_Y]; //---- for (x = 0 ; x < ARRAY_SIZE_X; x++) arrayIndexX[x] = x / 10.0 ; //---- for (y = 0 ; y < ARRAY_SIZE_Y; y++) arrayIndexY[y] = y / 10.0 ; //---- for (x = 0 ; x < ARRAY_SIZE_X; x++) for (y = 0 ; y < ARRAY_SIZE_Y; y++) arrayZ[x,y] = MathSin (arrayIndexX[x] + arrayIndexY[y]); GenerateCsv( "test.csv" , ARRAY_SIZE_X, ARRAY_SIZE_Y, arrayIndexX, arrayIndexY, arrayZ ); // 'arrayZ' - parameter conversion not allowed //---- return ( 0 ); } //+------------------------------------------------------------------+ //| PrepareString | //+------------------------------------------------------------------+ string PrepareString( string s) { bool exit = false ; int index = 0 ; string str = s; //---- while (!exit) { index = StringFind (str, "." , index); if (index > - 1 ) str = StringSetCharacter (str, index, ',' ); else exit = true ; } return (str); } //+------------------------------------------------------------------+ //| GenerateCsv | //+------------------------------------------------------------------+ int GenerateCsv( string fileName, int arraySizeX, int arraySizeY, double &arrayIndexX[], double &arrayIndexY[], double &arrayZ[][3000]) { int handle = FileOpen (fileName, FILE_CSV | FILE_WRITE , ' ' ), x, y; string str; if (handle < 1 ) { Print ( "Error:" , GetLastError ()); return (handle); } else { str = ";" ; for (x = 0 ; x < arraySizeX; x++) { str = str + arrayIndexX[x]; str = str + ";" ; } FileWrite (handle, PrepareString(str)); for (y = 0 ; y < arraySizeY; y++) { str = "" ; str = str + arrayIndexY[y] + ";" ; for (x = 0 ; x < arraySizeX; x++) { str = str + arrayZ[x,y]; str = str + ";" ; } FileWrite (handle, PrepareString(str)); } } FileClose (handle); return (handle); } //+------------------------------------------------------------------+ Questions from Beginners MQL5 Any rookie question, so Forumu kirletmemek için herhangi Artyom Trishkin 2016.12.04 11:46 #6888 Top2n : Bildirilen & arrayZ[][3000] string PrepareString( string s); int GenerateCsv( string fileName, int arraySizeX, int arraySizeY, double &arrayIndexX[], double &arrayIndexY[], double &arrayZ[][3000]); int start() { int x, y; double arrayIndexX[ARRAY_SIZE_X]; double arrayIndexY[ARRAY_SIZE_Y]; double arrayZ[ARRAY_SIZE_X,ARRAY_SIZE_Y]; //---- for (x = 0 ; x < ARRAY_SIZE_X; x++) arrayIndexX[x] = x / 10.0 ; //---- for (y = 0 ; y < ARRAY_SIZE_Y; y++) arrayIndexY[y] = y / 10.0 ; //---- for (x = 0 ; x < ARRAY_SIZE_X; x++) for (y = 0 ; y < ARRAY_SIZE_Y; y++) arrayZ[x,y] = MathSin (arrayIndexX[x] + arrayIndexY[y]); GenerateCsv( "test.csv" , ARRAY_SIZE_X, ARRAY_SIZE_Y, arrayIndexX, arrayIndexY, arrayZ ); // 'arrayZ' - parameter conversion not allowed //---- return ( 0 ); } Onu zaten aldın. Orada her şey nasıl yapılıyor? Göremiyorum cepten yazıyorum. Subscribers 2016.12.04 11:57 #6889 CAppDialog sınıfı kullanılarak oluşturulan bir panelin rengini nasıl değiştirebilirim? if (!CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2)) return ( false ); Mikhail Toptunov 2016.12.04 12:23 #6890 Artyom Trishkin : Onu zaten aldın. Orada her şey nasıl yapılıyor? Göremiyorum cepten yazıyorum. rahatsız ettiğim için özür dilerim //+------------------------------------------------------------------+ //| start | //+------------------------------------------------------------------+ int start() {а надо //+------------------------------------------------------------------+ //| start | //+------------------------------------------------------------------+ int OnStart { Ancak dosya, istenen verilerle değil, sonuç - bir sütun dolu 17 satır boolean true StringSetChar dizesine sahip bir satır var - başlangıçta lanetli, bool olarak değiştirildi StringSetCharacter - bu nedenle bir boole verir //+------------------------------------------------------------------+ //| PrepareString | //+------------------------------------------------------------------+ string PrepareString( string s) { bool exit = false ; int index = 0 ; string str = s; //---- while (!exit) { index = StringFind (str, "." , index); if (index > - 1 ) str = StringSetChar (str, index, ',' ); else exit = true ; } return (str); } Dosyalar: generateCsv.mqh 5 kb VCSV.mq5 3 kb Questions from Beginners MQL5 Forumu kirletmemek için herhangi [Arşivle!] Forumu kirletmemek için 1...682683684685686687688689690691692693694695696...1503 Yeni yorum
buradan alınan formül - https://www.mql5.com/en/articles/1492
buradan alınan formül - https://www.mql5.com/en/articles/1492
Okuma. Ancak makaledeki (Excel) formül ve grafiklere bakılırsa - üs.
yanılıyor olabilirim
İyi zaman! İki boyutlu bir diziyi *.csv formatına nasıl çevireceğimi merak ettim, uygun bir örnek buldum ama mt4 için bu 5. için gerekli.
//| generateCsv.mq4 |
//| Copyright © 2006, Antonio Banderass. All rights reserved |
//| banderassa@ukr.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Antonio Banderass. All rights reserved"
#property link "banderassa@ukr.net"
#property library
#define ARRAY_SIZE_X 16
#define ARRAY_SIZE_Y 16
//+------------------------------------------------------------------+
//| PrepareString |
//+------------------------------------------------------------------+
string PrepareString( string s)
{
bool exit = false ;
int index = 0 ;
string str = s;
//----
while (!exit)
{
index = StringFind (str, "." , index);
if (index > - 1 )
str = StringSetCharacter (str, index, ',' );
else
exit = true ;
}
return (str);
}
//+------------------------------------------------------------------+
//| GenerateCsv |
//+------------------------------------------------------------------+
int GenerateCsv( string fileName, int arraySizeX, int arraySizeY,
double arrayIndexX[] , double arrayIndexY[] , double arrayZ[][] ) // Ругается говорит - arrays are passed by reference only пробовал добавить &_array.. но запинается на двумерном
{
int handle = FileOpen (fileName, FILE_CSV | FILE_WRITE , ' ' ), x, y;
string str;
if (handle < 1 )
{
Print ( "Error:" , GetLastError ());
return (handle);
}
else
{
str = ";" ;
for (x = 0 ; x < arraySizeX; x++)
{
str = str + arrayIndexX[x];
str = str + ";" ;
}
FileWrite (handle, PrepareString(str));
for (y = 0 ; y < arraySizeY; y++)
{
str = "" ;
str = str + arrayIndexY[y] + ";" ;
for (x = 0 ; x < arraySizeX; x++)
{
str = str + arrayZ[x,y];
str = str + ";" ;
}
FileWrite (handle, PrepareString(str));
}
}
FileClose (handle);
return (handle);
}
//+------------------------------------------------------------------+
https://www.mql5.com/en/articles/1443
İyi zaman! İki boyutlu bir diziyi *.csv formatına nasıl çevireceğimi merak ettim, uygun bir örnek buldum ama mt4 için bu 5. için gerekli.
https://www.mql5.com/en/articles/1443
Diziler yalnızca referans yoluyla iletilebilir:
double & arrayIndexX[], double & arrayIndexY[], double & arrayZ[][])
Diziler yalnızca referans yoluyla iletilebilir:
double & arrayIndexX[], double & arrayIndexY[], double & arrayZ[][])
Ve yine de yemin ediyor & arrayZ[][] diyor ki - '[' - geçersiz dizin değeri
arrayZ'nin kaç boyutu var?
Bildirildi & arrayZ[][3000], 16'ya eşitlersem, genellikle olay işleme işlevi bulunamadı
#define ARRAY_SIZE_Y 16
int start()
{
int x, y;
double arrayIndexX[ARRAY_SIZE_X];
double arrayIndexY[ARRAY_SIZE_Y];
double arrayZ[ARRAY_SIZE_X,ARRAY_SIZE_Y];
//----
for (x = 0 ; x < ARRAY_SIZE_X; x++)
arrayIndexX[x] = x / 10.0 ;
//----
for (y = 0 ; y < ARRAY_SIZE_Y; y++)
arrayIndexY[y] = y / 10.0 ;
//----
for (x = 0 ; x < ARRAY_SIZE_X; x++)
for (y = 0 ; y < ARRAY_SIZE_Y; y++)
arrayZ[x,y] = MathSin (arrayIndexX[x] + arrayIndexY[y]);
GenerateCsv( "test.csv" , ARRAY_SIZE_X, ARRAY_SIZE_Y, arrayIndexX, arrayIndexY, arrayZ ); // 'arrayZ' - parameter conversion not allowed
//----
return ( 0 );
}
//| PrepareString |
//+------------------------------------------------------------------+
string PrepareString( string s)
{
bool exit = false ;
int index = 0 ;
string str = s;
//----
while (!exit)
{
index = StringFind (str, "." , index);
if (index > - 1 )
str = StringSetCharacter (str, index, ',' );
else
exit = true ;
}
return (str);
}
//+------------------------------------------------------------------+
//| GenerateCsv |
//+------------------------------------------------------------------+
int GenerateCsv( string fileName, int arraySizeX, int arraySizeY,
double &arrayIndexX[], double &arrayIndexY[], double &arrayZ[][3000])
{
int handle = FileOpen (fileName, FILE_CSV | FILE_WRITE , ' ' ), x, y;
string str;
if (handle < 1 )
{
Print ( "Error:" , GetLastError ());
return (handle);
}
else
{
str = ";" ;
for (x = 0 ; x < arraySizeX; x++)
{
str = str + arrayIndexX[x];
str = str + ";" ;
}
FileWrite (handle, PrepareString(str));
for (y = 0 ; y < arraySizeY; y++)
{
str = "" ;
str = str + arrayIndexY[y] + ";" ;
for (x = 0 ; x < arraySizeX; x++)
{
str = str + arrayZ[x,y];
str = str + ";" ;
}
FileWrite (handle, PrepareString(str));
}
}
FileClose (handle);
return (handle);
}
//+------------------------------------------------------------------+
Bildirilen & arrayZ[][3000]
string PrepareString( string s);
int GenerateCsv( string fileName, int arraySizeX, int arraySizeY,
double &arrayIndexX[], double &arrayIndexY[],
double &arrayZ[][3000]);
int start()
{
int x, y;
double arrayIndexX[ARRAY_SIZE_X];
double arrayIndexY[ARRAY_SIZE_Y];
double arrayZ[ARRAY_SIZE_X,ARRAY_SIZE_Y];
//----
for (x = 0 ; x < ARRAY_SIZE_X; x++)
arrayIndexX[x] = x / 10.0 ;
//----
for (y = 0 ; y < ARRAY_SIZE_Y; y++)
arrayIndexY[y] = y / 10.0 ;
//----
for (x = 0 ; x < ARRAY_SIZE_X; x++)
for (y = 0 ; y < ARRAY_SIZE_Y; y++)
arrayZ[x,y] = MathSin (arrayIndexX[x] + arrayIndexY[y]);
GenerateCsv( "test.csv" , ARRAY_SIZE_X, ARRAY_SIZE_Y, arrayIndexX, arrayIndexY, arrayZ ); // 'arrayZ' - parameter conversion not allowed
//----
return ( 0 );
}
CAppDialog sınıfı kullanılarak oluşturulan bir panelin rengini nasıl değiştirebilirim?
return ( false );
Onu zaten aldın. Orada her şey nasıl yapılıyor? Göremiyorum cepten yazıyorum.
rahatsız ettiğim için özür dilerim
//+------------------------------------------------------------------+
//| start |
//+------------------------------------------------------------------+
int start()
{
а надо
//+------------------------------------------------------------------+//| start |
//+------------------------------------------------------------------+
int OnStart
{
Ancak dosya, istenen verilerle değil,
sonuç - bir sütun dolu 17 satır boolean true
StringSetChar dizesine sahip bir satır var - başlangıçta lanetli,
bool olarak değiştirildi StringSetCharacter - bu nedenle bir boole verir
//| PrepareString |
//+------------------------------------------------------------------+
string PrepareString( string s)
{
bool exit = false ;
int index = 0 ;
string str = s;
//----
while (!exit)
{
index = StringFind (str, "." , index);
if (index > - 1 )
str = StringSetChar (str, index, ',' );
else
exit = true ;
}
return (str);
}