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
Marco vd Heijden :
Eğer gerçekten her tik için beklemek istiyorsanız, her sembol için ayrı bir EA yazmanız ve OnTick() işlevini kullanmanız gerekecektir.
Ama size şunu söyleyebilirim ki, mikro denetleyicileri de programlıyorum ve bunlar bir elektrik kesintisi veya kesinti meydana gelene kadar sonsuz bir while döngüsünde (sonsuza kadar) bulunuyorlar.
Bir koşulun doğru veya yanlış olup olmadığını kontrol etmek için, en küçük Boolean veri türünü kullanır ve işlemciniz bunu, arka planda çalışan tüm işlemler ve grafikler vb. ile saniyede milyarlarca kez olmasa bile milyonlarca kez yapar.
Daha büyük veri türlerini içeren ağır hesaplamalar yapmaya başladığınızda, bu bir sorun haline gelir.
#Sipariş Hesaplamaları ve Hesap Bilgileri Güncellemeleri - Kapatıldı
Yorum için teşekkürler.
Ayrı EA, oh! Birden fazla EA oynamayı gerçekten sevmiyorum.
Belki sürekli döngüler kullanacağım hatta bazen döngüleri boşuna kullanacağım.
EventSetMillisecondTimer ( 750 );
EventSetTimer ( 1 );
Bilgisayarımın çok zayıf olduğunu düşünmüyorum, umarım bana yardımcı olabilir.
...ağır hesaplamalar... hmm, gerçekten bilmiyorum - "Siparişler Sat, Al, Kar, Tüm pozisyonlar" hesaplamaları ağır mı ne? Bu ağır mı, lütfen?
Yorumlarınız için teşekkürler.
Herşey gönlünce olsun.
Hayır, bu ağır hesaplamalar değil ve tüm pozisyonları idare etmek için tasarlandığını unutmayın.
İşte kolayca yapabileceklerine bir örnek.
Yani burada tüm semboller için tüm zaman dilimlerindeki hacimleri ve ayrıca mevcut tüm semboller için yayılma olan ilk satırı soruyor.
Şimdi tüm semboller için tüm değişkenlerde min'den maks'a sıralama yapması gerekiyor, bu yüzden çok iş var.
Veya bu bir çok sembollü Renko Matrix'tir.
Yığın tuğlaların dikey bileşeni kaldırılmıştır, şimdi 40 pip tuğlayı yatay olarak yerleştirir, bu da tüm sembolleri tek bir grafikte birbiriyle karşılaştırmayı uygun hale getirir.
Normalde hepsini karşılaştırmayı ÇOK zorlaştıracak 26 ayrı Renko çizelgesi olurdu, ancak bu tiple göz açıp kapayıncaya kadar yapılabilir.
Tabii ki 26 sembol için hareketi takip etmesi gerekiyor ki bu da çok iş ama gerçekten iyi ve hızlı bir bilgisayar için değil, umarım konuyu anlamışsınızdır.
Her şey hızlı çalışan bir zamanlayıcı ile yapılıyor, onu sembol bazında nasıl kodlayacağımı bile bilmiyorum, bana sorarsanız delilik olur.
Marco vd Heijden :
Her şey hızlı çalışan bir zamanlayıcı ile yapılıyor, onu sembol bazında nasıl kodlayacağımı bile bilmiyorum, bana sorarsanız delilik olur.
Yorum için teşekkürler Adam.
Sadece şunu söylemem gerekiyor, Eğer içine gireceksem, kesinlikle oradan bir Kodlayıcı veya Programcı gibi ayrılacağımı biliyorum. (çünkü birinin bunu yapması gerekiyorsa kodlayıcı veya programcı olabilir...)
Bu benim için uzun zaman alacak. Sadece bir vazgeç...
Sanırım bu alt konuyu kapatabilirim çünkü uzun zaman alacağından endişeleniyorum.
Bazen bu Kod Endüstrisinde kendimi kaybediyorum.
Her neyse, şimdiye kadar bu kod endüstrisinden çok şey aldım.
En son yorumunuzdan sonra ve sadece Terminal Ticaret paneli sembollerinin işaretlerini almam gerekirse, çok farklı yollar deneyebilirim (ama aslında kod bilgim bana bu fırsatı veremez).
Ayrıca Terminal Ticaret paneli kenelerini düşünen ilk adam olduğumu gerçekten düşünüyorum ?! (Ben böyle olmasını istemem.)
Uzun zaman önce bazı Dashboard EA'lar gördüm - ki bu gerçekten o tip EA'lar pek ilginç değilim, kesinlikle benim için kullanışlı değil.
Bana yardım etme girişimleriniz için çok teşekkür ederim.
(İngilizce benim ana dilim değil)
Zaman alır ama sonsuza kadar değil.
Ve daha akıllı olduğunuzda, deneyim sayesinde daha da hızlı olacaksınız.
Başlangıç en zor kısımdır.
İstediğiniz kadar basit veya karmaşık hale getirebilirsiniz.
Ancak basit şeylerle başlamak daha kolay olabilir.
Ama amacınız nedir, iyi bir kodlayıcı olmak ister misiniz? yoksa iyi bir tüccar mı olmak istiyorsun? ya da her ikisi de ?
Marco vd Heijden :
Zaman alır ama sonsuza kadar değil.
Ve daha akıllı olduğunuzda, deneyim sayesinde daha da hızlı olacaksınız.
Başlangıç en zor kısımdır.
İstediğiniz kadar basit veya karmaşık hale getirebilirsiniz.
Ancak basit şeylerle başlamak daha kolay olabilir.
Ama amacınız nedir, iyi bir kodlayıcı olmak ister misiniz? yoksa iyi bir tüccar mı olmak istiyorsun? ya da her ikisi de ?
Evet haklısın ama şu an için yeterli zamanım yok, dediğim gibi çok zamanımı alacak diye endişeleniyorum.
Evet doğru, Trade Panel EA'larım için bir senaryo yazmaya başladığımda, sadece basit şeylere başladım, ama şimdi Trade Panel EA'larımı seviyorum. Evet, benden çok zaman aldı, ama buna değer.
Aslında bugün Kodlayıcı ve Programcı olacağımı düşünmüyorum. Ancak bu, Kodlayıcı ve Programcının ne olduğunu bilmediğim anlamına gelmez.
Bazen aklıma bir fikir geliyor ama yapamam, olamaz diye düşünüyorum.
Tek bir sebep var, o da benim zayıf kod bilgim.
Ayrıca bu fikirleri yazamam, ama nedenini bilmiyorum?!
Evet! Bugün iyi bir tüccar ve kodlayıcı olmak istiyorum.
Zaman ayırdığınız için teşekkürler.
Bir akış şemasına koyabilirsiniz, bu biraz daha kolay.
İşte bir örnek:
Bunları http://draw.io adresinde ücretsiz yapabilirsiniz.
Akış şemasına koyabilirsiniz, bu biraz daha kolay.
İşte bir örnek:
Bunları http://draw.io adresinde ücretsiz yapabilirsiniz.
Vay canına, benimle paylaştığın için teşekkürler.
Vakit buldukça deneyeceğim.
Çok teşekkürler dostum.
#Spread Lines - Aç
S: Birkaç TrendLine nesnesi kullanıyorsam, her biri için ' ObjectMove ' işlevini kullanmalı mıyım?
Sadece onlar için akıllı yöntemler arıyorum, lütfen bana tavsiye verin veya örnek olarak bana yardımcı olun.
ObjectMove ( name, 1 , Time [ 0 ] + ( PeriodSeconds ( NULL ) * 1 ), Bid );
Bildiğiniz gibi, TrendLine nesnelerini Yayılma Çizgileri için kullanıyorsam, bu TrendLine nesnelerinin boyutları farklı Grafik Zaman Çerçevelerinde ve Ölçeklerde değişebilir.
Q: Bunu örnekle nasıl öğrenebilirim?
Q: Ayrıca, bu senaryoyu EA'nın Ticaret Paneline yazmam gerekiyor, tavsiyeniz nedir, lütfen?
Şimdiden teşekkürler.
Fiyat düzeyinde hareket eden dikey bir çizgi mi, zaman ekseni boyunca hareket eden yatay bir kireç mi yoksa her ikisi boyunca hareket eden açıya göre bir eğilim çizgisi mi?
Bunları ObjectMove() ile taşıyabilir veya silip yenilerini çizebilirsiniz.
Zaman çerçevesine bağlıysa, birkaç sayfa önce yayınlanan zaman çerçevesi anahtarını kullanabilirsiniz.
OnDeinit() üzerinde farklı bir zaman çerçevesine geçiş yaptığımda her zaman her şeyi silerim ve ardından OnInit() veya ayrı bir çizim işlevi() içinde yenilerini çizerim.
Herhangi bir zaman diliminde aynı olan satırları yaymak istiyorsanız, oninit() içinde iki veya üç tane oluşturabilir ve bunları OnTick() içinde hareket ettirebilirsiniz.
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
ObjectCreate ( "Ask" , OBJ_HLINE ,0,0, Ask ); ObjectSetInteger (0, "Ask" , OBJPROP_COLOR , clrGold ); ObjectSetInteger (0, "Ask" , OBJPROP_WIDTH , 1 );
ObjectCreate ( "Bid" , OBJ_HLINE ,0,0, Bid ); ObjectSetInteger (0, "Bid" , OBJPROP_COLOR , clrGold ); ObjectSetInteger (0, "Bid" , OBJPROP_WIDTH , 1 );
ObjectCreate ( "Center" , OBJ_HLINE ,0,0,( Ask + Bid )/ 2 );
ObjectSetInteger (0, "Ask" , OBJPROP_SELECTABLE , false );
ObjectSetInteger (0, "Bid" , OBJPROP_SELECTABLE , false );
ObjectSetInteger (0, "Center" , OBJPROP_SELECTABLE , false );
ObjectSetInteger (0, "Ask" , OBJPROP_BACK , true );
ObjectSetInteger (0, "Bid" , OBJPROP_BACK , true );
ObjectSetInteger (0, "Center" , OBJPROP_BACK , true );
ObjectSetInteger (0, "Center" , OBJPROP_COLOR , clrDeepSkyBlue );
ObjectSetInteger (0, "Center" , OBJPROP_WIDTH , 1 );
ObjectSetInteger (0, "Center" , OBJPROP_STYLE , STYLE_DASH );
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
ObjectMove ( "Ask" ,0,0, Ask );
ObjectMove ( "Bid" ,0,0, Bid );
ObjectMove ( "Center" ,0,0,( Ask + Bid )/ 2 );
}
//+------------------------------------------------------------------+
Çok basit mi yoksa aklında başka bir şey var mı?
Marco vd Heijden :
Çok basit mi yoksa aklında başka bir şey var mı?
#Spread Lines - Kapalı
Bana çok yardımcı olan harika yorumunuz için teşekkür ederim.
TrendLine nesnelerini bir Spread Fiyatları satırı gibi kullanmam gereken - Bid & Ask Lines.
(Kod bilgim sıfırın altındayken - Spread Lines tasarımı hakkında fikrim vardı - ama Spread line'ların değiştirildiği bir gösterge görene kadar bunun mümkün olmadığını düşündüm - ve ilham verdim ve bu yüzden zaten kendim yapmaya çalışmaya başladım. - bu gösterge bile ücretsiz - EA'ları ve Göstergeleri başkaları tarafından yapılanları kullanmayı sevmiyorum - " Haber Göstergesi " olmadan )
N ( not aldınız ): Zaman çerçevesine bağlıysa , birkaç sayfa geride yayınlanan zaman çerçevesi anahtarını kullanabilirsiniz.
N : OnDeinit() üzerinde farklı bir zaman çerçevesine geçtiğimde her zaman her şeyi silerim ve ardından OnInit() veya ayrı bir çizim işlevi() içinde yenilerini çizerim.
Ey! Bunu kesinlikle deneyeceğim.
Not etmek isterim:
Bahsettiğim gibi, göstergelerim için şimdiye kadar birçok şey yaptım ve ea gerçekten hepsi benim için mükemmel çalışıyor, ama bunları nasıl yaptınız diye sorarsanız?
Ey! Dostum bunların hepsini nasıl yaptığımı hatırlayamıyorum, o yüzden sadece söylemek istiyorum, birkaç sayfa geriye bakacağım...
Ve nasıl yenilerini çizebileceğimi öğrenmek istiyorum... çünkü şu ana kadar TrendLine zaman çerçevesini değiştirdiğimde bir sorun görüyorum.
---
Spread Lines - Bid & Ask Lines için aşağıdaki kodu deniyorum.
Q: Gönderilen hakkında hangisinden bahsettiniz, bu gönderi aşağıdaki kod sorunumu çözebilir mi, lütfen? (Henüz denemedim.)
Q: Ayrıca aşağıdaki kodda neyin yanlış olduğunu bana söyleyebilir misiniz?
D: ( O sorunları çözdüm. )
Şimdiden teşekkürler.