MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1941
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Peki, hafızayı nasıl kontrol edebilirsiniz? Nasıl harcanır veya başka bir şey?
Diyelim ki hafızayı etkileyebilirsiniz ve 200 gösterge hesaplayacak ama bir hafta içinde 1000 göstergenin neden yüklenmediğini soracaksınız..vs ... kapalı bir döngü .. Doğru görevleri ayarlayın ..
asılı kod hiçbir yere uygulanamaz.. Görevler yapılabilir hale getirilmelidir.. Ve kodu bozmak daha kolaydır.. Göstergeler hızlı çalışmalıdır. Çok uzun hesaplamalar için zaman yoktur.
Bir şeyler yaratabileceğiniz bu çerçeveleri de bilmek isterim. Yeni başlayanlar için bununla başa çıkmak zor, özellikle de programcı olmadığım için. Tamam, okuyacak bir şeyler ararım.
Bir şeyler yaratabileceğiniz bu çerçeveleri de bilmek isterim. Yeni başlayanlar için bununla başa çıkmak zor, özellikle de programcı olmadığım için. Tamam, okuyacak bir şeyler ararım.
iyi, genellikle bir CCİ yeterlidir, maksimum 3 :) ve 200'ünüz var .. Ötesine geçmemenin zor olduğu - burada katılıyorum .. bunun için deneyime ihtiyacınız var, doğru, yapılabilir görev başarıyla tamamlanacak makul bir sürede zordur. Bu nedenle, nereye kazacağınız konusunda tavsiyeye ihtiyacınız varsa, o zaman kesinlikle fikirleri optimize etme ve en aza indirme yönünde.. Örneğin, 20 periyodu olan CCI ve 21 periyodu olan CCI.. hemen hemen aynı ve hiçbir anlamı yok. ikisini de hesaplarken süre ne kadar uzun olursa, etki o kadar küçük olur, makul bir miktar bulmanız gerekir. Güzel bir çözüm her zaman hızlı çalışır.
iyi, genellikle bir CCİ yeterlidir, maksimum 3 :) ve 200'ünüz var .. Ötesine geçmemenin zor olduğu - burada katılıyorum .. bunun için deneyime ihtiyacınız var, doğru, yapılabilir görev başarıyla tamamlanacak makul bir sürede zordur. Bu nedenle, nereye kazacağınız konusunda tavsiyeye ihtiyacınız varsa, o zaman kesinlikle fikirleri optimize etme ve en aza indirme yönünde.. Örneğin, 20 periyodu olan CCI ve 21 periyodu olan CCI.. hemen hemen aynı ve hiçbir anlamı yok. ikisini de hesaplarken süre ne kadar uzun olursa, etki o kadar küçük olur, makul bir miktar bulmanız gerekir. Güzel bir çözüm her zaman hızlı çalışır.
Profil oluşturucunun bellek tüketimini ölçmeye yardımcı olacağını anlıyorum. Öyleyse optimize edelim. Ama yine de, eğer birisi bu konuda nerede okuyacağını biliyorsa, lütfen bağlantıyı atın..
Herkese merhaba!
lütfen bana koda neyin eklenmesi gerektiğini söyleyin, böylece MA sadece öne (pozitif değer) değil, aynı zamanda geriye (negatif değer) de kaydırılır
İşte danışmandan gelen kod:
Herkese merhaba!
lütfen bana koda neyin eklenmesi gerektiğini söyleyin, böylece MA sadece öne (pozitif değer) değil, aynı zamanda geriye (negatif değer) de kaydırılır
İşte danışmandan gelen kod:
Kaydırmaya istediğiniz negatif değeri ekleyin, ancak değer + shift sıfırdan küçük olmayacak şekilde.
Kaydırmaya istediğiniz negatif değeri ekleyin, ancak değer + shift sıfırdan küçük olmayacak şekilde.
teşekkürler, deneyeceğim.
Tünaydın.
Kodla ilgili yardım, belki örnekler vardır.
Görev:
Farklı yönlerde, farklı lotlara sahip birkaç açık sipariş vardır. Bir tanesi kârlı yuva yapıyor, diyelim 20. Ama eksi kârlı açık bir tane var, diyelim ki 0,05 lot ile -55. Düşüşü azaltmak için pozitif olarak kapatılan siparişin kâr miktarı için negatif siparişin bir kısmını kapatmak istiyorum.
while ifadesini temel alarak yazmaya çalıştım, ancak bir şeyler ters gitti.
Şimdiden teşekkürler.
Merhaba, bu kod Fedoseev'in kitabından. Gösterge neden pencerede çizilmiyor, günlükte çalışıyor diyor, derlerken hata yok, ek bir pencere açılıyor (boş), bu kitaptaki kod, benimkiyle sonuç tam olarak bu aynı. Sorun nedir?
//+------------------------------------------- --------------------+
//| 015 Sembol.mq5 |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "Dmitry Fedoseev"
#özellik bağlantısı "mailto:for-good-letter@yandex.ru"
#özellik sürümü "1.00"
#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 4
#property Indicator_plots 1
//--- çizim çubuğu
#özellik göstergesi_etiket1 "çubuk"
#özellik göstergesi_type1 DRAW_CANDLES
#özellik göstergesi_renk1 clrGray,clrBlue,clrRed
#özellik göstergesi_style1 STYLE_SOLID
#özellik göstergesi_width1 1
//--- giriş parametreleri
girdi stringsymbol="";
giriş bool drawBars=false;
dize sembolü;
//--- gösterge arabellekleri
çift çubukTampon1[];
çift çubukBuffer2[];
çift çubukBuffer3[];
çift çubukBuffer4[];
//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int OnInit()
{
sembol=sembol;
StringTrimLeft(sym);
StringTrimRight(sym);
if(sym==""){
sym=Sembol();
}
if(!SymbolSelect(sym,true)){
Alert("Bilinmeyen sembol",sym);
dönüş(INIT_FAILED);
}
if(çekme çubukları){
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_BARS);
}
başka{
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_CANDLES);
}
//--- gösterge arabellek eşlemesi
SetIndexBuffer(0,barBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,barBuffer2,INDICATOR_DATA);
SetIndexBuffer(2,barBuffer3,INDICATOR_DATA);
SetIndexBuffer(3,barBuffer4,INDICATOR_DATA);
//---
dönüş(INIT_SUCCESSED);
}
geçersiz OnDeinit(const int r){
Yorum("");
EventKillTimer();
}
//+------------------------------------------- --------------------+
//| özel gösterge yineleme işlevi |
//+------------------------------------------- --------------------+
int OnCalculate(const int oranları_toplam,
const int önceki_hesaplanmış,
const tarihsaat &saat[],
const double &aç[],
const çift &yüksek[],
const çift &düşük[],
const double &kapat[],
const uzun &tick_volume[],
const uzun &hacim[],
const int &spread[])
{
int barlar=Barlar(sym,Period());
if(çubuklar==0){
Comment("Zaman çerçevesinin oluşumu",sym,"...");
EventSetTimer(1);
dönüş(0);
}
int başlangıç;
if(prev_calculated==0){
Yorum("");
EventKillTimer();
tarihsaat tm[1];
if(CopyTime(sym,Period(),bars-1,1,tm)==-1){
dönüş(0);
}
başlangıç=0;
for(;start<rates_total;start++){
if(zaman[başlangıç]>=tm[0]){
kırmak;
}
}
}
başka{
start=prev_hesaplanmış-1;
}
MqlRates r[1];
for(int i=start;i<rates_total;i++){
if(CopyRates(sym,Period(),time[i],1,r)==-1){
dönüş(0);
}
barBuffer1[i]=r[0].open;
barBuffer2[i]=r[0].yüksek;
barBuffer3[i]=r[0].düşük;
barBuffer4[i]=r[0].close;
}
dönüş(oranlar_toplam);
}
geçersiz OnTimer()
{
ChartSetSymbolPeriod(0,Symbol(),Period());
}
//+------------------------------------------- --------------------+
Merhaba, bu kod Fedoseev'in kitabından. Gösterge neden pencerede çizilmiyor, günlükte çalışıyor diyor, derlerken hata yok, ek bir pencere açılıyor (boş), bu kitaptaki kod, benimkiyle sonuç tam olarak bu aynı. Sorun nedir?
Alt es kodu yapıştırın.
Ve hindi fırlatırken bir enstrüman tanıtıyor musunuz?