MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 386
![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
Hmm... Koordinatları değiştirmeyi bir şekilde düşünmedim. Bahşiş için teşekkürler
Sonra böyle bir soru. Bir giriş noktası koşulu var. Bunu statik değişkenler aracılığıyla uyguladım, böylece her onay işaretiyle sıfırlanmazlar. Bu nedenle, çizelgedeki bazı yerlerde robot, hiçbir yatay seviyenin olmadığı ve buna göre MA ile kesiştiği bir giriş noktası çizer. Lütfen kodu test cihazınızda çalıştırın ve sorunu göreceksiniz. EURUSD'de. Belki görevi farklı şekilde uygulamanız gerekir? Ben bir programlama uzmanı değilim
Yani bir desen belirdi, seviyeler çizildi ve robot seviyelerden birinin üç kesişimini bekliyor.
bu konuda düşünceleriniz nedir
Hmm... Koordinatları değiştirmeyi bir şekilde düşünmedim. Bahşiş için teşekkürler
Sonra böyle bir soru. Bir giriş noktası koşulu var. Bunu statik değişkenler aracılığıyla uyguladım, böylece her onay işaretiyle sıfırlanmazlar. Bu nedenle, çizelgedeki bazı yerlerde robot, hiçbir yatay seviyenin olmadığı ve buna göre MA ile kesiştiği bir giriş noktası çizer. Lütfen kodu test cihazınızda çalıştırın ve sorunu göreceksiniz . EURUSD'de. Belki görevi farklı şekilde uygulamanız gerekir? Ben bir programlama uzmanı değilim
Yani bir desen belirdi, seviyeler çizildi ve robot seviyelerden birinin üç kesişimini bekliyor.
bu konuda düşünceleriniz nedir
Ve kimin ihtiyacı var, kaba olduğunu düşünmeyin? Robotun hangi değerleri aldığına bakın ve soruna başka bir çözüm bulacaksınız.
Yardım iki hata veriyor! Kırmızıyla vurgulanan hatalar, lütfen yardım edin!
//+------------------------------------------- --------------------+
//| Asyll.mq4 tarafından İzleyen Durdurma |
//| Telif Hakkı 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------- --------------------+
#mülkiyet telif hakkı "Alibek İltica"
#özellik bağlantısı "https://www.mql4you.com"
harici int TralType = 0; // 0-Sar, 1-ATR, 2-HMA
harici çift SAR_Adım = 0.02;
harici çift SAR_Max = 0,2;
harici int ATR_Period = 14;
harici çift ATR_K = 2.0;
harici int MMA_Period = 16;
harici int MMA_Method = 3;
harici int MMA_Shift = 0;
tarihsaat LBT;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//---
//---
dönüş(0);
}
//+------------------------------------------- --------------------+
//| Uzman başlatmasızlaştırma işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//---
dönüş(0);
}
//+------------------------------------------- --------------------+
//| Uzman onay işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
bool hatası = yanlış;
if (LBT!=Zaman[0] {
if (OrdersTotal()>0) {
for (int i=o; i<SiparişlerToplam(); i++) {
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()<2) {
çift SL = OrderStopLoss();
if (OrderType()==0) {
anahtar(TralType) {
durum 0: SL = iSAR(NULL,0,SAR_Step, SAR_Max,0);
kırmak;
durum 1: SL = Yüksek[1] - iATR(NULL,0,ATR_Period,1)*ATR_K;
kırmak;
durum 2: SL = iCustom(NULL,0,"VininI_HMA_sound&",HMA_Period, HMA_Method, 3, HMA_Shift,false,false,"",1,0,0);
kırmak;
}
if (SL<OrderStopLoss())
SL = OrderStopLoss();
}
if (OrderType()==1){
anahtar(TralType){
durum 0: SL = iSAR(NUll,0,SAR_Step, SAR_Max,0);
kırmak;
durum 1: SL = Düşük[1] + iATR(NULL,0,ATR_Period,1)*ATR_K;
kırmak;
durum 2: SL = iCustom(NULL,0,"VininI_HMA_sound&",HMA_Period, HMA_Method, 2, HMA_Shift,false,false,"",1,0,0);
kırmak;
}
if (SL>OrderStopLoss())
SL = OrderStopLoss();
}
if (SL!=OrderStopLoss()) {
if (!OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),0))
hata=doğru;
}
}
eğer (!hata)
LBT = Zaman[0];
}
dönüş();
}
//+------------------------------------------- ------ ----------------------+
Kodu eklemek için SRC butonunu kullanmak mantıklıdır. Hataların metnini bildirin. Uzman Danışmanı hızlandırmak için metni silin:
Bu işlevleri çağırmak zaman alır ve bunlar boştur. Ve onlarsız, programın metni ile çalışmak daha kolay olacaktır. Kıvrımlı parantezleri sayın . Bunu kolaylaştırmak için Araçlar menüsündeki Şekillendiriciyi deneyin. Boş satırları atın.
Hepinize iyi günler.
MT-4 test cihazında kodlamaya ve test etmeye çalıştığım konusunda basit bir fikrim var
Aşağıdaki koşullar aynı anda karşılandığında açık siparişler
1. Bir dakikalık mumun açılışında
2 ihtiyacım olan fiyata
3. İhtiyacım olan gün
4. Fiyatın değeri, günün değeriyle kesinlikle eşleşmelidir.
Örneğin, 27'sinde açılış fiyatı 1.2414 olan bir dakika mumu vardı.
1) mumun açılışında 2) 1.2414 fiyatından bir emir açmam gerekiyor 3) AMA 27'sinden SONRAKİ GÜN İÇİN
Örneğin, 28'inde açılış fiyatı 1.2438 olan bir dakika mumu vardı.
1) mumun açılışında 2) 1.2438 fiyatından bir emir açmam gerekiyor 3) AMA 28'inden SONRAKİ EN YAKIN GÜN İÇİN
Örneğin, 12'sinde açılış fiyatı 1.2451 olan bir dakika mumu vardı.
1) mumun açılışında 2) 1.2451 fiyatından bir emir açmam gerekiyor 3) AMA 12'sinden SONRA EN YAKIN GÜN
Bu fikri uygulamak için diziler konusunu incelemeye başladım ve iki adet tek boyutlu dizi oluşturdum ama plan işe yaramıyor.
Kodumu yukarıdaki fikri uygulayacak şekilde düzeltirseniz çok minnettar olurum.
Ben yavaş zekalıyım ve bu nedenle doğru kodu yazarsanız ve kelimelerle açıklamazsanız çok minnettar olacağım.
bu yüzden çok daha hızlı anlıyorum
İşte kodum.
Merhaba! Yazılı kod, fiyat üst veya alt seviyenin ötesine geçtiğinde sinyal seviyelerini hareket ettirmek için tasarlanmıştır, ancak bu olmaz. Lütfen bana neyin yanlış olduğunu söyle.
1) mumun açılışında 2) 1.2414 fiyatından bir emir açmam gerekiyor 3) AMA 27'sinden SONRAKİ GÜN İÇİN
İşte kodum.İlk olarak, zaten normalleştirilmiş bir BID'yi normalleştirmek, öğretmen söylemediği sürece pek de değerli değildir.
İkincisi, nedir? 27'sinde, bir fiyat belirdi ve 28'inde çalışması için diziye acilen veri giriyorsunuz? Peki ya 28'inde, acil işler yoluna girerse? Dizi, hesaplanması zor olan verileri içerir. Verileriniz hesaplanmalıdır. Expert Advisor'da adım adım hata ayıklamanızı tavsiye ederim. 1) gerekli fiyatı belirleyin ve bunu Alert() işlevini kullanarak görüntüleyin. Doğruluğundan emin olduktan sonra - aşağıdakileri hesaplayın ve çıktısını alın ... ve sonuna kadar böyle devam edin. Tüm kodu sonuna kadar yazmak erken, çünkü hata ayıklama denizinde değiştirilmesi gerekecek. Bu teknolojiye basitten karmaşığa nasıl bakıyorsunuz?
Bakalım burada ne yazıyor. İlk olarak, çizgiler daha kısa olmalıdır. Ekrana sığacaklar ve derleyici daha hızlı olacak
BID daha büyükse, bir şeyler yapın. Ayrıca, BID daha azsa, aynısını yapın. Kısaca formüle edilebilir: Eğer fiyat az ya da çok ise, o zaman ...Yorumlara bir şeyi taşımakla ilgili bir şeyler yazarsınız, kendiniz de tüm nesneleri silersiniz. 10 satırınız dört ile değiştirilir
ANCAK !!! VEYA işareti bir şekilde daha mı kullanılmalı? Görünüşe göre bu VEYA'yı sıfırlamak yerine, bu yere yeni nesnelerin oluşturulması eklenmelidir. Ve daha da kolayı - nesneleri silmek yerine onları yeni bir yere taşıyın - sadece 3 satır kod. Yoksa öğretmen daha fazlasını mı istiyor?
Basitten yanlışa mı yoksa tam tersi mi?İlk olarak, zaten normalleştirilmiş bir BID'yi normalleştirmek, öğretmen söylemediği sürece pek de değerli değildir.
İkincisi, nedir? 27'sinde, bir fiyat belirdi ve 28'inde çalışması için diziye acilen veri giriyorsunuz? Peki ya 28'inde, acil işler yoluna girerse? Dizi, hesaplanması zor olan verileri içerir. Verileriniz hesaplanmalıdır. Expert Advisor'da adım adım hata ayıklamanızı tavsiye ederim. 1) gerekli fiyatı belirleyin ve bunu Alert() işlevini kullanarak görüntüleyin. Doğruluğundan emin olduktan sonra - aşağıdakileri hesaplayın ve çıktısını alın ... ve sonuna kadar böyle devam edin. Tüm kodu sonuna kadar yazmak erken, çünkü hata ayıklama denizinde değiştirilmesi gerekecek. Bu teknolojiye basitten karmaşığa nasıl bakıyorsunuz?
Bahşiş için çok teşekkürler.
Ama bana öyle geliyor ki, akıl yürütmenizde bir TİCARET Uzman Danışmanı yazmaya çalıştığım gerçeğinden yola çıkıyorsunuz.
Sana öyle olmadığını söylemediğim için üzgünüm.
Bir danışmanın yardımıyla, yalnızca yukarıdaki parametreler arasında bir düzenliliğin, bir korelasyonun varlığını test etmeye çalışıyorum, yani zaten bir TİCARET danışmanının temelini oluşturabilecek bir fikri onaylamak veya reddetmek için.
Bu nedenle, kodumu düzeltirseniz, her şeyin yukarıda belirtilen planıma uygun olarak gerçekleşmesi için size minnettar olacağım.
Ve bir ticaret danışmanı yazarken yorumlarınız kesinlikle benim için yararlı olacaktır.
teşekkürler
İpucu için çok teşekkürler.
Ama bana öyle geliyor ki, akıl yürütmenizde bir TİCARET Uzman Danışmanı yazmaya çalıştığım gerçeğinden yola çıkıyorsunuz.
Sana öyle olmadığını söylemediğim için üzgünüm.
Bir danışmanın yardımıyla, yalnızca yukarıdaki parametreler arasında bir düzenliliğin, bir korelasyonun varlığını test etmeye çalışıyorum, yani zaten bir TİCARET danışmanının temelini oluşturabilecek bir fikri onaylamak veya reddetmek için.
Bu nedenle, kodumu düzeltirseniz, her şeyin yukarıda belirtilen planıma uygun olarak gerçekleşmesi için size minnettar olacağım.
Ve bir ticaret danışmanı yazarken yorumlarınız kesinlikle benim için yararlı olacaktır.
teşekkürler
Kestiğim için özür dilerim. Ama... Ve ticaret ve ticaret dışı Uzman Danışmanlar arasında çizgi çizme mantığı nasıl olmalıdır?
İşteyken saatinize evde baktığınızdan farklı mı bakıyorsunuz?