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
Merhaba,
Uzun zamandır buralarda değildim...
Bir EA Idea üzerinde çalışıyorum, bir gösterge eklemem gerekiyor ama bunu EA'ya nasıl dahil edeceğimi bilmiyorum, lütfen bana yardım edebilir misiniz?
Gösterge Eğim Yön Çizgisi, günlük grafikte çalışmasını ve alt TF grafiğinde siparişleri tetiklemesini istiyorum, gösterge kodu:
//+------------------------------------------- -------------------+
//| eğim yönlü çizgi DLMmq4 |
//| DANIEL LUCHINGER 2014 |
//| MQL5: MetaTrader ile otomatik forex ticareti, strateji test cihazı ve özel göstergeler |
//+------------------------------------------- -------------------+
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 Mavi
#özellik göstergesi_width1 3
#özellik göstergesi_renk2 Kırmızı
#özellik göstergesi_width2 3
//---- giriş parametreleri
dış int nokta=14;
harici int yöntemi=3; // MODE_SMA
harici int fiyat=0; // PRICE_CLOSE
//---- arabellekler
çift Yükseliş trendi[];
çift Dntrend[];
çift ExtMapBuffer[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
Gösterge Tamponları(3);
SetIndexBuffer(0, Yükseliş Trendi);
SetIndexBuffer(1, Dntrend);
SetIndexBuffer(2, ExtMapBuffer);
ArraySetAsSeries(ExtMapBuffer, true);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);
GöstergeShortName("Eğim Yön Çizgisi");
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge sıfırlama işlevi |
//+------------------------------------------- -------------------+
int deinit(){return(0);}
çift WMA(int x, int p)
{
return(iMA(NULL, 0, p, 0, yöntem, fiyat, x));
}
//+------------------------------------------- -------------------+
//| Özel gösterge yineleme işlevi |
//+------------------------------------------- -------------------+
int başlangıç()
{
int counted_bars = IndicatorCounted();
if(sayılan_barlar < 0)
dönüş(-1);
int x = 0;
int p = MathSqrt(nokta);
int e = Çubuklar - sayılan_barlar + nokta + 1;
çift vektör[], trend[];
if(e > Çubuklar)
e = Çubuklar;
ArrayResize(vect, e);
ArraySetAsSeries(vect, true);
ArrayResize(eğilim, e);
ArraySetAsSeries(eğilim, doğru);
for(x = 0; x < e; x++)
{
vect[x] = 2*WMA(x, nokta/2) - WMA(x, nokta);
}
for(x = 0; x < e-dönem; x++)
ExtMapBuffer[x] = iMAOnArray(vect, 0, p, 0, method, x);
for(x = e-dönem; x >= 0; x--)
{
trend[x] = trend[x+1];
if (ExtMapBuffer[x]> ExtMapBuffer[x+1]) trend[x] =1;
if (ExtMapBuffer[x]< ExtMapBuffer[x+1]) trend[x] =-1;
eğer (trend[x]>0)
{ Yükseliş trendi[x] = ExtMapBuffer[x];
if (trend[x+1]<0) Yükseliş trendi[x+1]=ExtMapBuffer[x+1];
Dntrend[x] = BOŞ_DEĞER;
}
başka
eğer (eğilim[x]<0)
{
Dntrend[x] = ExtMapBuffer[x];
if (trend[x+1]>0) Dntrend[x+1]=ExtMapBuffer[x+1];
Yükseliş trendi[x] = BOŞ_DEĞER;
}
}
dönüş(0);
---------------
--------------
Aşağıdaki şekilde kodladım:
double UpTrend = iCustom(NULL,1440,"eğim yönlü çizgi DLM",20,3,0,1); // burada 0 = Yükseliş Tamponu
double DnTrend = iCustom(NULL,1440,"eğim yönlü çizgi DLM",20,3,1,1); // burada 1 = DntrendBuffer
çift _sl = 0,_tp = 0;
{
if(haMode == 0 || haMode == 1)
{
eğer (Yükseliş Trendi)
{label("UZUN Koşul TAMAM");
if(Close[0] >= srDown && Close[0] < srUp)
//if(StopLoss > 0) _sl = Sor - StopLoss;
_sl = srDownHT-StopLossShift;
if(TakeProfit > 0) _tp = Sor + TakeProfit;
if(tt && siparişler<MaxTrades)
{
openOrder(getLots(),MagicNumber,OP_BUY, _sl,_tp);
}
}}
}
}
Biri beni düzeltebilir mi lütfen çünkü bunun işe yaramadığından eminim
teşekkürler
Daniel1983
Yardımlarınız için çok teşekkür ederim Mistertools.
Ancak ...
Yapmak istediğim, #_FullSSA_normalize doğru mtf nmc'ye hareketli bir ortalama uygulamak.
Bu, MT4'ün MA'sının yardımıyla M5'te normal bir şekilde yaptığımda sorunsuz çalışıyor.
MT4'ten kullandığım tek şey bu ...
M1'de bazen çalışıyor, bazen çalışmıyor. Ayarlarla ilgili bir şeyler yapmak zorunda olabilir.
Sadece resme bakın, SSA tamam, ama MA değil ...
Kendim yapmaya çalışıyorum ama 'işimden' sonra sadece iki hata almama rağmen benim için çok karmaşık.
Şanslı olmalı, ama yine de, SSA sorunsuz çalıştı, ancak MA hiçbir yerde görünmüyordu.
Tabii ki, SSA elit bir tanesidir ....
bir süre önce satın aldığım ve buna değer ...
Merhaba,
Uzun zamandır buralarda değildim...
Bir EA Idea üzerinde çalışıyorum, bir gösterge eklemem gerekiyor ama bunu EA'ya nasıl dahil edeceğimi bilmiyorum, lütfen bana yardım edebilir misiniz?
Gösterge Eğim Yön Çizgisi, günlük grafikte çalışmasını ve alt TF grafiğinde siparişleri tetiklemesini istiyorum, gösterge kodu:
//+------------------------------------------- -------------------+
//| eğim yönlü çizgi DLMmq4 |
//| DANIEL LUCHINGER 2014 |
//| MQL5: MetaTrader ile otomatik forex ticareti, strateji test cihazı ve özel göstergeler |
//+------------------------------------------- -------------------+
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_color1 Mavi
#özellik göstergesi_width1 3
#özellik göstergesi_renk2 Kırmızı
#özellik göstergesi_width2 3
//---- giriş parametreleri
dış int nokta=14;
harici int yöntemi=3; // MODE_SMA
harici int fiyat=0; // PRICE_CLOSE
//---- arabellekler
çift Yükseliş trendi[];
çift Dntrend[];
çift ExtMapBuffer[];
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
Gösterge Tamponları(3);
SetIndexBuffer(0, Yükseliş Trendi);
SetIndexBuffer(1, Dntrend);
SetIndexBuffer(2, ExtMapBuffer);
ArraySetAsSeries(ExtMapBuffer, true);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3);
GöstergeShortName("Eğim Yön Çizgisi");
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge sıfırlama işlevi |
//+------------------------------------------- -------------------+
int deinit(){return(0);}
çift WMA(int x, int p)
{
return(iMA(NULL, 0, p, 0, yöntem, fiyat, x));
}
//+------------------------------------------- -------------------+
//| Özel gösterge yineleme işlevi |
//+------------------------------------------- -------------------+
int başlangıç()
{
int counted_bars = IndicatorCounted();
if(sayılan_barlar < 0)
dönüş(-1);
int x = 0;
int p = MathSqrt(nokta);
int e = Çubuklar - sayılan_barlar + nokta + 1;
çift vektör[], trend[];
if(e > Çubuklar)
e = Çubuklar;
ArrayResize(vect, e);
ArraySetAsSeries(vect, true);
ArrayResize(eğilim, e);
ArraySetAsSeries(eğilim, doğru);
for(x = 0; x < e; x++)
{
vect[x] = 2*WMA(x, nokta/2) - WMA(x, nokta);
}
for(x = 0; x < e-dönem; x++)
ExtMapBuffer[x] = iMAOnArray(vect, 0, p, 0, method, x);
for(x = e-dönem; x >= 0; x--)
{
trend[x] = trend[x+1];
if (ExtMapBuffer[x]> ExtMapBuffer[x+1]) trend[x] =1;
if (ExtMapBuffer[x]< ExtMapBuffer[x+1]) trend[x] =-1;
eğer (trend[x]>0)
{ Yükseliş trendi[x] = ExtMapBuffer[x];
if (trend[x+1]<0) Yükseliş trendi[x+1]=ExtMapBuffer[x+1];
Dntrend[x] = BOŞ_DEĞER;
}
başka
eğer (eğilim[x]<0)
{
Dntrend[x] = ExtMapBuffer[x];
if (trend[x+1]>0) Dntrend[x+1]=ExtMapBuffer[x+1];
Yükseliş trendi[x] = BOŞ_DEĞER;
}
}
dönüş(0);
---------------
--------------
Aşağıdaki şekilde kodladım:
double UpTrend = iCustom(NULL,1440,"eğim yönlü çizgi DLM",20,3,0,1); // burada 0 = Yükseliş Tamponu
double DnTrend = iCustom(NULL,1440,"eğim yönlü çizgi DLM",20,3,1,1); // burada 1 = DntrendBuffer
çift _sl = 0,_tp = 0;
{
if(haMode == 0 || haMode == 1)
{
eğer (Yükseliş Trendi)
{label("UZUN Koşul TAMAM");
if(Close[0] >= srDown && Close[0] < srUp)
//if(StopLoss > 0) _sl = Sor - StopLoss;
_sl = srDownHT-StopLossShift;
if(TakeProfit > 0) _tp = Sor + TakeProfit;
if(tt && siparişler<MaxTrades)
{
openOrder(getLots(),MagicNumber,OP_BUY, _sl,_tp);
}
}}
}
}
Biri beni düzeltebilir mi lütfen çünkü bunun işe yaramadığından eminim
teşekkürler
Daniel1983Bu işe yaramaz çünkü eğim yön çizgisi bir yeniden boyama göstergesidir. Herhangi bir normal Gövde ortalamasını alın ("eğim yön çizgisi" Gövde ortalamasıdır) ve her şey daha kolay olacaktır.
Teşekkürler Mladen, zaman ayırdığınız için teşekkür ederim..
Hız kontrolü ile oluşturduğunuz HMA ile ilgili gönderiler aracılığıyla buldum,
EA'da denemek istiyorum, Eğim Yön Göstergesi ile istediğim fikrin aynısı,
ancak bu HMA göstergesiyle "Gövde Hareketli Ortalamalar 2.0 & SR çizgileri" yayınladınız
EA'mda çalışmasını sağlamak için bunun kodu nasıl olurdu?
Yazdım:
input int IndicatorTF = 1440 //(Günlük Zaman Çerçevesinde gösterge)
giriş int HMAPeriod = 35; //(bu parametreleri değiştirmeme izin ver)
ENUM_HMAPice girin = PRICE_CLOSE; //(bu parametreleri değiştirmeme izin ver)
giriş int HMASpeed = 2.0; //(bu parametreleri değiştirmeme izin ver)
double trendUp = iCustom(Symbol(),IndicatorTF,"Tekne hareketli ortalama 2.0 ve sr hatları",HMAPeriod,ENUM_HMAPrice,HMASpeed,0,0);
double trendDn = iCustom(Symbol(),IndicatorTF,"Tekne hareketli ortalama 2.0 ve sr çizgileri",HMAPeriod,ENUM_HMAPrice,HMASpeed,1,0);
if(trendUp > 0)
{
Satın Al'ı Aç
}
Gösterge kodu:
//+------------------------------------------- -------------------+
//| Gövde hareketli ortalama |
//| mladen |
//+------------------------------------------- -------------------+
#özellik telif hakkı " www.forex-tsd.com "
#özellik bağlantısı " www.forex-tsd.com "
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 3
#özellik göstergesi_color1 KireçYeşil
#özellik göstergesi_color2 SolukVioletKırmızı
#özellik göstergesi_renk3 SolukVioletKırmızı
#özellik göstergesi_width1 2
#özellik göstergesi_width2 2
#özellik göstergesi_width3 2
//
//
//
//
//
extern string TimeFrame = "Geçerli zaman çerçevesi";
extern int HMAPeriod = 35;
extern int HMAPrice = PRICE_CLOSE;
harici çift HMASpeed = 2.0;
extern bool LinesVisible = false;
extern int LinesNumber = 5;
dış renk ColorUp = LimeYeşil;
dış renk ColorDown = PaleVioletRed;
dış dize UniqueID = "HullLines1";
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
harici bool uyarılarıMesaj = true;
harici bool uyarılarıSound = false;
harici bool uyarılarıEmail = false;
//
//
//
//
//
çift hma[];
çift hmada[];
çift hmadb[];
çift iş[];
çift eğilim[];
int HalfPeriod;
int HullPeriod;
string göstergesiDosyaAdı;
bool dönüş Barları;
bool hesaplaDeğer;
int zaman çerçevesi;
//------------------------------------------------ ------------------
//
//------------------------------------------------ ------------------
//
//
//
//
//
int init()
{
GöstergeTamponları(5);
SetIndexBuffer(0,hma);
SetIndexBuffer(1,hmada);
SetIndexBuffer(2,hmadb);
SetIndexBuffer(3,trend);
SetIndexBuffer(4,iş);
//
//
//
//
//
HMAPeriod = MathMax(2,HMAPeriod);
HalfPeriod = MathFloor(HMAPeriod/HMASpeed);
HullPeriod = MathFloor(MathSqrt(HMAPeriod));
göstergeDosyaAdı = WindowExpertName();
hesapValue = TimeFrame=="hesaplaValue"; if (hesaplaDeğer) { return(0); }
returnBars = TimeFrame=="returnBars"; if (returnBars) { return(0); }
timeFrame = stringToTimeFrame(TimeFrame);
//
//
//
//
//
GöstergeShortName(timeFrameToString(timeFrame)+" HMA ("+HMAPeriod+")");
dönüş(0);
}
geçersiz tanım()
{
deleteLines();
}
geçersiz deleteLines()
{
int lookForLength = StringLen(UniqueID);
for (int i= ObjectsTotal()-1; i>=0; i--)
{
dizi adı = NesneAdı(i);
if (StringSubstr(name,0,lookForLength)==UniqueID) ObjectDelete(name);
}
}
//------------------------------------------------ ------------------
//
//------------------------------------------------ ------------------
//
//
//
//
//
int başlangıç()
{
int i,counted_bars = IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMin(Barlar-sayılan_barlar,Barlar-1);
if (returnBars) { hma[0] = MathMin(limit+1,Bars-1); dönüş(0); }
//
//
//
//
//
if (calculateValue || timeFrame == Period())
{
if (trend[limit] == -1) CleanPoint(limit,hmada,hmadb);
for(i=limit; i>=0; i--) work = 2.0*iMA(NULL,0,HalfPeriod,0,MODE_LWMA,HMAPrice,i)-iMA(NULL,0,HMAPeriod,0,MODE_LWMA,HMAPrice, ben);
for(i=limit; i>=0; i--)
{
hma = iMAOnArray(work,0,HullPeriod,0,MODE_LWMA,i);
hmada = BOŞ_DEĞER;
hmadb = BOŞ_DEĞER;
eğilim = eğilim;
if (hma > hma) eğilim = 1;
if (hma < hma) eğilim = -1;
if (trend == -1) PlotPoint(i,hmada,hmadb,hma);
}
deleteLines();
if (ÇizgilerGörünür)
{
int k = 0;
için (i=0; i<Barlar && k<LinesNumber; i++)
if (trend!=trend)
{
string name = UniqueID+(string)Time;
ObjectCreate(name,OBJ_TREND,0,Time,hma,Time+Period()*60,hma);
eğer (eğilim==1)
ObjectSet(isim,OBJPROP_COLOR,ColorUp);
else ObjectSet(isim,OBJPROP_COLOR,ColorDown);
k++;
}
}
ManageAlerts();
dönüş(0);
}
//
//
//
//
//
limit = MathMax(limit,MathMin(Barlar-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
if (trend[limit]==-1) CleanPoint(limit,hmada,hmadb);
(i=limit; i>=0; i--) için
{
int y = iBarShift(NULL,timeFrame,Zaman);
trend = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",HMAPeriod,HMAPrice,HMASpeed,LinesVisible,LinesNumber,ColorUp,ColorDown,UniqueID,alertsOn,alertsOnCurrent,alertsMessage,alerts);Email,alerts,email,alerts
hma = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",HMAPeriod,HMAPrice,HMASpeed,LinesVisible,LinesNumber,ColorUp,ColorDown,UniqueID,alertsOn,alertsOnCurrent,alertsMessage,alertsEmail,alertsEmail,alerts,alerts,a
hmada = BOŞ_DEĞER;
hmadb = BOŞ_DEĞER;
}
(i=limit;i>=0;i--) için if (trend==-1) PlotPoint(i,hmada,hmadb,hma);
dönüş(0);
}
//+------------------------------------------- --------------------
//|
//+------------------------------------------- --------------------
//
//
//
//
//
void managerAlerts()
{
if (uyarılarAçık)
{
if (alertsOnCurrent)
int hangiBar = 0;
başka hangiBar = 1;
if (trend[hangiBar] != trend[hangiBar+1])
{
if (trend[hangiBar] == 1) doAlert(hangiBar,"yukarı");
if (trend[hangiBar] == -1) doAlert(hangiBar,"aşağı");
}
}
}
//
//
//
//
//
void doAlert(int forBar, string doWhat)
{
statik dize öncekiAlert="hiçbir şey";
statik tarihsaat öncekiSaat;
dize mesajı;
if (previousAlert != doWhat || öncekiZaman != Zaman[Bar için]) {
öncekiAlert = doWhat;
öncekiZaman = Zaman[Bar için];
//
//
//
//
//
mesaj = Symbol()+" "+timeFrameToString(Period())+", "+TimeToStr(TimeLocal(),TIME_SECONDS)+" konumunda HMA trendi "+doWhat;
if (alertsMessage) Alert(mesaj);
if (alertsEmail) SendMail(Symbol()+" HMA ",message);
if (alertsSound) PlaySound("alert2.wav");
}
}
//------------------------------------------------ -------------------
//
//------------------------------------------------ -------------------
//
//
//
//
//
void CleanPoint(int i,double& first[],double& second[])
{
if ((ikinci != BOŞ_DEĞER) && (ikinci != BOŞ_DEĞER))
saniye = BOŞ_DEĞER;
başka
if ((ilk != EMPTY_VALUE) && (ilk != EMPTY_VALUE) && (ilk == BOŞ_DEĞER))
ilk = BOŞ_DEĞER;
}
//
//
//
//
//
void PlotPoint(int i,double& first[],double& second[],double& from[])
{
if (ilk == EMPTY_VALUE)
{
if (ilk == BOŞ_DEĞER) {
ilk = itibaren;
ilk = itibaren;
saniye = BOŞ_DEĞER;
}
başka {
ikinci = itibaren;
ikinci = itibaren;
ilk = BOŞ_DEĞER;
}
}
başka
{
ilk = itibaren;
saniye = BOŞ_DEĞER;
}
}
//------------------------------------------------ -------------------
//
//------------------------------------------------ -------------------
//
//
//
//
//
string sTfTable[] = {"M1","M5","M15","M30","H1","H4","D1","W1","MN"};
int iTfTable[] = {1,5,15,30,60,240,1440,10080,43200};
//
//
//
//
//
int stringToTimeFrame(dize tfs)
{
tfs = stringUpperCase(tfs);
for (int i=ArraySize(iTfTable)-1; i>=0; i--)
if (tfs==sTfTable || tfs==""+iTfTable) return(MathMax(iTfTable,Period()));
Dönüş süresi());
}
string timeFrameToString(int tf)
{
for (int i=ArraySize(iTfTable)-1; i>=0; i--)
if (tf==iTfTable) return(sTfTable);
dönüş("");
}
//
//
//
//
//
string stringUpperCase(string str)
{
dizi s = dizi;
for (int uzunluk=StringLen(str)-1; uzunluk>=0; uzunluk--)
{
int tchar = StringGetChar(s, uzunluk);
if((tchar > 96 && tchar 223 && tchar < 256))
s = StringSetChar(s, uzunluk, tchar - 32);
else if(tchar > -33 && tchar < 0)
s = StringSetChar(s, uzunluk, tchar + 224);
}
İadeler);
}
Bu, başka bir göstergenin karışması sorunu değildir (aynı göstergenin aynı grafikte birden çok örneğini kullanmadığınız sürece). Bu durumda heppen olabilir çünkü o indikatör aynı çizelge üzerinde multi instance indikatör olarak kullanılmak üzere yazılmamıştır.
Merhaba MLaden , çok teşekkür ederim ama bu bir grafikte birden fazla örnek kullandığım bir durum değil, sadece bir tane. sadece çizgiler kayıyor.
Eğer bariz değilse endişelenmeyin, olduğu gibi devam edeceğim, katkınız için teşekkürler! iyi günler...
zikzak
Merhaba MLaden , çok teşekkür ederim ama bu bir grafikte birden fazla örnek kullandığım bir durum değil, sadece bir tane. sadece çizgiler kayıyor.
Eğer bariz değilse endişelenmeyin, olduğu gibi devam edeceğim, katkınız için teşekkürler! iyi günler...
zikzakGönderdiğimi denedim ve değişmiyorlar
Deneyin belki faydası olur
Bir HMA göstergesini bir EA'ya nasıl çağırırım?
çift (NULL,0,"HMA",??????)
Ve koşullar
if(trendUp) o zaman satın al, veya if(trendUp=1) o zaman satın al ya da bunun gibi bir şey?
Teşekkürler
Bir HMA göstergesini bir EA'ya nasıl çağırırım?
çift (NULL,0,"HMA",??????)
Ve koşullar
if(trendUp) o zaman satın al, veya if(trendUp=1) o zaman satın al ya da bunun gibi bir şey?
TeşekkürlerGösterge parametrelerine bağlıdır, ancak bunun için iCustom() kullanmanız gerekir.
Burada bulabileceğiniz birkaç örnekle çok daha fazla bilgi: https://www.mql5.com/en/forum/173108
Gösterge parametrelerine bağlıdır, ancak bunun için iCustom() kullanmanız gerekir Burada bulabileceğiniz birkaç örnekle çok daha fazla bilgi: https://www.mql5.com/en/forum/173108
Bana rehberlik ettiğiniz için teşekkür ederim, hala kafam karıştı, eğim çizgisi koduna benzer bir HMA göstergesi buldum, bu "HMA_Russian_Color", ancak hala satın alma trendini satış trendinden filtrelemek için koşullarla ilgili sorunlarım var.
yazdım
double Uptrend = iCustom(Symbol(),0,"HMA_Russian_Color",20,3,0,0); // nerede son 0 = Yükseliş Tamponu
double Dntrend = iCustom(Symbol(),0,"HMA_Russian_Color",20,3,0,1); // burada son 1 = DntrendBuffer
//dönem = 20 / tür = 3 / fiyat = 0 doğru mu?
if(Uptrend) //Bunu nasıl yazarım??
{
Satın Al'ı Aç
}
Siparişler HMA düşüş trendi veya kırmızı renk iken hala açık Satın alma ...
Lütfen beni düzeltin ve veya bunu düzeltmeme yardım edin ...
teşekkürler
Bana rehberlik ettiğiniz için teşekkür ederim, hala kafam karıştı, eğim çizgisi koduna benzer bir HMA göstergesi buldum, bu "HMA_Russian_Color", ancak hala satın alma trendini satış trendinden filtrelemek için koşullarla ilgili sorunlarım var.
yazdım
double Uptrend = iCustom(Symbol(),0,"HMA_Russian_Color",20,3,0,0); // nerede son 0 = Yükseliş Tamponu
double Dntrend = iCustom(Symbol(),0,"HMA_Russian_Color",20,3,0,1); // burada son 1 = DntrendBuffer
//dönem = 20 / tür = 3 / fiyat = 0 doğru mu?
if(Uptrend) //Bunu nasıl yazarım??
{
Satın Al'ı Aç
}
Siparişler HMA düşüş trendi veya kırmızı renk iken hala açık Satın alma ...
Lütfen beni düzeltin ve veya bunu düzeltmeme yardım edin ...
teşekkürlerEğim değişikliği için şöyle bir şey deneyin:
double previous1 = iCustom(Symbol(),0,"HMA_Russian_Color",20,3,0,1);
double previous2 = iCustom(Symbol(),0,"HMA_Russian_Color",20,3,0,2);
if (current>previous1 && previous1<previous2)
{
// slope changed to up
}
if (currentprevious2)
{
// slope changed to down
}