[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 102
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
Sevgili profesyoneller, lütfen bana şu soruyu söyleyin:
Daha önce bir metin dosyasına yazılmış tek boyutlu bir dizi dizim var
EURUSD 1654.31
GBPUSD -1654.61
USDCAD 110.98
USDJPY 1180.17
Ve diyelim ki USDCAD'deki toplam kâr değişti ve 3. satırı "USDCAD 115.64" ile değiştirmem gerekiyor.
Bu verileri tek boyutlu bir dize dizisi olarak okudum, ancak bir metin dosyasındaki yalnızca bu öğeyi değiştiremiyorum (birisi bir işlev yazabilir mi?)
Yoksa buhar banyosu yapmamak ve tüm dizinin üzerine yazmamak daha mı iyi?
Sadece verilerim farklı çiftler üzerinde duran danışmanlardan geliyor - her çiftin kendi çizgisi var - elbette sadece 1 öğeyi değiştirmek daha iyi olurdu.
Merhaba!!! Lütfen HELP'den bir örnekle yardım edin
//------------------------------------------------ --------------------
// olağanuzman.mq4
// MQL4 eğitiminde örnek olarak kullanılmak üzere tasarlanmıştır.
//------------------------------------------------ --------------- 1 --
#property telif hakkı "Telif hakkı © Kitap, 2007"
#özellik bağlantısı "http://AutoGraf.dp.ua"
//------------------------------------------------ --------------- 2 --
#include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//------------------------------------------------ --------------- 3 --
#include <Variables.mqh> // Değişkenlerin açıklaması
#include <Check.mqh> // Kullanımın yasallığı kontrol ediliyor. programlar
#include <Terminal.mqh> // Siparişler için muhasebe
#include <Events.mqh> // Etkinlik izleme işlevi, güncellendi.
#include <Inform.mqh> // Bilgi fonksiyonu
#include <Trade.mqh> // Ticaret fonksiyonu
#include <Open_Ord.mqh> // Belirtilen türden bir sipariş açılıyor
#include <Close_All.mqh> // Belirtilen türdeki tüm siparişler kapatılıyor
#include <Tral_Stop.mqh> // Türdeki tüm siparişlerin StopLoss'u değiştiriliyor
#include <Lot.mqh> // Lot sayısını hesapla
#include <Criterion.mqh> // Ticaret kriterleri
#include <Errors.mqh> // Hata işleme işlevi.
//------------------------------------------------ --------------- 4 --
int init() // Özel. başlatma işlevi
{
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );//Min. mesafe
Terminal(); // Sipariş muhasebesi fonksiyonu
dönüş; // init()'ten çık
}
//------------------------------------------------ --------------- 5 --
int start() // Özel. başlatma işlevi
{
if(Check()==yanlış) // Kullanım koşulları ise..
dönüş; // ..yürütülmedi, çık
PlaySound("tik.wav"); // Her tikte
Terminal(); // Sipariş muhasebesi fonksiyonu
Etkinlikler(); // Olaylar hakkında bilgi
Ticaret(Kriter()); // Ticaret fonksiyonu
bilgi(0); // Nesneleri yeniden renklendirmek için
dönüş; // başlangıçtan çık()
}
//------------------------------------------------ --------------- 6 --
int deinit() // Özel. tanımla() işlevi
{
bilgilendir(-1); // Nesneleri kaldırmak için
dönüş; // deinit()'ten çık
}
//------------------------------------------------ --------------- 7 --
2) Sadece depolama yerinde mi yoksa kodun tasarımında mı?
Sorular şunlardır: 1) include dosyaları arasındaki fark nedir (#include<...> ve #include "..."), 3) Ve içe aktarılan işlevler (#import) #include yönergesinden nasıl farklıdır?
HELPA olağanexpert.mq4 dosyasından alınan örnek, #include dizininin dosyasında <> köşeli parantezlere bakılırsa, dahil edilen dosyalar üzerinde oluşturulan Expert Advisor'ın kompozisyonunu gösterir.
Sorular: Include\file #include <Variables.mqh> // Örneğe göre oluştururken değişkenlerin açıklaması:
//------------------------------------------------ --------------------
// Değişkenler.mqh
// MQL4 eğitiminde örnek olarak kullanılmak üzere tasarlanmıştır.
//------------------------------------------------ --------------- 1 --
// Global değişkenlerin açıklaması
dış çift Lot=0.0; // Parti sayısı
harici int Yüzde=0; // Tahsis edilen fonların yüzdesi
harici int StopLoss =100; // Yeni siparişler için StopLoss (puan)
harici int TakeProfit=40; // Yeni siparişler için TakeProfit (puan)
harici int TrailingStop=100; // Piyasa emirleri için TralingStop (nokta)
//------------------------------------------------ --------------- 2 --
int
Level_new, // Minimum mesafe için yeni değer
Level_old, // Minimum mesafenin önceki değeri
Mas_Tip[6]; // Sipariş türleri dizisi
// [] sipariş tipi: 0=B,1=S,2=BL,3=SL,4=BS,5=SS
//------------------------------------------------ --------------- 3 --
çift
Lots_New, // Yeni siparişler için parti sayısı
Mas_Ord_New[31][9], // Mevcut sipariş dizisi ..
Mas_Ord_Old[31][9]; // .. Ve yaşlı
// 1. dizin = sipariş seri numarası
// [][0] tanımlı değil
// [][1] açık oran siparişler (mutlak döviz kuru)
// [][2] Emrin StopLoss'u (oranın mutlak değeri)
// [][3] TakeProfit emirleri (oranın mutlak değeri)
// [][4] sipariş numarası
// [][5] say. çok ord. (mutlak döviz kuru)
// [][6] sipariş türü. 0=B,1=S,2=BL,3=SL,4=BS,5=SS
// [][7] sihirli numarayı sipariş et
// [][8] 0/1 bir yorum olduğu gerçeği
//------------------------------------------------ --------------- 4 --
Derlerken, bir hata veriyor -- '\end_of_program' - tanımlı fonksiyon yok ne anlama geliyor ve bu örneğe sonunda bir şey eklemek gerekli mi?
Ve dahil edilen dosyalar şöyle görünmeli mi yoksa başlığa mı eklenmeli:
#property telif hakkı "Telif hakkı © 2004, MetaQuotes Software Corp."
#özellik bağlantısı "http://www.metaquotes.net/"
#özellik kitaplığı
//+------------------------------------------- --------------------+
//| dönüş hatası açıklaması |
//+------------------------------------------- --------------------+
örneğin, ( olağanuzman.mq4 // MQL4 eğitiminde örnek olarak kullanılmak üzere tasarlanmıştır. ) #include <Check.mqh> içerir // Kullanımın yasallığı kontrol ediliyor. Programlar Bu başlık olmadan hata veriyor (Başlat fonksiyonu bulunamadı ve çalıştırılamaz). Ve onunla her şey yolunda!?
Veya dosyalar dahil, yalnızca (kütüphaneler) adresindeki işlev kitaplığında bulunan kullanıcı tanımlı işlevlerin bir açıklamasını ve kullanılmasının gerekli olup olmadığını içerir. funkt. özel işlev başlatmayı kullanın. Eğer bilirkişinin dosyasındaysa?
Merhaba!!! Lütfen HELP'den bir örnekle yardım edin
//------------------------------------------------ --------------------
// olağanuzman.mq4
// MQL4 eğitiminde örnek olarak kullanılması amaçlanmıştır.
//------------------------------------------------ --------------- 1 --
#property telif hakkı "Telif hakkı © Kitap, 2007"
#özellik bağlantısı "http://AutoGraf.dp.ua"
//------------------------------------------------ --------------- 2 --
#include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//------------------------------------------------ --------------- 3 --
#include <Variables.mqh> // Değişkenlerin açıklaması
#include <Check.mqh> // Kullanımın yasallığı kontrol ediliyor. programlar
#include <Terminal.mqh> // Siparişler için muhasebe
#include <Events.mqh> // Etkinlik izleme işlevi, güncellendi.
#include <Inform.mqh> // Bilgi fonksiyonu
#include <Trade.mqh> // Ticaret fonksiyonu
#include <Open_Ord.mqh> // Belirtilen türden bir sipariş açılıyor
#include <Close_All.mqh> // Belirtilen türdeki tüm siparişler kapatılıyor
#include <Tral_Stop.mqh> // Türdeki tüm siparişlerin StopLoss'u değiştiriliyor
#include <Lot.mqh> // Lot sayısını hesapla
#include <Criterion.mqh> // Ticaret kriterleri
#include <Errors.mqh> // Hata işleme işlevi.
//------------------------------------------------ --------------- 4 --
int init() // Özel. başlatma işlevi
{
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );//Min. mesafe
Terminal(); // Sipariş muhasebesi fonksiyonu
dönüş; // init()'ten çık
}
//------------------------------------------------ --------------- 5 --
int start() // Özel. başlatma işlevi
{
if(Check()==yanlış) // Kullanım koşulları ise..
dönüş; // ..yürütülmedi, çık
PlaySound("tik.wav"); // Her tikte
Terminal(); // Sipariş muhasebesi fonksiyonu
Etkinlikler(); // Olaylar hakkında bilgi
Ticaret(Kriter()); // Ticaret fonksiyonu
bilgi(0); // Nesneleri yeniden renklendirmek için
dönüş; // başlangıçtan çık()
}
//------------------------------------------------ --------------- 6 --
int deinit() // Özel. tanımla() işlevi
{
bilgilendir(-1); // Nesneleri kaldırmak için
dönüş; // deinit()'ten çık
}
//------------------------------------------------ --------------- 7 --
2) Sadece depolama yerinde mi yoksa kodun tasarımında mı?
Sorular şunlardır: 1) include dosyaları arasındaki fark nedir (#include<...> ve #include "..."), 3) Ve içe aktarılan işlevler (#import) #include yönergesinden nasıl farklıdır?
HELPA olağanexpert.mq4 dosyasından alınan örnek, #include dizininin dosyasında <> köşeli parantezlere bakılırsa, dahil edilen dosyalar üzerinde oluşturulan Expert Advisor'ın kompozisyonunu gösterir.
Sorular: Include\file #include <Variables.mqh> // Örneğe göre oluştururken değişkenlerin açıklaması:
//------------------------------------------------ --------------------
// Değişkenler.mqh
// MQL4 eğitiminde örnek olarak kullanılması amaçlanmıştır.
//------------------------------------------------ --------------- 1 --
// Global değişkenlerin açıklaması
dış çift Lot=0.0; // Parti sayısı
harici int Yüzde=0; // Tahsis edilen fonların yüzdesi
harici int StopLoss =100; // Yeni siparişler için StopLoss (puan)
harici int TakeProfit=40; // Yeni siparişler için TakeProfit (puan)
harici int TrailingStop=100; // Piyasa emirleri için TralingStop (nokta)
//------------------------------------------------ --------------- 2 --
int
Level_new, // Minimum mesafe için yeni değer
Level_old, // Minimum mesafenin önceki değeri
Mas_Tip[6]; // Sipariş türleri dizisi
// [] sipariş tipi: 0=B,1=S,2=BL,3=SL,4=BS,5=SS
//------------------------------------------------ --------------- 3 --
çift
Lots_New, // Yeni siparişler için parti sayısı
Mas_Ord_New[31][9], // Mevcut sipariş dizisi ..
Mas_Ord_Old[31][9]; // .. Ve yaşlı
// 1. dizin = sipariş seri numarası
// [][0] tanımlı değil
// [][1] açık oran siparişler (mutlak döviz kuru)
// [][2] Emrin StopLoss'u (oranın mutlak değeri)
// [][3] TakeProfit emirleri (oranın mutlak değeri)
// [][4] sipariş numarası
// [][5] say. çok ord. (mutlak döviz kuru)
// [][6] sipariş türü. 0=B,1=S,2=BL,3=SL,4=BS,5=SS
// [][7] sihirli numarayı sipariş et
// [][8] 0/1 bir yorum olduğu gerçeği
//------------------------------------------------ --------------- 4 --
Derlerken, bir hata veriyor -- '\end_of_program' - tanımlı fonksiyon yok ne anlama geliyor ve bu örneğe sonunda bir şey eklemek gerekli mi?
Ve dahil edilen dosyalar şöyle görünmeli mi yoksa başlığa mı eklenmeli:
#property telif hakkı "Telif hakkı © 2004, MetaQuotes Software Corp."
#özellik bağlantısı "http://www.metaquotes.net/"
#özellik kitaplığı
//+------------------------------------------- --------------------+
//| dönüş hatası açıklaması |
//+------------------------------------------- --------------------+
örneğin, ( olağanuzman.mq4 // MQL4 eğitiminde örnek olarak kullanılmak üzere tasarlanmıştır. ) #include <Check.mqh> içerir // Kullanımın yasallığı kontrol ediliyor. Programlar Bu başlık olmadan hata veriyor (Başlat fonksiyonu bulunamadı ve çalıştırılamaz). Ve onunla her şey yolunda!?
Veya dosyalar dahil, yalnızca (kütüphaneler) adresindeki işlev kitaplığında bulunan kullanıcı tanımlı işlevlerin bir açıklamasını ve kullanılmasının gerekli olup olmadığını içerir. funkt. özel işlev başlatmayı kullanın. Eğer bilirkişinin dosyasındaysa?
......
Modu hesaplamanın daha doğru bir yolu şudur: ampirik bir dağılım fonksiyonu oluşturulur (frekans dağılımıyla karıştırılmamalıdır), ardından parçalı doğrusaldan düze enterpolasyon yapılır ve son olarak türevin maksimum noktasıdır. aranan. Böyle bir algoritma yukarıda sıralanan dezavantajlardan aridir ve küçük örneklem boyutlarında bile çok verimli çalışır. En azından, MQL'de sadece 50-100 elemanlı örnekler üzerinde karşılaştırılabilir sayıda aralıklarla mod bulma problemini çözmem gerekiyordu ve her şey yolundaydı. Tek bir dezavantaj var - enterpolasyonlarda, kural olarak, elbette niteliksel olarak düzeltmek istemiyorsak, hesaplamaların hızı keskin bir şekilde düşer.
Tünaydın! Bana Comment("") ne anlama geldiğini söyle, bu durumda fonksiyon çıktısı ne olacak?
tırnak içinde metin içeren kutu
Yalnızca parantez içinde tırnak işaretleri olduğu durumu kastetmiştim: Yorum ("")
Sadece parantez içinde alıntılar olduğunda durumu kastetmiştim: Comment("")