MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 236
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
... USD'nin bulunduğu tüm döviz çiftlerini geçin ...
Kodun, ticaret için fonlardan kullanılan marjın bir hesaplamasına sahip olduğunu varsayacağım - USD dışı bir hesap açmayı deneyin ve testin geçip geçmediğine bakın.
Kodda "ticaret öz sermayesinden kullanılmış marj" hesaplaması yok... ve ilk gönderimin sonunda fark ettim "Test cihazında mevduat para biriminin türünü değiştirmek sorunu çözmez."
Kodda "ticaret öz sermayesinden kullanılmış marj" hesaplaması yok ... ve ilk gönderimin sonunda fark ettim "Test cihazında mevduat para biriminin türünü değiştirmek sorunu çözmez."
Sonra telepatik yeteneklerim sona erdi - kodu düzenleyin.
Soru için özür dilerim, bir tampon kullanarak EA'ya harici bir gösterge ekleyebilirim... Ama bu göstergenin bir tamponu yok, üst ve alt fiyatları nasıl alabilirim.
//+------------------------------------------------------------------+
//| trendlinesDay.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "nsi2000"
#property link "http://www.expert-mt4.nm.ru"
//----
#property indicator_chart_window
//---- input parameters
extern int nPeriod=10;
extern int Limit=350;
double Up[];
double Dn[];
///---- int Widners Oscilator
int cnt,nCurBar=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- Output in Char
for(cnt=0; cnt<=5; cnt++)
{
ObjectCreate("WSO-"+cnt,OBJ_HLINE,0,0,0);
ObjectSet("WSO-"+cnt,OBJPROP_COLOR,Red);
if(cnt<5)
{
ObjectCreate("Trend DN-"+cnt,OBJ_TREND,0,0,0,0,0);
ObjectSet("Trend DN-"+cnt,OBJPROP_COLOR,Magenta);
}
//----
ObjectCreate("WRO-"+cnt,OBJ_HLINE,0,0,0);
ObjectSet("WRO-"+cnt,OBJPROP_COLOR,Blue);
if(cnt<5)
{
ObjectCreate("Trend UP-"+cnt,OBJ_TREND,0,0,0,0,0);
ObjectSet("Trend Up-"+cnt,OBJPROP_COLOR,Aqua);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
for(cnt=0; cnt<=5; cnt++)
{
ObjectDelete("Trend UP-"+cnt);
ObjectDelete("Trend DN-"+cnt);
ObjectDelete("WSO-"+cnt);
ObjectDelete("WRO-"+cnt);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//---- TODO: add your code here
double r1,r2,r3,r4,r5,r6;
int rt1,rt2,rt3,rt4,rt5,rt6;
double s1,s2,s3,s4,s5,s6;
int st1,st2,st3,st4,st5,st6;
//---- Линии сопротивления и поддержки
if(Bars<Limit) Limit=Bars-nPeriod;
for(nCurBar=Limit; nCurBar>0; nCurBar--)
{
if(Low[nCurBar+(nPeriod-1)/2]==Low[Lowest(NULL,0,MODE_LOW,nPeriod,nCurBar)])
{
s6=s5; s5=s4; s4=s3; s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];
st6=st5; st5=st4; st4=st3; st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2;
}
if(High[nCurBar+(nPeriod-1)/2]==High[Highest(NULL,0,MODE_HIGH,nPeriod,nCurBar)])
{
r6=r5; r5=r4; r4=r3; r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2];
rt6=rt5; rt5=rt4; rt4=rt3; rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2;
}
}
//---- Move Object in Chart
ObjectMove("Trend DN-0",1,Time[st1],s1);
ObjectMove("Trend DN-0",0,Time[st2],s2);
//----
ObjectMove("Trend UP-0",1,Time[rt1],r1);
ObjectMove("Trend UP-0",0,Time[rt2],r2);
//----
return(0);
}
//+------------------------------------------------------------------+
Soru için özür dilerim, bir tampon kullanarak EA'ya harici bir gösterge ekleyebilirim... Ama bu göstergenin bir tamponu yok, üst ve alt fiyatları nasıl alabilirim?
"Trend DN-0", "Trend UP-0" (göstergenin bazı seviyeleri gösterdiği satırlar) adlarıyla grafikte c grafik nesneleri alın ve onlardan gerekli verileri okuyun
"Trend DN-0", "Trend UP-0" (göstergenin bazı seviyeleri gösterdiği satırlar) adlarıyla grafikte c grafik nesneleri alın ve onlardan gerekli verileri okuyun
nasıl yaz lütfen göstergenin kendisinde mi? ve daha sonra bunları EA'da kullanmak için bu değerlerden 2 tampon yapın?
fiyat nasıl alınır nerede yazarmısınız
nasıl yaz lütfen göstergenin kendisinde mi? ve daha sonra bunları EA'da kullanmak için bu değerlerden 2 tampon yapın?
fiyat nasıl alınır nerede yazarmısınız
Gösterge, onlardan iki arabellek hesaplamak ve bunları çizmek için zaten tüm verilere sahiptir.
Ve size göstergeyi değiştirmemeniz, gösterge tarafından çizilen çizgilerin verilerini danışmandan okumanız teklif edildi.
Doğru, bu, test cihazının kullanımına kısıtlamalar getirir - yalnızca görsel modda danışmanı test edebilirsiniz.
Gösterge, onlardan iki arabellek hesaplamak ve bunları çizmek için zaten tüm verilere sahiptir.
Ve size göstergeyi değiştirmemeniz, gösterge tarafından çizilen çizgilerin verilerini danışmandan okumanız teklif edildi.
Doğru, bu, test cihazının kullanımına kısıtlamalar getirir - yalnızca görsel modda danışmanı test edebilirsiniz.
Yani, göstergeye yazmam gerekiyor
#özellik göstergesi_tamponları 2
double BufferUp[], BufferDn[];
int OnInit()
{
SetIndexBuffer (0, BufferUp)
SetIndexBuffer(1, BufferDn)
}
Ve sonra tam olarak neyle? bu 2 tamponu bağlamalı mıyım?
Yani, göstergeye yazmam gerekiyor
#özellik göstergesi_tamponları 2
double BufferUp[], BufferDn[];
int OnInit()
{
SetIndexBuffer(0, BufferUp)
SetIndexBuffer(1, BufferDn)
}
Ve sonra tam olarak neyle? bu 2 tamponu bağlamalı mıyım?
Bakın: kodunuzda satırlar hareket ediyor:
Çizgilerin referans noktalarının zamanı - Zaman[st1], Zaman[st2] ve bu referans noktalarının fiyatı s1, s2 - bir hat için,
Zaman[rt1], Zaman[rt2], r1, r2 - başka bir satır için.
Düz bir çizginin denklemini kullanarak bu noktalar arasındaki her bir çubuk için tampon değeri hesaplayabilir ve bu değeri tampona girebilirsiniz.
Bakın: kodunuzda satırlar hareket ediyor:
Çizgilerin referans noktalarının zamanı - Zaman[st1], Zaman[st2] ve bu referans noktalarının fiyatı s1, s2 - bir hat için,
Zaman[rt1], Zaman[rt2], r1, r2 - başka bir satır için.
Düz çizgi denklemini kullanarak bu noktalar arasındaki her bir çubuk için tampon değeri hesaplayabilir ve bu değeri tampona girebilirsiniz.
yani sadece çubuğun üstündeki çizginin fiyatını alamazsınız... Düz bir çizginin denklemini nasıl hesaplayacağımı bilmiyorum, mümkünse nasıl görünmesi gerektiğini yazın.
Ve genel olarak, değer noktalar arasında değil, 0 veya 1 bar üzerinde alınmalıdır.