MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 158
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
bu tasarıma sahibim
static datetime TimeN=0;
void OnTick()
{
datetime TimeC=iTime(NULL,TF,0);
if(TimeN==0)TimeN=TimeC;
if(TimeN==TimeC) return;
TimeN=TimeC;
Teşekkür ederim!!!
Uzmanlardan biri bile mesajları okumak istemiyorsa neden bir konu oluşturduğunu merak ediyorum. Neden yardım istedim. Bu dalda ise, tüm uzmanlar derinde derindir.
Bunu sen yazdın:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu
vannoo , 2017.03.17 15:57
İnsanlar bana burada neyi yanlış yaptığımı söyleyebilirler, öyle değil; Yaklaşık üç haftadır MQL4 Uzman Danışmanları yazmayı öğreniyorum! Ve böylece her şey yolundaymış gibi hiçbir hata veya uyarı derledim. Sonra büyük bir AMA ortaya çıktı, çalışmak istemiyor. Belki burada birileri bana nerede yanıldığımı ve neyi yanlış yaptığımı söyler. Herhangi biri önermeyi kabul ederse bana bildirin. Ve hemen buraya nasıl atılacağını yazın, yoksa ilk defa buradayım ve burada nasıl yapılır. Nasıl olduğunu görmeme rağmen.herkese selam
Programlamada yeniyim ama öğrenmeye çalışıyorum)
Göstergeye göre bir siparişi kapatmakla ilgili büyük bir sorunum yok
Açılış ve kapanış şartlarını hemen anlatacağım, bir hindinin endikasyonlarına göre bir anlaşma açıp endikasyonlara göre siparişi kapatıyorum ama tam tersi yönde, stop ve karsız
if(r > 50 && p > m) // sipariş açma koşulları satın al
{
biletB = OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",111,0,Yeşil); // satın alma emri açma
}
Sipariş kapatma koşulunu doğru yazıyor muyum?
if(r < 50 && p < m) --- bu, bir siparişi satmak ve kapatmak için bir koşuldur
{
SiparişKapat(ticketB,0.1,Teklif,5,Kırmızı);
}
ve başlatılmamış 'ticketB' değişkeninin olası kullanımını atar ve 'OrderClose' dönüş değeri kontrol edilmelidir
Beyler bana nerede yanlış yazdığımı söyler misiniz?
Söyle bana, lütfen, tarihlerin bir döngü yinelemesini nasıl yapacağımı - yıllar ve çeyrekler arasında - aralıklar üzerinde yinelemem gerekiyor.
Örneğin, ilk aralık 01/01/2010 - 31/12/2010, ikincisi 01/01/2011 - 31/12/2011 - bunu bir döngü içinde nasıl organize edebilirim?
Kendimi daha önce açıkça ifade etmediysem, işte bir şekilde sıkıştırmak istediğim bir tasarım örneği ...
for(int Ti=0; Ti<18; Ti++) { if(Ti==0) {start_time=D'01.01.2000'; stop_time=D'31.12.2000';} if(Ti==1) {start_time=D'01.01.2001'; stop_time=D'31.12.2001';} if(Ti==2) {start_time=D'01.01.2002'; stop_time=D'31.12.2002';} if(Ti==3) {start_time=D'01.01.2003'; stop_time=D'31.12.2003';} if(Ti==4) {start_time=D'01.01.2004'; stop_time=D'31.12.2004';} if(Ti==5) {start_time=D'01.01.2005'; stop_time=D'31.12.2005';} if(Ti==6) {start_time=D'01.01.2006'; stop_time=D'31.12.2006';} if(Ti==7) {start_time=D'01.01.2007'; stop_time=D'31.12.2007';} if(Ti==8) {start_time=D'01.01.2008'; stop_time=D'31.12.2008';} if(Ti==9) {start_time=D'01.01.2009'; stop_time=D'31.12.2009';} if(Ti==10) {start_time=D'01.01.2010'; stop_time=D'31.12.2010';} if(Ti==11) {start_time=D'01.01.2011'; stop_time=D'31.12.2011';} if(Ti==12) {start_time=D'01.01.2012'; stop_time=D'31.12.2012';} if(Ti==13) {start_time=D'01.01.2013'; stop_time=D'31.12.2013';} if(Ti==14) {start_time=D'01.01.2014'; stop_time=D'31.12.2014';} if(Ti==15) {start_time=D'01.01.2015'; stop_time=D'31.12.2015';} if(Ti==16) {start_time=D'01.01.2016'; stop_time=D'31.12.2016';} if(Ti==17) {start_time=D'01.01.2017'; stop_time=D'31.12.2017';} }
Bir dizedeki bir noktayı virgülle değiştirmek istiyorum - çalışmıyor - neyi yanlış yapıyorum?
Kendimi daha önce açıkça ifade etmediysem, işte bir şekilde sıkıştırmak istediğim bir tasarım örneği ...
yıllara göre böyle bir şey olabilirse
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 17 Başlangıç = 2017.01.01 Durdur = 2017.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 16 Başlangıç = 2016.01.01 Durdur = 2016.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 15 Başlangıç = 2015.01.01 Durdur = 2015.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 14 Başlangıç = 2014.01.01 Durdur = 2014.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 13 Başlangıç = 2013.01.01 Durdur = 2013.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 12 Başlangıç = 2012.01.01 Durdur = 2012.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 11 Başlangıç = 2011.01.01 Durdur = 2011.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 10 Başlangıç = 2010.01.01 Durdur = 2010.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 9 Başlangıç = 2009.01.01 Durdur = 2009.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 8 Başlangıç = 2008.01.01 Durdur = 2008.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 7 Başlangıç = 2007.01.01 Durdur = 2007.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 6 Başlangıç = 2006.01.01 Durdur = 2006.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 5 Başlangıç = 2005.01.01 Durdur = 2005.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 4 Başlangıç = 2004.01.01 Durdur = 2004.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 3 Başlangıç = 2003.01.01 Durdur = 2003.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 2 Başlangıç = 2002.01.01 Durdur = 2002.12.31
2017.03.20 21:24:14.002 Yıl_Test EURUSD,M15: Ti = 1 Başlangıç = 2001.01.01 Durdur = 2001.12.31
Bir dizedeki bir noktayı virgülle değiştirmek istiyorum - çalışmıyor - neyi yanlış yapıyorum?
İşler
2017.03.20 21:39:02.802 StringReplace EURUSD,M15: 999,99 = 999,99