1. Taban kolu alınmamışsa, tabanın kapatılmasına gerek yoktur.
2. INVALID_HANDLE alınırsa, programın yürütülmesine neden devam edilsin? Bence bu durumda kesmek, geri dönmek daha iyidir
Şu anda var olmayan bir veritabanını tekrar tekrar açıp kapatmaya çalışıyorum ve hata çıktısını alamıyorum. Sanırım bu çıktı açılamayan tabana sorgu oluşturma anında geliyor.
Veritabanındaki kaydı her saniye güncelleyecek minimal bir test Uzman Danışmanı yapacağım. Hadi 10 çift üzerinde çalıştıralım ve her şey netleşecek. Burada yayınlayacağım ...
Evgeny Dyuka #: Veritabanındaki kaydı her saniye güncelleyecek minimal bir test Uzman Danışmanı yapacağım. 10 çift üzerinde çalıştırın ve her şey netleşecek. Buraya göndereceğim.
İşte bir uzman. Bir taban oluşturur (zaten mevcut değilse) ve geçerli saati saniyede bir kez içine yazar. Kod içinde Print() yok. 10 çift üzerinde çalıştırdım ve hata aldım:
CS 211:44:36.561 Test_DB (EURUSD,M10) database error, database is locked
CS 211:55:27.018 Test_DB (BTCUSD,M10) database error, database is locked
CS 211:55:28.026 Test_DB (BTCUSD,M10) database error, database is locked
CS 211:55:49.177 Test_DB (TRXUSD,M10) database error, database is locked
CS 211:55:51.183 Test_DB (EURUSD,M10) database error, database is locked
CS 211:55:53.182 Test_DB (TRXUSD,M10) database error, database is locked
Bir hata almak için MT5'i kapatıp yeniden başlatmanız gerekir, ardından tüm EA'lar senkronize olarak çalışmaya başlar.
İyi olurdu: 1. Bu hatadan nasıl kurtulacağınızı anlamak için. 2. Tabanın kullanılamaması durumunda sıraya girecek bir şablon mekanizması icat etmek.
2. noktayı rastgele zamanla Sleep() ekleyerek çözdüm, ancak koltuk değneği gibi görünüyor.
GÜNCELLEME: Dosyayı yeniden yükledim, ilkinde bir hata vardı.
İşte bir uzman. Bir taban oluşturur (zaten mevcut değilse) ve geçerli saati saniyede bir kez içine yazar. Kod içinde Print() yok. 10 çift üzerinde çalıştırdım, hatalar oluştu:
Bir hata almak için MT5'i kapatıp yeniden başlatmalısınız, ardından tüm Uzman Danışmanlar eşzamanlı olarak çalışmaya başlar.
İyi olurdu: 1. Bu hatadan nasıl kurtulacağımızı anlamak için. 2. Tabanın mevcut olmaması durumunda sıraya girecek bir şablon mekanizması icat etmek.
2. maddeyi rastgele zaman ile Sleep() ekleyerek çözdüm, ancak koltuk değneği gibi görünüyor.
GÜNCELLEME: Dosyayı yeniden yükledim, ilkinde bir hata vardı.
Ne yazık ki, bilgim yeterli değil. Sadece bir hatanın basıldığını fark edecek kadar
DatabaseExecute(db, sql);
Bir sorgu oluşturmadan önce kullanılabilirliği kontrol etme imkanı yoktur.
Veritabanı açılıyor, ancak sorgu oluşturmak mümkün değil.
Sunucuda açık emir yok, durdurma ve alma yok, algo modları etkinleştirildi ve kurulum komutu geçiyor, ancak günlükler sessiz CTrade sınıfı. Test cihazında gerçek ticaret sessizliği üzerinde çalışır. Ne kontrol edilmeli?
1. Taban kolu alınmamışsa, tabanın kapatılmasına gerek yoktur.
2. INVALID_HANDLE alınırsa, programın yürütülmesine neden devam edilsin? Bence bu durumda kesmek, geri dönmek daha iyidir
Şu anda var olmayan bir veritabanını tekrar tekrar açıp kapatmaya çalışıyorum ve hata çıktısını alamıyorum. Sanırım bu çıktı açılamayan tabana sorgu oluşturma anında geliyor.
Veritabanındaki kaydı her saniye güncelleyecek minimal bir test Uzman Danışmanı yapacağım. 10 çift üzerinde çalıştırın ve her şey netleşecek. Buraya göndereceğim.
İlginç. Bekliyor olacağım ...
İlginç. Bekliyor olacağım.
İşte bir uzman. Bir taban oluşturur (zaten mevcut değilse) ve geçerli saati saniyede bir kez içine yazar.
Kod içinde Print() yok.
10 çift üzerinde çalıştırdım ve hata aldım:
Bir hata almak için MT5'i kapatıp yeniden başlatmanız gerekir, ardından tüm EA'lar senkronize olarak çalışmaya başlar.
İyi olurdu:
1. Bu hatadan nasıl kurtulacağınızı anlamak için.
2. Tabanın kullanılamaması durumunda sıraya girecek bir şablon mekanizması icat etmek.
2. noktayı rastgele zamanla Sleep() ekleyerek çözdüm, ancak koltuk değneği gibi görünüyor.
GÜNCELLEME: Dosyayı yeniden yükledim, ilkinde bir hata vardı.
İşte bir uzman. Bir taban oluşturur (zaten mevcut değilse) ve geçerli saati saniyede bir kez içine yazar.
Kod içinde Print() yok.
10 çift üzerinde çalıştırdım, hatalar oluştu:
Bir hata almak için MT5'i kapatıp yeniden başlatmalısınız, ardından tüm Uzman Danışmanlar eşzamanlı olarak çalışmaya başlar.
İyi olurdu:
1. Bu hatadan nasıl kurtulacağımızı anlamak için.
2. Tabanın mevcut olmaması durumunda sıraya girecek bir şablon mekanizması icat etmek.
2. maddeyi rastgele zaman ile Sleep() ekleyerek çözdüm, ancak koltuk değneği gibi görünüyor.
GÜNCELLEME: Dosyayı yeniden yükledim, ilkinde bir hata vardı.
Ne yazık ki, bilgim yeterli değil. Sadece bir hatanın basıldığını fark edecek kadar
DatabaseExecute(db, sql);Bir sorgu oluşturmadan önce kullanılabilirliği kontrol etme imkanı yoktur.
Veritabanı açılıyor, ancak sorgu oluşturmak mümkün değil.
terminal günlüğü
terminal günlüğü
Günlükleri açtığımı tahmin ediyorum, lotu hesaplayamıyorum. Neden gerçek hesaplama yapmak istemediğini anlamıyorum?
Günlükleri açtığımı tahmin ediyorum, lotu hesaplayamıyor. Neden gerçek hesaplama yapmak istemediğini anlamıyorum?
Kayıt yok, bu yüzden birçok kez daha fazla tahmin olabilir.
Bir seçenek olarak, haç ticareti yaparken, piyasaya genel bakışta depozito para birimi ile çift seçilmezse, ticaret yapmayacaktır.
Örneğin, EURJPY ticareti yapıyoruz, para birimi USD yatırıyoruz, piyasaya genel bakışta EURUSD ve USDJPY mevcut olmalıdır.
Kayıt yok, bu yüzden çok daha fazla tahmin olabilir.
Bir seçenek olarak, haç ticareti yaparken, para yatırma para birimine sahip çift piyasaya genel bakışta seçilmezse, işlem yapmayacaktır.
Örneğin, EURJPY ticareti yapıyoruz, para birimi USD yatırıyoruz, piyasaya genel bakışta EURUSD ve USDJPY mevcut olmalıdır.
USD pro cent cinsinden hesap, XAUUSD ticareti
Herkese merhaba. MQL5'te tamponları kullanarak ilk çubuğa bir ok çizemiyorum.
MQL4'te aşağıdakileri yapıyorum:
Global bir değişken beyan edin double XX[];
init içine yaz:
SetIndexBuffer(0,XX);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,108);
Oncalculate'de şunu yazıyorum:
XX[1]=High[1]; Mum çubuğu 1'in üzerine çizilmiş bir ok alıyorum. ve hepsi bu
Aynı şeyi MQL5'te de yapıyorum:
Global bir değişken beyan edin double XX[];
init içinde yaz:
SetIndexBuffer(0,XX,INDICATOR_DATA);
PlotIndexSetInteger(0,PLOT_ARROW,108);
Oncalculate'de şunu yazıyorum:
XX[1]=high[1]; - çizmiyor
XX[1]=iHigh(Symbol(),PERIOD_CURRENT,1); - ayrıca çizmez.
Tabii ki, başlıkta bile belirtilmiştir:
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_ARROW
#property indicator_color1 clrGreen
#property indicator_width1 1
Neyi yanlış yapıyorum, lütfen bana söyleyin !!!!