- MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma
- [ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4.
- Bir gösterge aranıyor (uzman, komut dosyası)
Bir fonksiyonda bu şekilde mi yazılabilir? Ama renk bireysel seviyelerde değişmiyor, belki bir yerde bir hata var ya da başka bir şey eklenmesi gerekiyor ???
int fibo(tarihsaat X1, çift Y1, tarihsaat X2, çift Y2)
{
ObjectCreate("Fibo", OBJ_FIBO , 0, 0, 0, 0, 0); // Bir Fibonacci Levels nesnesi oluşturun
ObjectSet("Fibo",OBJPROP_COLOR,clrRed); // çapraz renk
//ObjectSet("Fibo",OBJPROP_LEVELCOLOR,clrBlue); // seviyelerin rengi aynı
//ObjectSetInteger(0,"Fibo",OBJPROP_BACK,true);//--- önde (yanlış) veya arkada (doğru) göster
ObjectSet("Fibo",OBJPROP_FIBOLEVELS,13); //Nesne seviyelerinin sayısını ayarla
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+0,0.000);//Her nesne seviyesinin değerlerini ayarlayın
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,0,0.000);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,0,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,0,STYLE_SOLID);//Kesintisiz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,0,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",0,"0.000");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+1,0.146);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,1,0.146);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,1,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,1,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,1,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",1,"0.146");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+2,0.236);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,2,0.236);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,2,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,2,STYLE_SOLID);//Kesintisiz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,2,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",2,"0.236");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+3,0.382);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,3,0.382);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,3,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,3,STYLE_SOLID);//Kesintisiz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,3,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",3,"0.382");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+4,0.5);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,4,0.5);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,4,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,4,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,4,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",4,"0.5");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+5,0.618);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,5,0.618);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,5,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,5,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,5,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",5,"0.618");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+6,0.764);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,6,0.764);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,6,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,6,STYLE_SOLID);//Kesintisiz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,6,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",6,"0.764");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+7,1);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,7,1);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,7,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,7,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,7,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",7,"1");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+8,1.236);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,8,1.236);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,8,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,8,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,8,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",8,"1.236");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+9,1.618);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,9,1.618);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,9,clrGreen); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,9,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,9,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",9,"1.618");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+10,-0.236);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,10,-0.236);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,10,clrBlue); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,10,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,10,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",10,"-0.236");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+11,-0,618);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,11,-0.618);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,11,clrBlue); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,11,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,11,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",11,"-0.618");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+12,-1);
ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,12,-1);
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,12,clrBlue); // seviye rengi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELSTYLE,12,STYLE_SOLID);//Düz çizgi
ObjectSetInteger(0,"Fibo",OBJPROP_LEVELWIDTH,12,1); //--- seviye kalınlığı
ObjectSetFiboDescription("Fibo",12,"-1");
ObjectMove("Fibo", 1, X1, Y1);
ObjectMove("Fibo",0, X2, Y2);
dönüş(0);
}
int fFiboLevels(string Prefix,int Number ,int Bar1,double Price1 ,int Bar2,double Price2 ,int Bar3,double Price3 ,color Цвет,color ЦветОтката ,int Видимость=0,int Толщина=1 ,int УровнейПродолжения=6,int УровнейОтката=5 ,int Стиль=STYLE_SOLID,int СтильУровня=STYLE_DOT ,bool Луч=false,bool Фон=false){ int Error; string Name; datetime Time1=Time[Bar1], Time2=Time[Bar2], Time3=Time[Bar3]; if( Bar1<=Bar2 || Bar2<=Bar3 || Bar3<1 || Price1<Zero || Price2<Zero || Price3<Zero || Price3-MathMax(Price1,Price2)>Zero || MathMin(Price1,Price2)-Price3>Zero ) return(MyError); Name=Prefix+"Targets "; if( Number>0 ) Name=Name+Number; if( ObjectFind(Name)>=0 ) { if( !ObjectDelete(Name) ) { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка удаления "+Error); return(Error); } } if( ObjectCreate(Name,OBJ_EXPANSION,0,Time1,Price1,Time2,Price2,Time3,Price3) ){ if( !ObjectSet(Name, OBJPROP_FIBOLEVELS, УровнейПродолжения) || !ObjectSet(Name, OBJPROP_COLOR, Цвет) || !ObjectSet(Name, OBJPROP_STYLE, Стиль) || !ObjectSet(Name, OBJPROP_WIDTH, Толщина) || !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость) || !ObjectSet(Name, OBJPROP_LEVELCOLOR, Цвет) || !ObjectSet(Name, OBJPROP_LEVELSTYLE, СтильУровня) || !ObjectSet(Name, OBJPROP_RAY, Луч) || !ObjectSet(Name, OBJPROP_BACK, Фон) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+0, 1) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+1, 1.618) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+2, 2.618) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+3, 4.236) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+4, 6.854) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+5, 11.09) ){ Error=GetLastError(); PlaySound("alert.wav"); Print("**** "+Name+" - ошибка модификации параметров "+Error); } } else { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка "+Error); } Name=Prefix+"Recoils "; if( Number>0 ) Name=Name+Number; if( ObjectFind(Name)>=0 ) { if( !ObjectDelete(Name) ) { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка удаления "+Error); return(Error); } } if( ObjectCreate(Name,OBJ_FIBO,0,Time1,Price1,Time2,Price2) ){ if( !ObjectSet(Name, OBJPROP_FIBOLEVELS, УровнейОтката) || !ObjectSet(Name, OBJPROP_COLOR, Цвет) || !ObjectSet(Name, OBJPROP_STYLE, Стиль) || !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость) || !ObjectSet(Name, OBJPROP_LEVELCOLOR, ЦветОтката) || !ObjectSet(Name, OBJPROP_LEVELSTYLE, СтильУровня) || !ObjectSet(Name, OBJPROP_RAY, false) || !ObjectSet(Name, OBJPROP_BACK, Фон) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+0, 0) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+1, 0.236) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+2, 0.382) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+3, 0.618) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+4, 1) ){ Error=GetLastError(); PlaySound("alert.wav"); Print("**** "+Name+" - ошибка модификации параметров "+Error); } } else { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка "+Error); } return(Error); }
Bir fonksiyonda bu şekilde mi yazılabilir? Ama renk bireysel seviyelerde değişmiyor, belki bir yerde bir hata var ya da başka bir şey eklenmesi gerekiyor ???
Bir göstergeye veya danışmana mı ihtiyacınız var? Bir danışman için, sadece bu seviyelerin değerlerinin hesaplanması yeterliyse, güzellik ve renk hiç gerekli değildir.
Bir danışman için - Bir sinyal değeri atamak için her seviyeyi ayırmak için hangi işlevin kullanılabileceğini anlamak istiyorum. ZigZag üzerinde düşünerek, koordinatları buluruz - danışman Fibonacci seviyelerini çizer ve her seviyeden geri çekilir (yayılmadan biraz daha fazla) ve daha paralel seviyeler reçete eder - bunları bir emir açma kararları verirken temel olarak alırız.
OBJ_FIBO için renk tüm seviyeler için aynıdır. Çok sıkıysa, farklı renklerde basit OBJ_TRENDLINE çizgilerle fibolar çizin.
Bir danışman için - Bir sinyal değeri atamak için her seviyeyi ayırmak için hangi işlevin kullanılabileceğini anlamak istiyorum. ZigZag üzerinde düşünerek, koordinatları buluruz - danışman Fibonacci seviyelerini çizer ve her seviyeden geri çekilir (yayılmadan biraz daha fazla) ve daha paralel seviyeler reçete eder - bunları bir emir açma kararları verirken temel olarak alırız.
Hiçbir şeyi ayırmaya gerek yok, bir formül alın ve her seviyeyi doğrudan EA'da hesaplayın, elde edilen değerlerle çalışın, neden renk ve çizgiler?
Bir göstergeye veya danışmana mı ihtiyacınız var? Bir danışman için, sadece bu seviyelerin değerlerinin hesaplanması yeterliyse, güzellik ve renk hiç gerekli değildir.
Hiçbir şeyi ayırmaya gerek yok, bir formül alın ve her seviyeyi doğrudan EA'da hesaplayın, elde edilen değerlerle çalışın, neden renk ve çizgiler?
Formül neye benziyor, bir örnek gösterebilir misiniz?
Formül neye benziyor, bir örnek gösterebilir misiniz?
Pekala, buna bir formül demek zor: minimum ve maksimum fiyatları alıyoruz -% 0 ve %100 ve bunları seviyelere ayırıyoruz, değerleri her yerde yazıyor - % 23.6,% 38.2,% 50,% 61.8 , %161,8 (veya 0,236, 0,382 , 0,5, 0,618, 1,618, vb. bölü 0,618, 3 haneye yuvarlanır).
1.3254 ve 1.3896 fiyatları için şöyle bir şey:
Düz | geri | ||
%161.80 Düzey: | 1.4293 | %0.0 Seviye: | 1.3896 |
%100,0 Düzey: | 1.3896 | %23.60 Seviye: | 1.3744 |
%61.8 Düzey: | 1.3651 | %38.2 Düzey: | 1.3651 |
%50.0 Seviyesi: | 1.3575 | %50.0 Seviyesi: | 1.3575 |
%38.2 Düzey: | 1.3499 | %61.8 Düzey: | 1.3499 |
%23,6 Seviye: | 1.3406 | %100,0 Düzey: | 1.3254 |
%0.0 Seviye: | 1.3254 | %161.8 Düzey: | 1.2857 |
yani (Fiyat(100%)-Fiyat(0))*Seviye(binde biri olarak) + Doğrudan hesaplama için Fiyat(0) ve Fiyat(100%) - (Fiyat(100%)-Fiyat(0)) * Düzey (binde) - ters hesaplama için.
Her bir değer için, paletten seçim yapabileceğiniz herhangi bir renkle kendi ayrı çizginizi çizebilirsiniz.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz