[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 308
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
Faydalı olabilir. İşte böyle çalışır!
Meta düzenleyicide F5 tuşu derlemektir.
Önemli! Meta düzenleyici, terminal ile aynı klasörden başlatılmalıdır.
Alex benimle misin? mql4'te yeniyim.Bu kodu anlamaya çalışıyorum
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
extern int TimeFrame=0;//If=0, o zaman geçerli
extern int Uzaklık=0;//fraktaldan nokta olarak çizgi mesafesi
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ı
dış renk ClAp=Mavi;//Fractal yukarıya karşılık gelen çizgi rengi
dış renk ClDn=Kırmızı;//Aşağı fraktala karşılık gelen çizgi rengi
extern bool comment=true;//Yorum yapma izni
//------------------------------------------------ ------------------------------+
çift FrPrise,znach1,znach2;
çift FrApPrise=0,FrDnPrise=0;
çift ind_buffer1[];
çift ind_buffer2[];
//+------------------------------------------- ------------------------------+
geçersiz başlangıç()
{if(TimeFrame==0){TimeFrame=Period();}
SetIndexBuffer(0,ind_buffer1);//BOX
SetIndexBuffer(1,ind_buffer2);
dönüş;}
geçersiz tanım(){
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();
double FAP=NormalizeDouble((FrApPrise-Distanse*Puan),5);//VALUE
double FDP=NormalizeÇift((FrDnPrise+Mesafe*Nokta),5);
int diap=MathRound((FrApPrise-FrDnPrise)/Nokta);
ind_buffer1[0]=FAP;
ind_buffer2[1]=FDP;
Comment("Zaman Çerçevesi="+Zaman Çerçevesi+
"\nApPrise=",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-Distanse*Point,MarketInfo(Symbol(),MODE_DIGITS));
//Yorum(FrPrise);
if(ObjectFind(FrDnNam)==0){
if(ObjectGet(FrDnNam,OBJPROP_PRICE1)==FrPrise){return;}}
FrDnPrise=FrPrise;
ObjectDelete(FrDnName);
SetHLine(ClDn,FrDnNam,FrDnPrise,0,1);
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+Mesafe*Nokta,MarketInfo(Symbol(),MODE_DIGITS));
if(ObjectFind(FrApNam)==0){
if(ObjectGet(FrApNam,OBJPROP_PRICE1)==FrPrise){return;}}
FrApPrise=FrPrise;
ObjectDelete(FrApName);
SetHLine(ClAp,FrApNam,FrApPrise,0,1);
WindowRedraw();
dönüş;}
//------------------------------------------------ ------------------------------+
//| 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);
}
//+------------------------------------------- ------------------------------+
//| Açıklama : Nesne OBJ_HLINE yatay çizgiyi ayarla |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| cl - çizgi rengi |
//| nm - isim ("" - mevcut çubuğun açılma zamanı) |
//| p1 - fiyat seviyesi (0 - Teklif) |
//| st - çizgi stili (0 - basit çizgi) |
//| wd - çizgi genişliği (0 - varsayılan) |
//+------------------------------------------- ------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) {
if (nm=="") nm=DoubleToStr(Zaman[0], 0);
if (p1<=0) p1=Teklif;
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0);
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_STYLE , st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}
Bu gösterge için danışman yazılması gerekmektedir.M1 ve M5 zaman dilimlerinde üst ve alt fiyatları iletir.
Alex benimle misin? mql4'te yeniyim.Bu kodu anlamaya çalışıyorum
Beyler, değerlerin bir göstergeden danışmana nasıl aktarılacağını anlayan var mı? Lütfen yardım edin kendimi anlamıyorum bir dakika o kadar aslında sorunu anlattım ama biraz sessizlik ((. https://forum.mql4.com/ru/52892/page308)
1. Genel bir değişken aracılığıyla .
2. Bir dosya aracılığıyla .
3. iCustom() aracılığıyla .
4. Küresel grafik değişkenleri aracılığıyla.
5. Haritalama . Verileri bir terminalden başka bir terminale aktarmak mümkündür. Veya bir terminalde, MT4 global değişkenlerinin kısıtlamaları olmadan verileri bir pencereden başka bir pencereye aktarın.