В условиях отладки попробуй поставить коментарии и посмотришь что у тебя на саао деле пришется и в какие моменты
Print(TimeToStr(TimeLocal(),TIME_MINUTE); if(( current > prev) && (Scurrent > Sprev) ) { ELDER=1; GlobalVariableSet("E",ELDER); Print("Green ",ELDER); ExtBuffer1[i]=current; // Green ExtBuffer2[i]=0.0; ExtBuffer3[i]=0.0; ExtBuffer4[i]=0.0; } else if( ( current< prev) && (Scurrent < Sprev) ) // 7-е условие { ELDER=2; GlobalVariableSet("E",ELDER); Print("Red",ELDER); ExtBuffer1[i]=0.0; ExtBuffer2[i]=0.0; ExtBuffer3[i]=current; // // Red ExtBuffer4[i]=0.0; } else if( (current > prev)&& (Scurrent < Sprev) ) { ELDER=0; GlobalVariableSet("E",ELDER); Print("MediumBlue",ELDER); ExtBuffer1[i]=0.0; ExtBuffer2[i]=current; // MediumBlue ExtBuffer3[i]=0.0; ExtBuffer4[i]=0.0; } else if( (current < prev)&& (Scurrent > Sprev) ) { ELDER=0; GlobalVariableSet("E",ELDER); Print("MediumBlue",ELDER); ExtBuffer1[i]=0.0; ExtBuffer2[i]=current; // MediumBlue ExtBuffer3[i]=0.0; ExtBuffer4[i]=0.0; Код советника ELD=GlobalVariableGet("E");
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!Объясните плиз, как работают GlobalVariables!Пытаюсь из индюка в советник передать значение вот таким образом.
код индюка:
if(( current > prev) && (Scurrent > Sprev) )
{
ELDER=1;
GlobalVariableSet("E",ELDER);
ExtBuffer1[i]=current; // Green
ExtBuffer2[i]=0.0;
ExtBuffer3[i]=0.0;
ExtBuffer4[i]=0.0;
}
else
if( ( current< prev) && (Scurrent < Sprev) ) // 7-е условие
{
ELDER=2;
GlobalVariableSet("E",ELDER);
ExtBuffer1[i]=0.0;
ExtBuffer2[i]=0.0;
ExtBuffer3[i]=current; // // Red
ExtBuffer4[i]=0.0;
}
else
if( (current > prev)&& (Scurrent < Sprev) )
{
ELDER=0;
GlobalVariableSet("E",ELDER);
ExtBuffer1[i]=0.0;
ExtBuffer2[i]=current; // MediumBlue
ExtBuffer3[i]=0.0;
ExtBuffer4[i]=0.0;
}
else
if( (current < prev)&& (Scurrent > Sprev) )
{
ELDER=0;
GlobalVariableSet("E",ELDER);
ExtBuffer1[i]=0.0;
ExtBuffer2[i]=current; // MediumBlue
ExtBuffer3[i]=0.0;
ExtBuffer4[i]=0.0;
Код советника
ELD=GlobalVariableGet("E");
Проблема в том,что в окне глобальных переменных всегда Е=1 и соответственно в советник тоже всегда передаётся 1.Условия в индикаторе чередуются,(не зациклены на 1).
Если Вам не трудно скажите в чём ошибка,или приведите кусок кода которым можно реализовать данную задачу.Учебник https://book.mql4.com/ru/variables/globals я читал,
но кажется что то упускаю.Заранее СПАСИБО!!!