Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 488
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
Lorsque les paramètres Ind_1 et Ind_GV correspondent, Ind_GV a une valeur de résultat légèrement différente de Ind_1.
Si je mets le testeur en pause pendant que Ind_1 et Ind_GV sont appariés et que je compile Ind_GV, la valeur résultante des deux indicateurs correspond complètement.
Qui sait comment cela peut s'expliquer ?
Pouvez-vous me dire si j'ai besoin d'un code dans l'Expert Advisor pour fonctionner dans le testeur de stratégie en mode optimisation?
J'essaie d'optimiser mon conseiller expert, mais je ne sais pas ce que c'est :
2014.02.18 21:54:30.386 Testeur : le fichier cache "C:\...\tester\caches\test.NZDUSD5.0" a été trouvé et peut être utilisé pour une optimisation ultérieure.
Nous avons une histoire. Le fichier NZDUSD5_0.fxt pèse environ 150 mètres.
Vous pouvez également voir ceci dans les journaux de bord du testeur.
2014.02.18 22:50:21.251 TestGenerator : erreur de données non correspondantes (limite de volume 305 à 2014.02.12 13:35 dépassée)
De quoi s'agit-il ?
Aidez-nous !
Chacune des variables peut prendre une valeur de 1 à 5...Dites-moi comment ne pas écrire 3125 options))))
Aidez-nous !
Chacune des variables peut prendre une valeur de 1 à 5...Dites-moi comment ne pas écrire 3125 options))))
Faites un tirage au sort de 25 options et déterminez ensuite qui est le plus grand.
Merci... c'est ce que je fais maintenant... je voulais le faire avec des tableaux, mais je n'ai pas la traction...))
Veuillez m'aider avec l'indicateur avec des pièces jointes ".mqh".
Les tampons des indicateurs ExtBuffer1[], ExtBuffer2[] et Buffer_M[] ont une taille de 0. Dans le même temps, le tampon ExtBuffer0[] fonctionne bien et sa taille est égale à Bars, comme il se doit. Le plus intéressant est qu'il fonctionnait bien dans l'ancienne version de MT4 avant d'être mis à jour vers la nouvelle. Une dernière chose. Si je déplace tous les éléments d'un indicateur vers le même fichier mq4 de base, tout fonctionne à nouveau correctement.
Question : Pourquoi la taille des tableaux des tampons d'indicateurs dans les pièces jointes est-elle remise à zéro ?
Voici le code source de l'indicateur.
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes).mq4 |
//+------------------------------------------------------------------+
#include <AO_EMA_(with_includes)_GLOB.mqh>
//--------------------------------------------
int init()
{
#include <AO_EMA_(with_includes)_INIT.mqh>
return(0);
}
//--------------------------------------------
int start()
{
#include <AO_EMA_(with_includes)_START.mqh>
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes)_GLOB.mq4 |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Green
#property indicator_color3 Red
//---- Input Data
extern int Slow = 100;
extern double Slow_Fast = 4.318;
extern int Average = 25; // Усреднение АО
extern bool Show_AO_G = true,
Show_AO_R = true;
//---- Глобальные переменные
int Fast;
bool Alert_done = false; // Флаг говорит о том, что Alert уже был раз сгенерирован.
//---- indicator buffers
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
//---- Буфера индикатора, для промежуточных расчетов
double Buffer_M[];
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes)_INIT.mq4 |
//+------------------------------------------------------------------+
//---- Установка значение для переменной "Fast"
Fast = NormalizeDouble(Slow / Slow_Fast, 0);
//---- indicator buffers mapping
SetIndexBuffer(0, ExtBuffer0);
SetIndexBuffer(1, ExtBuffer1);
SetIndexBuffer(2, ExtBuffer2);
SetIndexBuffer(3, Buffer_M);
//---- drawing settings
SetIndexStyle(0, DRAW_NONE); // Линия не рисуется
SetIndexStyle(1, DRAW_HISTOGRAM); // Гистограмма
SetIndexStyle(2, DRAW_HISTOGRAM); // Гистограмма
SetIndexStyle(3, DRAW_NONE); // Линия не рисуется
//---- drawing begin settings
SetIndexDrawBegin(0, Fast); // Индикатор начинает рисоваться с этого бара, от начала графика слева.
SetIndexDrawBegin(1, Fast);
SetIndexDrawBegin(2, Slow);
SetIndexDrawBegin(3, Slow);
IndicatorDigits(Digits+1);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("AO_EMA ("+Fast+"-"+Slow+")");
SetIndexLabel(1,"Green");
SetIndexLabel(2,"Red");
//---- Обнуляем буфер индикатора
SetIndexEmptyValue(0, 0.0); SetIndexEmptyValue(1, 0.0);
SetIndexEmptyValue(2, 0.0); SetIndexEmptyValue(3, 0.0);
//---- initialization done
//+------------------------------------------------------------------+
//| AO_EMA_(with_includes)_START.mq4 |
//+------------------------------------------------------------------+
int limit, pos;
int counted_bars=IndicatorCounted();
double prev,current, pr;
bool up;
//---- Последний посчитанный бар будет пересчитан
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
Print("counted_bars=",counted_bars," Bars=",Bars," limit=",limit);
Print("0=",ArraySize(ExtBuffer0)," 1=",ArraySize(ExtBuffer1)," 2=",ArraySize(ExtBuffer2)," M=",ArraySize(Buffer_M));
//---- Расчет MACD для Гистограммы "= EMA(fast) - EMA(slow)"
if(Show_AO_G == true || Show_AO_R == true)
{ for(int i=0; i<limit; i++)
Buffer_M[i]=iMA(NULL,0,Fast,0,MODE_EMA,PRICE_MEDIAN,i)-iMA(NULL,0,Slow,0,MODE_EMA,PRICE_MEDIAN,i);
//---- Усредняем MACD по "Average".Это и будет рисоваться на графике..
//---- ... можно заменить на " EMA(Fast)".
pr=2.0/(Average+1);
pos=Bars-2;
if(counted_bars>2) pos=Bars-counted_bars-1;
//---- Основной расчет
while(pos>=0)
{ if(pos==Bars-2) ExtBuffer0[pos+1]=Buffer_M[pos+1];
ExtBuffer0[pos]=Buffer_M[pos]*pr+ExtBuffer0[pos+1]*(1-pr);
pos--; }
//---- Расперделение данных между 2-я буферами, для разделения по цветам
for(i=limit-1; i>=0; i--)
{ // При перерасчете самого левого бара, порядковый номер в массиве [i+1] выходит за пределы размера массива, поэтому расчет первого цикла прорускаем.
if(i == Bars-1) continue;
//------------------------------------
current = ExtBuffer0[i];
prev = ExtBuffer0[i+1];
if(current == prev) continue;
else
{ if(current>prev) up=true;
if(current<prev) up=false;
if(!up)
{ ExtBuffer2[i]=current;
ExtBuffer1[i]=0.0; }
else
{ ExtBuffer1[i]=current;
ExtBuffer2[i]=0.0; }
}}}
//--- Устанавливаем видимость индикаторов
if(Show_AO_G == false) SetIndexStyle(1, DRAW_NONE);
if(Show_AO_R == false) SetIndexStyle(2, DRAW_NONE);
Veuillez m'aider avec l'indicateur avec des pièces jointes ".mqh".
Les tampons des indicateurs ExtBuffer1[], ExtBuffer2[] et Buffer_M[] ont une taille de 0. Dans le même temps, le tampon ExtBuffer0[] fonctionne bien et sa taille est égale à Bars, comme il se doit. Le plus intéressant est qu'il fonctionnait bien dans l'ancienne version de MT4 avant d'être mis à jour vers la nouvelle. Une dernière chose. Si je déplace tous les éléments d'un indicateur vers le même fichier mq4 de base, tout fonctionne à nouveau correctement.
Question : Pourquoi les tailles des tableaux des tampons d'indicateurs dans les pièces jointes sont-elles remises à 0 ?
Voici le code source de l'indicateur.
Tu aimes faire des choses dans ton cul ?