MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 240
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
1) - Bu bölüm, 11112222.txt dosyasını buradan veri okumak için açar:
//=================================BUY=========================================
int handle2 = FileOpen("11112222.txt", FILE_CSV|FILE_READ, ";");//код открывает файл для чтения
2) - Ardından, handle2>0 ise koşul gelir
if(handle2>0) // если в файле больше 0, то есть 1, то открывать BUY
{
3) - İşte anlamadığım bu kısım:
Print(FileReadString(handle2));
4) - Bu kısım dosyayı kapatır:
FileClose(handle2); // закрытие текстового файла
5) - Handle2>0 koşulu karşılandığından, yani 11112222.txt dosyası 1 içerdiğinden, bir satın alma emri açılır:
//ОТКРЫТИЕ ОРДЕРА НА ПОКУПКУ
if(OrdersTotal() == 0) // если нет открытых ордеров то открывать ордер на покупку
{
OrderSend(Symbol(), OP_BUY, 0.01, Ask, 3, 0, 0); // первым указывается ЛОСЬ, вторым ПРОФИТ
FileClose(handle2); // закрытие текстового файла
}
else
Print("NE USPESHNO!!!");
FileClose(handle2); // закрытие текстового файла
}
//=================================конец кода BUY=========================================
1) dosyayı açar ancak içeriğini okumaz.
2) dosya tanıtıcısı HER ZAMAN sıfırdan büyüktür. Buna göre, içeriğinden bağımsız olarak dosya varsa koşul her zaman karşılanacaktır.
3) Bu sadece dosyanın içeriğini okuyor. Doğru, bir sayı okumanız gerekiyorsa neden bir satır okumanın yapıldığını anlamıyorum ... Ama yine de, bu zaten başka bir sorunla ilgili olabilir. Ve şimdi asıl şey, eylem sırasını boyamak.
4) Tabii ki dosya kapatılmalı ve kapanıyor.
Ve sadece bir sonraki paragraf, ikinci paragrafta değil, 3. paragrafta ne okunduğuna bağlı olarak bir koşul koymalıdır.
1) dosyayı açar ancak içeriğini okumaz.
2) dosya tanıtıcısı HER ZAMAN sıfırdan büyüktür . Buna göre, içeriğinden bağımsız olarak dosya varsa koşul her zaman karşılanacaktır.
3) Bu sadece dosyanın içeriğini okuyor. Doğru, bir sayı okumanız gerekiyorsa neden bir satır okumanın yapıldığını anlamıyorum ... Ama yine de, bu zaten başka bir sorunla ilgili olabilir. Ve şimdi asıl şey, eylem sırasını boyamak.
4) Tabii ki dosya kapatılmalı ve kapanıyor.
Ve sadece bir sonraki paragraf, ikinci paragrafta değil, 3. paragrafta ne okunduğuna bağlı olarak bir koşul koymalıdır.
Yooo... INVALID_HANDLE -1
İşte o zaman dosya açma hatası alır, sonra sat sinyali alır...
Diğer sabitler
Parametrelerin ve değişkenlerin durumunu belirtmek için kullanılan özel sabitler. Aşağıdaki değerler olabilir:
Devamlı
Tanım
Anlam
BOŞ
Her türlü sıfır. Ayrıca dizenin boş durumunu gösterir
0
BOŞ
Parametrenin boş durumunu gösterir
-1
BOŞ_VALUE
Gösterge arabelleğinde boş değer
2147483647 (0x7FFFFFFF)
CLR_NONE, clrNONE
Renk eksikliği. Varsayılan değer, bir boş değer işaretçisi. Özel göstergelerde kullanılır
-1
CHARTS_MAX
Terminalde mümkün olan maksimum eşzamanlı açık çizelge sayısı
100
GEÇERSİZ TUTAMAÇ
Yanlış tanıtıcı
-1
IS_DEBUG_MODE
Hata ayıklama modunda bir mq5 programı çalıştırmanın işareti
hata ayıklama modunda sıfır değil, aksi takdirde 0
IS_PROFILE_MODE
Profil oluşturma modunda bir mq5 programı çalıştırmanın işareti
profil oluşturma modunda sıfır değil, aksi takdirde 0
WHOLE_ARRAY
Dizinin sonuna kadar kalan eleman sayısı anlamına gelir, yani tüm dizi işlenecektir.
0
YANLIŞ DEĞER
Bir sabit, herhangi bir enum türüne dolaylı olarak aktarılabilir
-1
Bu konuyu görmemiştim yeni konu açtım. Lütfen https://www.mql5.com/ru/forum/206126 adresine bakın.
1) dosyayı açar ancak içeriğini okumaz.
2) dosya tanıtıcısı HER ZAMAN sıfırdan büyüktür. Buna göre, içeriğinden bağımsız olarak dosya varsa koşul her zaman karşılanacaktır.
3) Bu sadece dosyanın içeriğini okuyor. Doğru, bir sayı okumanız gerekiyorsa neden bir satır okumanın yapıldığını anlamıyorum ... Ama yine de, bu zaten başka bir sorunla ilgili olabilir. Ve şimdi asıl şey, eylem sırasını boyamak.
4) Tabii ki dosya kapatılmalı ve kapanıyor.
Ve sadece bir sonraki paragraf, ikinci paragrafta değil, 3. paragrafta ne okunduğuna bağlı olarak bir koşul koymalıdır.
Sevgili MQL guruları - Eğer sizin için zor değilse, o zaman lütfen bana bu kodla yardım edin, yarım gündür arama motorlarını arıyorum ama buna benzer bir şey bulamıyorum.
Aynı yerde birkaç satırlık bir mesele, bilenler için üç dakikalık bir mesele)))
C++'da dll'deki mql4'ten bir dize nasıl kabul edilir ve char*'a dönüştürülür?
Bu doğru kod mu?Merhaba! Lütfen söyle bana, danışman yaklaşık bir yıl önce yazdı , her şey yolunda gitti. Bunca zaman kullanmadım. Şimdi grafiğe yüklediğimde hiçbir şey olmuyor. Belki de Yapı değiştiği içindir? Şimdi terminal 1090'ı oluşturun.
Aynı yerde, kampanya bilgili olanlar için birkaç satırda - üç dakika meselesi )))
2 saat geçirdi . Sistemi parçalar halinde kontrol etmeniz gerekiyor. Her iki danışmanı da bitişik çizelgelerde aynı anda çalıştırın - her şey görünür olacaktır. Uzman Danışman 1 = Dosyaya yaz
//+------------------------------------------------------------------+ //| Запись в файл -1 0 1 1.mq4 | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Инициализация - установка интервала таймера | //+------------------------------------------------------------------+ void OnInit() { EventSetTimer(7); } //+------------------------------------------------------------------+ //| Деинициализация - удаление метки | //+------------------------------------------------------------------+ void OnDeinit(const int Зачем) { ObjectDelete("Семафор"); } //+------------------------------------------------------------------+ //| По таймеру каждые 7 секунд | //+------------------------------------------------------------------+ void OnTimer() { int x=0; if(rand()<20000) { x=1; if(rand()<16000) x=-1; } ObjectCreate("Семафор",OBJ_LABEL,0,0,0); ObjectCreate("Семафор", OBJ_LABEL, 0, 0, 0); // Создание ObjectSet("Семафор", OBJPROP_CORNER, 3); // В правый нижний угол ObjectSet("Семафор", OBJPROP_XDISTANCE, 0); // Координата X ObjectSet("Семафор", OBJPROP_YDISTANCE, 40); // Координата Y ObjectSetText("Семафор",(string)x+" Открываю",20,"Arial",Yellow); ChartRedraw(0); Sleep(2000); int handle = FileOpen("123.txt", FILE_BIN | FILE_WRITE); if(handle == -1) { ObjectSetText("Семафор","Ошибка",20,"Arial",Salmon); ChartRedraw(0); return; } ObjectSetText("Семафор",(string)x+" Записываю",20,"Arial",DeepSkyBlue); ChartRedraw(0); FileWriteInteger(handle, x, 4); Sleep(2000); ObjectSetText("Семафор","",20,"Arial",White); ChartRedraw(0); FileClose(handle); }
Uzman Danışman 2 = Dosya okuma
//+------------------------------------------------------------------+ //| Чтение файла -1 0 1 2.mq4 | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Инициализация - установка интервала таймера | //+------------------------------------------------------------------+ void OnInit() { EventSetTimer(1); } //+------------------------------------------------------------------+ //| Деинициализация - удаление метки | //+------------------------------------------------------------------+ void OnDeinit(const int Зачем) { ObjectDelete("Семафор"); } //+------------------------------------------------------------------+ //| По таймеру каждую секунду | //+------------------------------------------------------------------+ void OnTimer() { int x=0; ObjectCreate("Семафор",OBJ_LABEL,0,0,0); ObjectCreate("Семафор", OBJ_LABEL, 0, 0, 0); // Создание ObjectSet("Семафор", OBJPROP_CORNER, 2); // В правый нижний угол ObjectSet("Семафор", OBJPROP_XDISTANCE, 0); // Координата X ObjectSet("Семафор", OBJPROP_YDISTANCE, 40); // Координата Y ObjectSetText("Семафор","",20,"Arial",Yellow); ChartRedraw(0); Sleep(500); int handle = FileOpen("123.txt", FILE_BIN | FILE_READ); // Получаем НОМЕР файла в ОС if(handle == -1) // Если производится запись , файл занят , будет ошибка { ObjectSetText("Семафор","Ошибка",20,"Arial",Salmon); ChartRedraw(0); return; } x = FileReadInteger(handle,4); // Получаем СОДЕРЖИМОЕ файла ObjectSetText("Семафор",(string)x+" Прочитал",20,"Arial",DeepSkyBlue); ChartRedraw(0); FileClose(handle); }
Merhaba! Lütfen söyle bana, danışman yaklaşık bir yıl önce yazdı , her şey yolunda gitti. Bunca zaman kullanmadım. Şimdi grafiğe yüklediğimde hiçbir şey olmuyor. Belki de Yapı değiştiği içindir? Şimdi terminal 1090'ı oluşturun.
Büyük olasılıkla, birçok yenilik vardı. Derleme hatalarını kontrol ederek başlayın. #PropertyStrict yönergesi ile
Büyük olasılıkla, birçok yenilik vardı. Derleme hatalarını kontrol ederek başlayın. #PropertyStrict yönergesi ile
Böyle bir talimat yok...
Bunun gibi bir tane var:
Büyük olasılıkla, birçok yenilik vardı. Derleme hatalarını kontrol ederek başlayın. #PropertyStrict yönergesi ile
Böyle bir talimat yok...
Bunun gibi bir tane var:
Fakat ex4 uzantılı bilgisayarda bulunan Expert Advisor dosyasını açamıyorum fakat bu dosya MetaEditor üzerinden mevcut değil. Lütfen bana nedeninin ne olabileceğini söyle.