Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 298
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
tamponu böyle yokla
Bollinger'ı grafikte tam olarak koddaki parametrelerde nasıl görebilirim? göstergenin gerekli parametrelerinin yapılandırıldığı yerde.
Bollinger'ı başlatmış gibi görünüyor, ancak bazı yanlış değerler okuyor.
Sonuçta, yüksek veya düşük, katlanarak vb. bir grafik oluşturabilirsiniz. Danışmanı görsel olarak kontrol etmek için kodda nasıl düzenlenir ve aynı anda grafikte nasıl görülür?
Metatrader5'te, bir danışman başlattığınızda, strateji test cihazında, kullandığınız göstergeler kendileri tarafından çizilir.
Ve ben çizmiyorum! Neyi yanlış yapıyorum?
İşte kodum:
//| test.mq5 |
//| Andrey |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Andrey"
#property link "http://www.mql5.com"
#property version "1.00"
int BolBandsHandle; // хэндл индикатора Bolinger Bands
double BBUp[],BBLow[],BBMidle[]; // динамические массивы для хранения численных значений Bollinger Bands
//--- входные параметры
input int bands_period= 20; // Период Bollinger Bands
input int dema_period= 20; // Период DEMA
input int bands_shift = 0; // Смещение относительно графика
input double deviation= 2; // Стандартное отклонение
int demaHandle; // хэндл индикатора DEMA
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
printf("test string");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
printf("test string3");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//Переменная типа MqlTick позволяет за один вызов функции SymbolInfoTick() получить значения time, Ask, Bid, Last и Volume.
MqlTick last_tick;
//---
if(SymbolInfoTick(Symbol(),last_tick))
{
Print(last_tick.time,": Bid = ",last_tick.bid,
" Ask = ",last_tick.ask," Volume = ",last_tick.volume, " LastPrice = ",last_tick.last );
}
else Print("SymbolInfoTick() failed, error = ",GetLastError());
//---
//---Читаем свечку
MqlRates rates[];
ArraySetAsSeries(rates,true);
int copied=CopyRates(Symbol(),0,0,1,rates);
if(copied>0)
{
//Print("Скопировано баров: "+copied);
string format="open = %G, high = %G, low = %G, close = %G, volume = %d";
string out;
int size=fmin(copied,10);
for(int i=0;i<size;i++)
{
//out=i+":"+TimeToString(rates[i].time);
out=out+" "+StringFormat(format,
rates[i].open,
rates[i].high,
rates[i].low,
rates[i].close,
rates[i].tick_volume);
Print(out);
Print(rates[i].open - rates[i].close );
}
}
else Print("Не удалось получить исторические данные по символу ",Symbol());
//---=======-----\_____BOLLINGER____/--------========--//
//--- получить хэндл индикатора Bollinger Bands и DEMA
BolBandsHandle=iBands(NULL,PERIOD_M30,bands_period,bands_shift,deviation,PRICE_CLOSE);
demaHandle=iDEMA(NULL,PERIOD_D1,dema_period,0,PRICE_CLOSE);
//--- копируем новые значения индикаторов используя хэндлы
if(CopyBuffer(BolBandsHandle,0,0,3,BBMidle)<0 || CopyBuffer(BolBandsHandle,1,0,3,BBUp)<0
|| CopyBuffer(BolBandsHandle,2,0,3,BBLow)<0)
{
Alert("Ошибка копирования буферов индикатора Bollinger Bands - номер ошибки:",GetLastError(),"!!");
return;
}
//********** это цикл надо добавить в код советника, выводит значения при наступлении нового бара
for(int nbar=0; nbar < 1; nbar++)
Print("nbar=", nbar, " BBLow[nbar]=", DoubleToString(BBLow[nbar], _Digits), " BBMidle[nbar]", DoubleToString(BBMidle[nbar], _Digits),
" BBUp[nbar]=", DoubleToString(BBUp[nbar], _Digits));
}
//+------------------------------------------------------------------+
//| BookEvent function |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{
//---
printf("test string 1 ");
}
//+------------------------------------------------------------------+
MetaQuotes'un ev sahipliği yaptığı son şampiyonluk 2012'deydi. Şimdi böyle şampiyonalar düzenlenmiyor. Ancak birçok broker hala şampiyonluklarını elinde tutuyor. Onlara katılabilirsiniz.
Hangi arabellek numarasını ayarlarsanız ayarlayın, yine de yalnızca son hesaplanan ekstremumu (
EA başlangıçta bollinger çizgileri nasıl çizilir?
Benim için (yukarıdaki kod) topun bazı değerlerini gösteriyor, ancak parametreleri görsel olarak gözlemlemeniz gerekiyor.
Yardım!!!
İndirilen ve kurulan metatrader 4 build 711
InstaForex-Demo.com'da demo hesabı
Terminal veya web sitesi aracılığıyla ücretsiz sinyallere abone olamıyorum
terminaldeki "Topluluk" sekmesi hem şifreyi hem de oturum açmayı girdi
denge gösterileri
bir bağlantı var
terminalde:
2014.10.15 23:35:16.541 Sanal Barındırma: 'www.mql5.com' sunucusuna bağlanılamadı (www.mql5.com:443 başarısız oldu)
2014.10.15 23:08:20.101 MQL5.community: yetkilendirme başarısız oldu
Lütfen çözmeme yardım et...
H2014.10.15 23:08:20.101 MQL5.community: yetkilendirme başarısız oldu
Danışmanı zaten açık bir pozisyonda lotu artırmaya nasıl zorlayacağımı söyleyebilir misiniz? MQL5. Şimdiden teşekkürler.