Birkaç saattir veritabanından veri okumaya çalışıyorum ve yapamıyorum.
İşte testler için EA kodu.
Kısaca. Bir tablo ile bir veritabanı oluşturulur (veritabanı varsa, tablo silinir ve yeniden oluşturulur). Tabloya tek bir satır eklenir.
Daha sonra veritabanı kapatılır ve tekrar açılır. Bu girişin basit bir seçimi yapılır, ancak komut, sorgu sonucunun boş olduğuna dair bir hata döndürür.
IDE aracılığıyla kontrol edildi - her şey aynı istek tarafından seçilir. Bunun bir hata mı yoksa bir özellik mi olduğunu anlayamıyorum?
intOnInit ()
{
//---int db_handle = DatabaseOpen ( "test3" , DATABASE_OPEN_COMMON | DATABASE_OPEN_CREATE | DATABASE_OPEN_READWRITE );
if (db_handle != INVALID_HANDLE )
{
// Структура таблицыif ( DatabaseTableExists (db_handle, "ea_dsc" ))
if (! DatabaseExecute (db_handle, "DROP TABLE IF EXISTS ea_dsc" ))
Print ( "Failed to drop table with code " , GetLastError ());
string t_create = "CREATE TABLE ea_dsc (dsc_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "" ea_symb TEXT NOT NULL, dt_from TEXT NOT NULL, dt_to TEXT, magic_buy INTEGER NOT NULL, "" magic_sell INTEGER NOT NULL, version TEXT NOT NULL, ea_method TEXT NOT NULL)" ;
if (! DatabaseExecute (db_handle, t_create))
Print ( "Failed to create table with code " , GetLastError ());
string t_add = "INSERT INTO ea_dsc (ea_symb, dt_from, dt_to, magic_buy, magic_sell, version, ea_method)""VALUES ('EURUSD', 'dt_from', NULL, '123', '456', 'version', 'ea_method')" ;
if (! DatabaseExecute (db_handle, t_add))
Print ( "Failed to add table data with code " , GetLastError ());
DatabaseClose (db_handle);
}
db_handle = DatabaseOpen ( "test3" , DATABASE_OPEN_COMMON | DATABASE_OPEN_READWRITE );
if (db_handle != INVALID_HANDLE )
{
// Запросstring s_quer = "SELECT dsc_id, ea_symb, dt_from, dt_to, magic_buy,""magic_sell, version, ea_method FROM ea_dsc WHERE ea_symb = ?1" ;
int c_request = DatabasePrepare (db_handle, s_quer);
if (c_request != INVALID_HANDLE )
{
if (DatabaseBind(c_request, 0 , "EURUSD" ))
if ( DatabaseRead (c_request))
{
Print ( "Found!" );
}
elsePrintFormat ( "Error=%d" , GetLastError ());
DatabaseFinalize (c_request);
}
DatabaseClose (db_handle);
}
//---return ( INIT_SUCCEEDED );
}
Piyasadan danışmanlar nasıl kurulur? Birden fazla terminalim var. Markette download'a tıklıyorum, varsayılan olarak yanlış terminal açılıyor. Sildim. Şimdi "indir" düğmesine tıkladıktan sonra hiçbir şey olmuyor
Vladimir Makhnin # : Piyasadan danışmanlar nasıl kurulur? Birden fazla terminalim var. Markette download'a tıklıyorum, varsayılan olarak yanlış terminal açılıyor. Sildim. Şimdi "indir" düğmesine tıkladıktan sonra hiçbir şey olmuyor
x572intraday # : Peki, girdi -parametreleri neden bir döngü içinde sıralanamıyor? Neden bizi böyle cezalandırıyorsun?
sorusuna katılıyorum.
Evet ve enum için de: EnumToString işlevi varsa, neden StringToEnum olmasın - inanılmaz derecede zor bir görev var mı?
Numaralandırma değerlerini veritabanında sayı olarak kaydetmek bir seçenek değildir, çünkü daha sonra ortadaki numaralandırmaya yeni bir değer eklerseniz, o kadar, veritabanındaki veriler balkabağına dönüşür ve formda okunamazlar. sayıların, gözlerinle göremezsin.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Birkaç saattir veritabanından veri okumaya çalışıyorum ve yapamıyorum.
İşte testler için EA kodu.
Kısaca. Bir tablo ile bir veritabanı oluşturulur (veritabanı varsa, tablo silinir ve yeniden oluşturulur). Tabloya tek bir satır eklenir.
Daha sonra veritabanı kapatılır ve tekrar açılır. Bu girişin basit bir seçimi yapılır, ancak komut, sorgu sonucunun boş olduğuna dair bir hata döndürür.
IDE aracılığıyla kontrol edildi - her şey aynı istek tarafından seçilir. Bunun bir hata mı yoksa bir özellik mi olduğunu anlayamıyorum?
İşin sonucu:
Ayrıca, tam kodu ekliyorum.
Peki, girdi -parametreleri neden bir döngü içinde sıralanamıyor? Neden bizi böyle cezalandırıyorsun?
Ve neden gerekli? Bir sır paylaş...
Markette download'a tıklıyorum, varsayılan olarak yanlış terminal açılıyor. Sildim. Şimdi "indir" düğmesine tıkladıktan sonra hiçbir şey olmuyor
Piyasadan danışmanlar nasıl kurulur? Birden fazla terminalim var.
Markette download'a tıklıyorum, varsayılan olarak yanlış terminal açılıyor. Sildim. Şimdi "indir" düğmesine tıkladıktan sonra hiçbir şey olmuyor
hangi tarayıcı ile indiriyorsun
Ve neden gerekli? Bir sır paylaş...
Evet, bir sonraki şubedeydi, uzağa gitmenize gerek yok:
Her şeyi bir döngü yerine elle LArray dizisine itmek bir köpeğin sevincidir. Ve bu sadece bir örnek. Aslında çok fazla transfer olabilir.
Enum ve ENUM_TIMEFRAMES numaralandırma olasılığının olmaması konusunda genellikle sessizim. Yorgun.Enum ve ENUM_TIMEFRAMES numaralandırma olasılığının olmaması konusunda genellikle sessizim.
Bir zamanlar ilgi uğruna benzer bir numaralandırma yapmaya çalıştım:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hizmet Masası aracılığıyla geliştiricilerle iletişim kurun!
Mihail Matkovskij , 2019.10.05 22:07
Herhangi bir sayıda sabitle sağa / sola kaydırmanız veya yinelemeniz gerekiyorsa çok yardımcı olacaktır. İşte aldıklarım:
1 ile ofset:
2 ile ofset:
Doğru, bu yöntem hala anahtarlı yönteme göre hız kaybediyor.
Peki, girdi -parametreleri neden bir döngü içinde sıralanamıyor? Neden bizi böyle cezalandırıyorsun?
sorusuna katılıyorum.
Evet ve enum için de: EnumToString işlevi varsa, neden StringToEnum olmasın - inanılmaz derecede zor bir görev var mı?
Numaralandırma değerlerini veritabanında sayı olarak kaydetmek bir seçenek değildir, çünkü daha sonra ortadaki numaralandırmaya yeni bir değer eklerseniz, o kadar, veritabanındaki veriler balkabağına dönüşür ve formda okunamazlar. sayıların, gözlerinle göremezsin.
Veritabanı sorgu parametresine açıkça bir NULL değeri iletmek mümkün müdür?
Bu yapı bir derleme hatasına neden olur:
res = DatabaseBind(request, column, NULL );DatabaseBind(request, column, "" );