Questions des débutants MQL5 MT5 MetaTrader 5 - page 298
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
interroger le tampon, par exemple comme ceci
Comment puis-je voir la bollinger sur le graphique exactement dans les paramètres qui sont dans le code ? Où sont configurés les paramètres de l'indicateur requis.
La bollinger fonctionne, mais elle lit des valeurs erronées.
Je veux dire que je peux construire un graphique en partant du haut ou du bas, le long de l'exposant, etc. Comment le réguler dans le code et le voir sur un graphique pour contrôler visuellement l'EA ?
Dans metatrader5, lorsque je lance mon EA, dans le testeur de stratégie, les indicateurs que vous utilisez sont dessinés.
Je ne les ai pas dessinés ! Qu'est-ce que je fais de mal ?
Voici mon code :
//| 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 ");
}
//+------------------------------------------------------------------+
Le dernier championnat organisé par MetaQuotes remonte à 2012. Il n'existe plus de tels championnats aujourd'hui. Mais de nombreux courtiers organisent encore leurs propres championnats. Vous pouvez y participer.
Cela ne fonctionne pas. Quel que soit le nombre de tampons que vous définissez, il est toujours dit que seul le dernier extremum est calculé(
comment faire pour que l'EA dessine des lignes de bollinger au démarrage ?
J'ai (code ci-dessus) sorti quelques valeurs de bollinger, mais j'ai besoin d'observer les paramètres visuellement.
Au secours ! !!
J'ai téléchargé et installé Metatrader 4 build 711.
J'ai téléchargé et installé uncompte de démonstration sur InstaForex-Demo.com.
Je ne peux pas m'abonner aux signaux gratuits, ni par le terminal, ni par le site web.
J'ai entré le mot de passe et je me suis connecté à l'onglet "Communauté" dans le terminal.
le bilan montre
J'ai une connexion
dans le terminal :
2014.10.15 23:35:16.541 Virtual Hosting : échec de la connexion au serveur 'www.mql5.com' (www.mql5.com:443 failed)
2014.10.15 23:08:20.101 MQL5.community : l'autorisation a échoué
Aidez-nous à comprendre...
H 2014.10.15 23:08:20.101 MQL5.community : l'autorisation a échoué
Pouvez-vous me dire comment faire pour qu'un EA augmente le lot dans une position déjà ouverte? MQL5. Merci déjà.