[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 193

 

Söylemek.

#özellik göstergesi_separate_window

//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{

//---- göstergeler
ObjectCreate("kâr",OBJ_LABEL,0,0,0,0,0);


//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge yineleme işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
Print("Kar", HesapProfit());


string kar ="Kar = "+DoubleToStr(HesapProfit(),2);

ObjectSetText("kar",kar,9,"Tahoma",Beyaz);
ObjectSet("kâr",OBJPROP_XDISTANCE,3);
ObjectSet("kâr",OBJPROP_YDISTANCE,100);

}

grafiğin kendisinde değil, ayrı bir gösterge penceresinde nasıl görüntülenir? söyle bana))

 
alderru >> :

Bu, gösterge arabelleklerinin bildirilmesinin, hücre değerlerinin sıfıra eşit olduğu anlamına gelmediği anlamına gelir. Doğru şekilde?

Bu nedenle MathMax hesaplanmaz çünkü karşılaştırılan değerlerden biri (yani GBPUSD_High ) hiçbir değere sahip değildir (hiç sıfır bile değildir).

Açık. OneDepo'ya teşekkürler.

Herkesi basitleştirmemle karıştırdığım için özür dilerim (punto amaçlı). Daha önce de belirttiğim gibi, teklifin Yüksek değeriyle ilgilenmiyorum, kendi işlevinin çubuk üzerindeki maksimum değeriyle ilgileniyorum, eğrinin çubuğun oluşumu sırasında benim için güvenli bir şekilde çizdiği ve yeniden çizdiği eğri . Beni ilgilendiren, bar sırasındaki bu gösterge yeniden çizim aralığıydı.

Düşüneceğim.

PS Ama neden MathMin sorgusuz sualsiz kabul ediliyor, çünkü koşullar eşit ve aynı şekilde açıklanıyor?

PSS Somewhere Ben çok aptalım. Çalışmıyor. Bana yardım et lütfen.

Pekala, çözelim.

1. Gösterge arabelleğinin değerlerinin atanmamış değerler olduğunu söylemek, yani. keyfi değerler veya bilgilendirici "çöp", sizi bilerek korkuttum, çünkü bunun gibi değişkenleri kullanmak klasiklerin dediği gibi "kötü bir fikir". İnanın bana, programlama dili ne olursa olsun, kullanılan tüm değişkenleri her zaman başlatarak hayatınızı büyük ölçüde basitleştireceksiniz. MQL4'ün özelliklerinden biri, varsayılan olarak yerel değişkenleri sıfıra ve gösterge arabelleklerini EMPTY_VALUE olarak başlatmasıdır. Yardımdan:

BOŞ_VALUE 0x7FFFFFF Varsayılan değer, boş değer işaretçisi.

Unutulmamalıdır ki bu değer SetIndexEmptyValue() işlevi ile değiştirilebilmektedir, ancak sizin durumunuzda bu gerekli değildir, bu yüzden konuyu dağıtmayacağız.


2. Gösterge arabelleğinin değeri EMPTY_VALUE değerine eşitse, gösterge bu noktada çizilmez.


3. Şimdi elimizdekilere bakıyoruz.

GBPUSD_High[i]=MathMax(GBPUSD_High[i],GBPUSD[i]);

EMPTY_VALUE yani yaklaşık 2 üzeri dokuzuncu güç 1,6 ile karşılaştırılır. MathMax() ne döndürecek? Bu doğru, gösterge tamponunun i-inci elemanına girilen ve madde 2'ye göre EMPTY_VALUE çizilmeyecektir.

kod ile

GBPUSD_Low[i]=MathMin(GBPUSD_Low[i],GBPUSD[i]);

benzer şekilde, MathMin() öğesinin 1.6'yı döndürmesi farkıyla. Düşük arabellek çizilecektir.

Çözüm. Kalın olanı tekrar okuyun.

İyi şanlar

 
PyMbIH >> :

grafiğin kendisinde değil, ayrı bir gösterge penceresinde nasıl görüntülenir? söyle bana))

 int init ( )
   {
   IndicatorShortName ( "Profit" ) ;
   return ( 0 ) ;
   }
 int start ( )
{
//----
if ( ObjectFind ( "прибыль" ) < 0 )
   {
   int win_idx = WindowFind ( "Profit" ) ;
   ObjectCreate ( "прибыль" , OBJ_LABEL , win_idx , 0 , 0 , 0 , 0 ) ;
   } //и т.д.

bunun gibi bir şey)

 
OneDepo писал(а) >>

Peki, çözelim...

İyi şanlar

Anladım.

Çubuğun oluşumu sırasında ara sonuçları depolayan ve karşılaştırılacak olan Maks[0] ve Min[0] ek değişkenlerini tanıttım ve bunların değerlerini sırasıyla göstergem GBPUSD_Yüksek[i] ve ...Düşük[ olarak atadım. ben] . Bu yüzden başlatılmamış değişkenlerle karşılaştırmam gerekmedi :-)

Ve her şey çalıştı!

Açıklama için OneDepo'ya çok teşekkürler, öğreticiyi okurken bir yerlerde onu kaçırdım.

 

Ilan1.4'e nasıl stop loss ekleyeceğimi söyleyin.

misal:

harici int StopLoss = 50

ne eklenmesi gerekiyor???

bilet= OrderSend (Symbol(),OP_BUYLIMIT,pLots,pLevel,sp,StopLong(pr,sl),TakeLong(pLevel,tp),pComment,pMagic,pExpiration,pColor);

bilet=OrderSend(Symbol(),OP_BUYSTOP,pLots,pLevel,sp,StopLong(pr,sl),TakeLong(pLevel,tp),pComment,pMagic,pExpiration,pColor);

 
tmp.0 >> :
Bir sonraki soru lütfen :)

Bana bir "set" danışman dosyasını nasıl yapacağımı söyle.

Test cihazında uzmanın özelliklerinde daha fazla "kaydetmeye" çalıştım, ama nasıl değil.

YARDIM!

 
aksol >> :

Bana bir "set" danışman dosyasını nasıl yapacağımı söyle.

Test cihazında uzmanın özelliklerinde daha fazla "kaydetmeye" çalıştım, ama nasıl değil.

YARDIM!

yani her şeyi doğru yapıyorsun.

 
sergeev >> :

yani her şeyi doğru yapıyorsun.

"Sembolsets" klasörüne kaydediyorum, bu doğru mu yoksa daha kolay bir yolu var mı?

Teşekkür ederim.

 

Tünaydın.

Aşağıda hindi desenli bir dosya var, farklı TF'lerde sürekli bu hatayı veriyor

2009.08.20 11:58:49 EURUSD'de 'C:\Programme\XTB-Trader 4\experts\indicators\MTFPI-sub1.ex4' dosyası açılamıyor,Daily Şimdiden teşekkürler.
Dosyalar:
 
grego писал(а) >>

Tünaydın.

Aşağıda hindi desenli bir dosya var, farklı TF'lerde sürekli bu hatayı veriyor

2009.08.20 11:58:49 EURUSD'de 'C:\Programme\XTB-Trader 4\experts\indicators\MTFPI-sub1.ex4' dosyası açılamıyor,Daily Şimdiden teşekkürler.

MTFPI-sub1 göstergesi eksik

Neden: