[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 297
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
ideali yok! Sadece genel bir bakış açısı için, tabiri caizse, kimin nasıl yazdığına bakıyorum. Bazen benimsenebilecek bazı numaralar buluyorum. Bazen kodun hiç okunamadığını görüyorum. Örneğin tarasBY gibi. Elimden geldiğince dene, okumayacak. Okunuyor gibi görünüyor, bölümler halinde anlaşılır ve ardından bam! Ayrıca bir incir değil, net değil. Ve pek çok yer.
Arkadaşlarımın isteği üzerine kuralları çözdüm, orada anlamak kodlarda tarasBY'den daha kolay. Belki bu normaldir, ancak birçok indiricinin onları anlayacağından şüpheliyim. Anlayamayacak kadar ileri olanlar indirmeyecekler... O zaman soru ortaya çıkıyor, neden orada yayınlıyorlar :)
Zaman Greenwich Ortalama Saati ile ölçülür.
Evet, uyuyorum. İyi geceler.
Katalonya'da ne diyorlar?
hiç de bile
Evet, iki doğal logaritma oranı vardır. Şimdi "Logaritmanın tabanını değiştirme" formülüne bakın. Yani, sonuç bu ifadedir.
bd_LOTSTEP için 10 tabanlı logaritmaya eşdeğerdir. MQL'nin ondalık logaritma için ayrı bir işlevi yoktur, bu nedenle bu dönüşüm kullanılır.
Aynı konudan bahsetti. Kondovy benim dilim ... Görünüşe göre programcı matematikten korkmuyor ya da bu kodu okumaktan bir tür koruma (şaka yapıyorum). Bilmiyorum, benim kişisel görüşüm, matematiğin algoritmayı wild if yerine switch... case ile aynı şekilde basitleştirdiğidir.
SetVLine()'ı göster;
yanlış veri, lütfen hatanın ne olduğunu belirtin. "Telif hakkı" dışındaki tüm kodları ekliyorum
harici intPeriodP=12;
harici int Zaman Çerçevesi=0;
çift P_up0,P_up1,FrApPrise;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
P_up0=iCustom(Symbol(),Period(),"Fiyat kanalı",PeriodP,0,0);
P_up1=iCustom(Symbol(),Period(),"reserve-xrust",FrApPrise,0,0);
{Yorum("price channel display=",P_up0,"\n","xrust display=",P_up1);}
//----
dönüş(0);
}
iki gösterge kullandı
1)https://www.mql5.com/ru/code/8908
türkiye Fiyat channel.mq4
2)https://www.mql5.com/ru/code/8318
türkiye Fractal_Level_Xrust_V2.mq4
lütfen yardım edin, 1'i ne kadar gösteriyor ama ikincisi istemiyor?
Aynı konudan bahsetti. Kondovy benim dilim ... Görünüşe göre programcı matematikten korkmuyor ya da bu kodu okumaktan bir tür koruma (şaka yapıyorum). Bilmiyorum, benim kişisel görüşüm, matematiğin algoritmayı wild if yerine switch... case ile aynı şekilde basitleştirdiğidir.
Bu kodda bir kusur var. Burada, bağlamdan çıkarılmış:
Mesele şu ki, ifade
Bu nedenle, lotun değeri bir ondalık basamağa yuvarlanacaktır.
Ama okumaya devam et, yardımcı olabilir.
Sorumun açıklamasına küçük bir ekleme. Crunch göstergesini yeniden düzenledim. İşte kod
#mülkiyet telif hakkı "#Copyright © 2008, XrustSolution.#"
#özellik bağlantısı "#xrust.ucoz.net#"
#özellik göstergesi_chart_window
extern int TimeFrame=0;//If=0, o zaman geçerli
extern string FrApNam="Ap";//Yukarı Fraktal'e karşılık gelen satır adı
extern string FrDnNam="Dn";//Aşağı fraktala karşılık gelen satır adı
//------------------------------------------------ ------------------------------+
çift FrPrise;
çift FrApPrise=0,FrDnPrise=0;
//+------------------------------------------- ------------------------------+
geçersiz init(){
if(TimeFrame==0){TimeFrame=Period();}
GöstergeShortName("Factal_Level_Xrust"+TimeFrame);
FrApNam=StringConcatenate(FrApNam,TimeFrame);
FrDnNam=StringConcatenate(FrDnNam,TimeFrame);
dönüş;}
geçersiz tanım(){
ObjectDelete(FrDnName);
ObjectDelete(FrApName);
yorum(" ");
dönüş;}
//+------------------------------------------- ------------------------------+
int başlangıç()
{
int counted_bars=IndicatorCounted();
int limiti;
çift tmp;
int i,j,k;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=bars-counted_bars;
//------------------------------------------------ ------------------------------+
lineap();
LineDn();
string FAP=DoubleToStr((FrApPrise),Rakamlar);
string FDP=DoubleToStr((FrDnPrise),Rakamlar);
int diap=MathRound((FrApPrise-FrDnPrise)/Nokta);
{Comment("ZamanÇerçevesi="+ZamanÇerçevesi+
"\nApPrise111="+FAP+
"\nDnPrise="+FDP+
"\nFraktal Kanal ="
+diap+"Nokta");}
dönüş(0);
}
//------------------------------------------------ ------------------------------+
// Fiyat değiştiyse yeniden çizerek yatay bir çizgi arar |
//------------------------------------------------ ------------------------------+
geçersiz LineDn(){
FrPrise=NormalizeDouble(FindNearFractal(0,TimeFrame,MODE_LOWER),MarketInfo(Symbol(),MODE_DIGITS));
FrPrise=NormalizeDouble(FrPrise,MarketInfo(Symbol(),MODE_DIGITS));
//Yorum(FrPrise);
if(ObjectFind(FrDnNam)==0){
if(ObjectGet(FrDnNam,OBJPROP_PRICE1)==FrPrise){return;}}
FrDnPrise=FrPrise;
ObjectDelete(FrDnName);
WindowRedraw();
dönüş;}
//------------------------------------------------ ------------------------------+
// Fiyat değiştiyse yeniden çizerek yatay bir çizgi arar |
//------------------------------------------------ ------------------------------+
geçersiz LineAp(){
FrPrise=NormalizeDouble(FindNearFractal(0,TimeFrame,MODE_UPPER),MarketInfo(Symbol(),MODE_DIGITS));
FrPrise=NormalizeDouble(FrPrise,MarketInfo(Symbol(),MODE_DIGITS));
if(ObjectFind(FrApNam)==0){
if(ObjectGet(FrApNam,OBJPROP_PRICE1)==FrPrise){return;}}
FrApPrise=FrPrise;
ObjectDelete(FrApName);
WindowRedraw();
dönüş;}
//------------------------------------------------ ------------------------------+
// Kim Saygı ve saygı !!! |
//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 07.10.2006 |
//| Açıklama : En yakın fraktal arayın. Fiyat düzeyini döndürür. |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| sy - alet adı ("" veya NULL - geçerli sembol) |
//| tf - zaman çerçevesi ( 0 - mevcut TF) |
//| mod - fraktal tip (MODE_LOWER|MODE_UPPER) |
//+------------------------------------------- ------------------------------+
double FindNearFractal(string sy="0", int tf=0, int modu=MODE_LOWER) {
if (sy=="" || sy=="0") sy=Symbol();
çift f=0;
int d=MarketInfo(sy, MODE_DIGITS), s;
if (d==0) if (StringFind(sy, "JPY")<0) d=4; başka d=2;
for (s=2; s<100; s++) {
f=iFractals(sy, tf, mod, s);
if (f!=0) return(NormalizeDouble(f,d));
}
Print("FindNearFractal(): Fraktal bulunamadı");
dönüş(0);
}
Sadece grafikte çizgilere ihtiyacım yok, sadece iki sayıya ihtiyacım var (bu ruh göstergelerinden birer tane).
Sorumun açıklamasına küçük bir ekleme. Crunch göstergesini yeniden düzenledim. İşte kod
Bir cevap istiyorsanız, ayaklarınızı okuyanlara saygı gösterin.
Kod, SRC düğmesi kullanılarak girilmelidir - diğer biçimlendirme araçlarının yanı sıra mesajınızın düzenleme alanının üzerindedir.