советник - разные вопросы - страница 5

 

Мне нужно немного более четкое объяснение о'GlobalVariable Functions', какие из них как я могу использовать.
Я уже прочитал документацию.

(Если будет пример, было бы здорово).

Заранее спасибо.

 
Max Enrik:

Мне нужно немного более четкое объяснение о'GlobalVariable Functions', какие из них как я могу использовать.
Я уже прочитал документацию.

(Если будет пример, было бы здорово).

Заранее спасибо.

В документации все достаточно понятно описано.

Используйте их так же, как и глобально объявленные переменные, когда вам нужно сохранить значение после удаления советника или индикатора, выключения терминала или изменения таймфрейма на графике, к которому привязан индикатор.

Самое главное - убедиться, что им присвоены индивидуальные имена. Вы можете использовать магическое число и символ в имени. Это может вызвать проблемы, если более одного советника или индикатора будут пытаться получить доступ и изменить одну и ту же глобальную переменную (клиентского терминала).

 
Max Enrik:

Мне нужно немного более четкое объяснение о'GlobalVariable Functions', какие из них как я могу использовать.
Я уже прочитал документацию.

(если есть пример, было бы здорово).

Заранее спасибо.


Статья для mql5, но она работает так же и с mql4.
MQL5 Programming Basics: Global Variables of the Terminal
MQL5 Programming Basics: Global Variables of the Terminal
  • 2016.11.25
  • Dmitry Fedoseev
  • www.mql5.com
Global variables of the terminal provide an indispensable tool for developing sophisticated and reliable Expert Advisors. If you master the global variables, you will no more be able to imagine developing EAs on MQL5 without them.
 
Keith Watford:

В документации все достаточно понятно описано.
...

Ален Верлейен:

Статья для mql5, но она работает так же и с mql4.

Большая благодарность за более информативные комментарии.

Я пытаюсь использовать приведенный ниже код, но не получаю хорошего результата. Поэтому я пытаюсь в терминале сохранить последние изменения.
Например: Размер лота по умолчанию 0.01, после того как я изменил размер лота, затем я изменил TimeFrames - размер лота стал по умолчанию.
Пожалуйста, помогите мне или дайте мне хороший (понятный) совет!

Заранее спасибо.

//Global Variables
string  _lotGV;

//-----------------------------------------------------------------------------

int OnInit()
{
    //Global Variables

    _lotGV = _prefix + _Symbol + " _lotGV";
  
    if ( GlobalVariableCheck( _lotGV ) == true )
    {
        GlobalVariableGet( _lotGV );
    }   //---if Close
    else
    {
        GlobalVariableSet( _lotGV, _lotSize );
    }
}
 

#GlobalVariable - Закрыто

Я решил проблему, как показано ниже.

//--------------------------------------------

_lotGV = _prefix + _Symbol + " _lotGV";

if ( GlobalVariableCheck( _lotGV ) == true )
{
    _lotSize = GlobalVariableGet( _lotGV );
}   //---if Close
else
{
    GlobalVariableSet( _lotGV, _lotSize );
}
Особая благодарность @Alain Verleyen @Keith Watford
 

#Сброс участка - открыто

Я понятия не имею о кнопке "Сброс лота" . Опишите, пожалуйста: И мне нужно, чтобы при нажатии кнопки сброса размер лота превращался в значение размера лота по умолчанию. (например, значение лота 1)
Поэтому мне нужен хороший совет с примером.

(также я все еще исследую)

Всего вам наилучшего.

 

Мне очень трудно, кто-нибудь, пожалуйста, помогите мне.

Спасибо.

 
Max Enrik:

#Сброс участка - открыто

Я понятия не имею о кнопке "Сброс лота" . Опишите, пожалуйста: И мне нужно, чтобы при нажатии кнопки сброса размер лота превращался в значение размера лота по умолчанию. (например, значение лота 1)
Так что мне нужен хороший совет с примером.

(также я все еще исследую)

Всего вам наилучшего.

Это может помочь, если вы опишите, что вы имеете в виду.
 
if(sparam=="reset")
{
  Lotsize=0.01;
}
 
Marco vd Heijden:
if(sparam=="reset")
{
  Lotsize=0.01;
}

Вы меня поняли, спасибо, великий человек, очень признателен.
(Это просто, но иногда мне трудно...)