Renklerle çalışmak için harika özellikler! Teşekkür ederim.
Ancak, tam mutluluk için, belirli bir aralıkta yer alan bir sayıyı renge dönüştürme işlevinden yoksunum (ve renk, işlevlerinizin yardımıyla istediğiniz gibi dönüştürülebilir).
Böyle ilkel bir yapı kullanıyorum:
//+------------------------------------------------------------------+ //|JQS RainbowColour v1.0.0| //|Telif Hakkı © 2010, JQS aka Joo. | //| http://www.mql4.com/ru/users/joo | //| https://www.mql5.com/tr/users/joo | //+------------------------------------------------------------------+ color RainbowColor(double BrushIn,double min,double max) { string R,G,B; int temp; double Brush=ScaleColor(BrushIn,min,max,0.0,100.0); //Eğer alt limitten küçükse if (Brush<0.0) { R="255"; G="0"; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //Eğer üst sınırdan büyükse if (Brush>100.0) { R="255"; G="0"; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //Kırmızıdan sarıya 255.0.0 -> 255.255.255.0 if (Brush>=0.0 && Brush<20.0) { R="255"; temp=(int)MathRound(ScaleColor(Brush,0.0,20.0,0.0,255.0)); G=(string)temp; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Sarıdan yeşile 255.255.0 -> 0.255.0 if (Brush>=20.0 && Brush<40.0) { temp=(int)(255.0-MathRound(ScaleColor(Brush-20.0,0.0,20.0,0.0,255.0))); R=(string)temp; G="255"; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Yeşilden maviye 0.255.0 -> 0.255.255.255 if (Brush>=40.0 && Brush<60.0) { R="0"; G="255"; temp=(int)(MathRound(ScaleColor(Brush-40.0,0.0,20.0,0.0,255.0))); B=(string)temp; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Camgöbeğinden maviye 0.255.255 -> 0.0.255 if (Brush>=60.0 && Brush<80.0) { R="0"; temp=(int)(255.0-MathRound(ScaleColor(Brush-60.0,0.0,20.0,0.0,255.0))); G=(string)temp; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Maviden menekşeye 0.0.255 -> 255.0.255 if (Brush>=80.0 && Brush<=100.0) { temp=(int)(MathRound(ScaleColor(Brush-80.0,0.0,20.0,0.0,255.0))); R=(string)temp; G="0"; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } return(StringToColor("C'"+(string)255+","+(string)255+","+(string)255+"'")); } //+------------------------------------------------------------------+ double ScaleColor(double In,double InMIN,double InMAX,double OutMIN,double OutMAX) { double Out=((In-InMIN)*(OutMAX-OutMIN)/(InMAX-InMIN))+OutMIN; return(Out); } //+------------------------------------------------------------------+
Fonksiyon gökkuşağı renk skalasına göre renk döndürüyor.
Bu fonksiyonu kütüphaneye ekleyebilir misiniz? - ve hız açısından geliştirin.
Renklerle çalışmak için harika özellikler! Teşekkür ederim.
Ancak, tam mutluluk için, belirli bir aralıkta yer alan bir sayıyı renge dönüştürme işlevinden yoksunum (ve renk, işlevlerinizin yardımıyla istediğiniz gibi dönüştürülebilir).
Böyle ilkel bir yapı kullanıyorum:
Fonksiyon gökkuşağı renk skalasına göre renk döndürüyor.
Bu fonksiyonu kütüphaneye ekleyebilir misiniz? - ve hız açısından geliştirin.
- Ü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
IncColors:
Renklerle çalışmak için bir dizi işlev içeren bir sınıf. Renk koordinatı dönüştürme fonksiyonları ve diğer fonksiyonlar.
Author: Dmitry Fedoseev