Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 876
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
Dizinin boyutu sıfırdır. ArrayResize()'ı unutmayınız veya hemen istenen dizi boyutunu ayarlayınız.
Merhaba,
Resimde gösterilen:
İlk pencere Hacim göstergesidir, Para Akışı Endeksini (10) en üste koyun.
Ayrı bir gösterge yaptım, yine Hacim aldığım, Hacim'den hareket etmeyi yeniden hesapladığım ve ilk penceredeki gibi yapmaya çalıştığım - %25, %50, %75.
Ama bunu yapma şekli pek iyi değildi.
Bu sorunla karşılaşan varsa lütfen paylaşsın.
teşekkürler
#property indicator_separate_window #property indicator_buffers 2 #property indicator_minimum 0 #property indicator_width1 2 #property indicator_width2 2 #property indicator_color1 DodgerBlue #property indicator_color2 Yellow extern int MAPeriod = 30; double volum[],ma[]; //+------------------------------------------------------------------+ int init(){ int bars_count=WindowBarsPerChart(),volh; int bar=WindowFirstVisibleBar(); volh = Volume[iHighest(Symbol(),0,MODE_VOLUME,bar,0)]; SetIndexBuffer(0,volum); SetIndexBuffer(1,ma); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexStyle(1,DRAW_LINE); SetLevelValue (0, volh*1.05); SetLevelValue (1, ((volh*1.05)/100)*75.0); SetLevelValue (2, ((volh*1.05)/100)*50.0); SetLevelValue (3, ((volh*1.05)/100)*25.0); return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ /*int start(){ int limit; limit = Bars-IndicatorCounted()-1; for(int i=limit;i>=0;i--){ volum[i] = NormalizeDouble(Volume[i],0); ma[i] = NormalizeDouble(iMAOnArray(volum,0,MAPeriod,0,MODE_SMA,i),0); } return(0); }*/ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i=rates_total-prev_calculated-1; if(i<0) i=0; while(i>=0){ if(i<rates_total-1) volum[i] = NormalizeDouble(Volume[i],0); ma[i] = NormalizeDouble(iMAOnArray(volum,0,MAPeriod,0,MODE_SMA,i),0); i--; } return(rates_total); }
Eksi ikinci çubuktan bahsetti. Ve kısıtlamaların ortalama değeri hakkında. Alay etmek istiyor, imhenko. Ben gönderirdim ve sen - bildiğin gibi :)
Ve kötüllive ve artmedia70 çok teşekkürler. Sabrınız ve zamanınız için. Eminim bu sadece senin hakkındaki düşüncem değildir. Bu konuya yönelen herkes yardım ister ve esas olarak sizden alır. Teşekkürler\
merhaba sevgili profesyoneller uzun zamandır sizinle iletişim kurmuyoruz
Sonuç olarak, bir emrin açılmasıyla 2 hamlenin kesiştiği bir danışman var, orada rahatsız olmadılar
geçersizTicaret()
{ double ma_fast=ma( Period_ ,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0);
if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt)))
{
if(sumSO>0 && !ClosePos(OP_SELL)) dönüş;
if(MO(OP_BUY,GetLot(),GetComment())==-1) dönüş;
if(!ModifyByTicket(T)) dönüşü;
NumbUp=0; NumbDn=0;
}
başka
vb..
yani, mesafenin bir kesişimi varsa, bir sipariş açın
Deyim yerindeyse son kavşağın zamanını bulabilecek bir koda ihtiyacım var..
şu anki andan geçmişte belirlenen zamana kadar, dönemin altına giren emirleri arardım ve bulamazsam bir emir açardım.
bu amaçlar için izleyici göstergelerinin kodunu yırttım, orada her şey açık görünüyor
ama eğrilerin kesişmesinden sonraki ilk çubuğun zamanını nasıl tespit edeceğimiz burada ve aşırı sağ olmasına rağmen net değil
Bir operatöre ihtiyacım olduğunu hissediyorum, ancak formüle edemiyorum
Bu böyle yapılmaz. 3 tamponun tümü için iCustom çağrılır, her değer kendi değişkenine yazılır ve ardından bu değerlerle ihtiyacınız olanı yapın.
Bollinger bantları için, ikinci çubukta, referanstaki örneğe göre tıkaç gerekmez:
Teşekkür ederim.
Ancak, okuma yazma bilmediğim için, ders kitabını sürekli karıştırmam gerekiyor ve ortaya çıkardığım şey şu: özel bir gösterge bir programdır ... yazarın algoritmasına göre yazılmıştır. Kılavuz, iCustom'un belirtilen özel göstergenin değerini döndürdüğünü söylüyor.
Ancak herhangi bir özel (yani, anladığım kadarıyla, benim tarafımdan geliştirilen) göstergeler kullanmıyorum.
Standart, yani indikatör diyebilirsem değerleri, belirttiğim parametrelerle Hareketli Ortalama, Bollinger Bantları ve Stokastik Osilatör değerlerini çıkarmam gerekiyor. Tabii ki "dürtme yöntemi" ile yapıyorum - önce bulduğumu sonra uyguluyorum. Ancak önerdiğiniz seçenek bana da doğru gelmiyor.
Herhangi bir arabellek, dizi, döngü kullanmadan gerçekten bir çözüm yok mu? İçlerinde denizdeki bir parke taşı gibiyim - hemen boğuluyorum.
merhaba sevgili profesyoneller uzun zamandır sizinle iletişim kurmuyoruz
Sonuç olarak, bir emrin açılmasıyla 2 hamlenin kesiştiği bir danışman var, orada rahatsız olmadılar
geçersizTicaret()
{ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0);
if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt)))
{
if(sumSO>0 && !ClosePos(OP_SELL)) dönüş;
if(MO(OP_BUY,GetLot(),GetComment())==-1) dönüş;
if(!ModifyByTicket(T)) dönüşü;
NumbUp=0; NumbDn=0;
}
başka
vb..
yani, mesafenin bir kesişimi varsa, bir sipariş açın
Deyim yerindeyse son kavşağın zamanını bulabilecek bir koda ihtiyacım var..
şu anki andan geçmişte belirlenen zamana kadar, dönemin altına giren emirleri arardım ve bulamazsam bir emir açardım.
bu amaçlar için, izleyici göstergelerinin kodunu parçaladım, orada her şey açık görünüyor
ama eğrilerin kesişmesinden sonraki ilk çubuğun zamanını nasıl tespit edeceğimiz burada ve aşırı sağ olmasına rağmen net değil
Bir operatöre ihtiyacım olduğunu hissediyorum, ancak formüle edemiyorum
Bu Uzman Danışman kavşaklarda çalışmaz. Burada kriter şudur: Hızlı MA yavaş olandan X pip daha yüksekse ve açık pozisyon yoksa piyasaya göre açın.
Bir kavşak aramak için, her zaman bir çift değer almanız gerekir - kavşaktan ÖNCE "hızlı / yavaş MA" ve kavşaktan SONRA "hızlı / yavaş MA", ne zaman yer değiştirdiklerini algılamak için tabiri caizse . yani
if(FastMA_2<SlowMA_2 && FastMA_1>SlowMA_1) - hızlı MA, yavaş MA'yı 1. ve 2. çubuklar arasında aşağıdan yukarıya geçti.
Sonsuz bir döngüde, kesişim bulunana kadar sıfır çubuğundan arama yapın, bu X + 1 çubuk olacaktır ve X çubuğunun, yani kesişmeden sonraki en son çubuğun zamanına ihtiyacınız vardır.
Teşekkür ederim.
Ancak, okuma yazma bilmediğim için, ders kitabını sürekli karıştırmam gerekiyor ve ortaya çıkardığım şey şu: özel bir gösterge bir programdır ... yazarın algoritmasına göre yazılmıştır. Kılavuz, iCustom'un belirtilen özel göstergenin değerini döndürdüğünü söylüyor.
Ancak herhangi bir özel (yani, anladığım kadarıyla, benim tarafımdan geliştirilen) göstergeler kullanmıyorum.
Standart, yani indikatör diyebilirsem değerleri, belirttiğim parametrelerle Hareketli Ortalama, Bollinger Bantları ve Stokastik Osilatör değerlerini çıkarmam gerekiyor. Tabii ki "dürtme yöntemi" ile yapıyorum - önce bulduğumu sonra uyguluyorum. Ancak önerdiğiniz seçenek bana da doğru gelmiyor.
Tampon, dizi, döngü kullanmadan gerçekten bir çözüm yok mu? İçlerinde denizdeki bir parke taşı gibiyim - hemen boğuluyorum.
merhaba sevgili profesyoneller uzun zamandır sizinle iletişim kurmuyoruz
Sonuç olarak, bir emrin açılmasıyla 2 hamlenin kesiştiği bir danışman var, orada rahatsız olmadılar
geçersizTicaret()
{ double ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0), ma_slow=ma(Period__,Shift__,Method_MA__,Apply_to__,0);
if(sumBO==0 && ma_fast>ma_slow && (!Use_Distance || (Use_Distance && ND(ma_fast-ma_slow)>Distance*Pnt)))
{
if(sumSO>0 && !ClosePos(OP_SELL)) dönüş;
if(MO(OP_BUY,GetLot(),GetComment())==-1) dönüş;
if(!ModifyByTicket(T)) dönüşü;
NumbUp=0; NumbDn=0;
}
başka
vb..
yani, mesafenin bir kesişimi varsa, bir sipariş açın
Deyim yerindeyse son kavşağın zamanını bulabilecek bir koda ihtiyacım var..
şu anki andan geçmişte belirlenen zamana kadar, dönemin altına giren emirleri arardım ve bulamazsam bir emir açardım.
bu amaçlar için izleyici göstergelerinin kodunu yırttım, orada her şey açık görünüyor
ama eğrilerin kesişmesinden sonraki ilk çubuğun zamanını nasıl tespit edeceğimiz burada ve aşırı sağ olmasına rağmen net değil
Bir operatöre ihtiyacım olduğunu hissediyorum, ancak formüle edemiyorum