Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 248

 
Oh, sen ve kahraman Junko, sessizce kodu düzelttiniz ve ... sanki öyleymiş gibi. Sonuçta, yine de böyle olduğunu iddia edeceksiniz, ama ben bir nevi kovalıyor muyum? Evet?
 
Roger :
Neden bir dosyadan okuyorsun? ReadCBOE değişkeninde tüm dosyaya sahipsiniz, işkence yapın,

Bununla ilgili herhangi bir sorun yok, AMA tüm satır bir değişkene yerleştirilmedi! MT'nin satırın uzunluğu konusunda kendi sınırı vardır, siteden infa dosyaya yazılır ve dosya bu şekilde </body></html> biter, satır 65k karaktere ulaştığında (ya da öylesine) satır kopar ). Her durumda, son dosya boyutu 69KB'dir.

 
Integer :

Makaleyi okuyun. Prensip olarak, bir dosyanın belirli bir satırını okumanın bir yolu yoktur, belirli bir satıra kadar olan tüm satırları okumanız gerekir ... makalede ayrıca bu fonksiyon vardır - satır satır okumak için bir metin dosyası.

Vay canına, teşekkürler, kendi başıma bulamadım, HTML etiketine göre arama yapmak zorunda kaldım.
 
Zhunko :

İşte böyle çalışır. Kontrol.


Genel olarak, bir hata var ve işte burada
if (FileWriteString(hFile, sTextWrite, 10000) < 0)
satırın boyutundan sorumlu olan işlevin 3. parametresinden bağımsız olarak TÜM satırı dosyaya yazar .
 
Integer :
Oh, sen ve kahraman Junko, sessizce kodu düzelttiniz ve ... sanki öyleymiş gibi. Sonuçta, yine de öyle olduğunu iddia edeceksiniz, ama ben araba kullanmaktan hoşlanıyor muyum? Evet?

Neyi düzelttin? NULL olup olmadığını kontrol edin? Bu iyi. Sevilmeyecek ne var? Bir hata bulursam düzeltirim.

Düzeltmiyorsun. Gördüm. Direkt gösterdiğinde bile düzeltmedi. Hata yapmaktan ve onları düzeltmemekten hoşlanır mısınız? O zaman bununla övünmek mi?

=============

Affedildim. Neredeyse hiç MQL4'te yazmam. Yazmanız gereken her şey. Tanımlayıcılar ve hatalarla çalışmıyorum. Uzun zamandır yazılmış, kapsüllenmiş ve unutulmuşlardır.

C++'da tanıtıcılar NULL ile karşılaştırılır.

mzk_3om6u :

Genel olarak, bir hata var ve işte burada
if (FileWriteString(hFile, sTextWrite, 10000) < 0)
satırın boyutundan sorumlu olan fonksiyonun 3. parametresinden bağımsız olarak TÜM satırı dosyaya yazar.
Değil. İşler. Sadece bu kod , . Daha önce yazılmış bir dosyaya bakıyorsunuz. Çalışmıyor gibi görünüyor. Hatta gerektiğinde girildi ve hattın devamı aynı kaldı.

Başka bir şey yazın veya dosyayı silin veya yalnızca kayıt için bayrağı ayarlayın.

 
Zhunko :

Neyi düzelttin? NULL olup olmadığını kontrol edin? Bu iyi. Sevilmeyecek ne var? Bir hata bulursam düzeltirim.

Düzeltmiyorsun. Gördüm. Direkt gösterdiğinde bile düzeltmedi. Hata yapmaktan ve onları düzeltmemekten hoşlanır mısınız? O zaman bununla övünmek mi?

=============

Affedildim. Neredeyse hiç MQL4'te yazmam. Yazmanız gereken her şey. Tanımlayıcılar ve hatalarla çalışmıyorum. Uzun zamandır yazılmış, kapsüllenmiş ve unutulmuşlardır.

C++'da tanıtıcılar NULL ile karşılaştırılır.

Değil. İşler. Sadece bu kod dosyanın üzerine yazmıyor. Daha önce yazılmış bir dosyaya bakıyorsunuz. Çalışmıyor gibi görünüyor. Hatta gerektiğinde girildi ve hattın devamı aynı kaldı.

Başka bir şey yazın veya dosyayı silin veya yalnızca kayıt için bayrağı ayarlayın.


Aha, kazandım... Teşekkürler.
 
Merhaba! MetaTrader Windows Phone veya Windows RT için çıkacak mı? Ve ne zaman yayınlanması planlanıyor, yayınlanacak mı?
 
İyi zaman. Hatayla başa çıkmak için yardım edin.
extern int OpenHH = 14; // Время открытия ордеров (часы).
extern int OpenMM = 25; // Время открытия ордеров (минуты).

extern int CloseHH = 23; // Время закрытие/удаление ордеров (часы).
extern int CloseMM = 45; // Время закрытие/удаление ордеров (минуты).


Kodun bu kısmı çalışıyor ve bununla ilgili herhangi bir şikayet yok. Cuma günü saat 23:45'te verilen siparişler normal şekilde kapanır. DeleteOrders() işlevi iyi çalışıyor.

if (DayOfWeek() == 0 || DayOfWeek() == 6 ) return(0); // В выходные не работаем.
if (!IsTradeAllowed()) return(0); // Пропустить тик, если терминал занят.
if (Close_All_Orders) // Разрешение на закрытие ордеров.
if (DayOfWeek() >= 5 && // Если пятница и закрытие ордеров разрешено, то
TimeHour(TimeCurrent()) >= CloseHH && // в назначенный час
TimeMinute(TimeCurrent()) >= CloseMM ) // в назначенные минуты -
{ DeleteOrders(); return(0); } // все ордера закрываются.


Benzetme yoluyla, açılış emirleri için kod derlenmiştir. Belirtilen biçimde, kod hiç çalışmıyor.
Ancak, satırı kaldırırsanız veya dakikalarla yorum yaparsanız, her şey yolunda gider, siparişler 14:00'te açılır. OpenOrders() işlevi iyi çalışıyor.
Bu (veya başka bir) kod satırındaki sorun ne olabilir: TimeMinute( TimeCurrent() ) >= OpenMM ?

if (Trade) // Разрешение на торговлю.
if (TimeHour(TimeCurrent()) >= OpenHH && // В назначенный час,
TimeMinute(TimeCurrent()) >= OpenMM ) // в назначенные минуты -
{ OpenOrders(); return(0); } // открыть ордера.


Not: Prensip olarak, İnternette siparişleri zamanında açan ve kapatan oldukça fazla Uzman Danışman var. Ancak, bir nedenden dolayı uygun olmayabilirler. Bu hatayı düzeltmek istiyorum...

Teşekkürler...

 
Crosswert :
İyi zaman. Hatayla başa çıkmak için yardım edin.


Her şey doğru görünüyor, çalışması gerekiyor. Kodunuzu evde denedim - dakikalar içinde çalışıyor. Ancak yalnızca 14:25 ila 14:59, 15:25 ila 15:59 vb.

 int start()
  {
   int OpenHH= 14 ,OpenMM= 25 ;
   bool Trade= true ;
//----
if (Trade) // Разрешение на торговлю.
 if (TimeHour( TimeCurrent ()) >= OpenHH && // В назначенный час
 TimeMinute( TimeCurrent ()) >= OpenMM ) // в назначенные минуты - 
 { OpenOrders(); Print ( "Время пришло " ,TimeHour( TimeCurrent ()), ":" ,TimeMinute( TimeCurrent ())); return ( 0 ); } // открыть ордера.   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
void OpenOrders(){ return ( 0 );}


 

belki daha iyidir

 if (( Hour() == OpenHH && Minute() >= OpenMM) || ( Hour() > OpenHH))