Играем в блиц ЧТО? ГДЕ? КОГДА? 3 вопроса по 20 секунд

 

Народ, подскажите пожалуйста, заморочился я тут по поводу AccountBalance() и AccountLeverage(). 

1. В настройках тестера MT4 в ячейке "депозит" указывается сумма с учётом кредитного плеча, то есть 100$*100=10 000$ ?

2. Функция AccountBalance() возвращает текущий баланс счёта с учётом кредитного плеча?

3. По поводу проверки торговых условий - справедливо это всё в коде выглядит? Может AccountFreeMargine() заменить на AccountBalance() как и было раньше??? Не знаю как корректней сделать.

// Проверка Баланса
   if(cn==0 && TradeCheck==true && AccountBalance()*AccountLeverage()/SymbolInfoDouble(Symbol(),SYMBOL_TRADE_CONTRACT_SIZE)<SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN))
     {
      Print("Баланс счёта не обеспечивает торговые требования");
      SendMail("EA BJH","Баланс счёта не обеспечивает торговые требования");
      ExpertRemove();  // Снять советник с графика
     }
// Проверка Lots
   else if(cn==0 && TradeCheck==true && AccountFreeMargin()*AccountLeverage()/Lots<SymbolInfoDouble(Symbol(),SYMBOL_TRADE_CONTRACT_SIZE))
     {
      Print("Lots не обеспечивает торговые требования");
      SendMail("EA BJH","Lots не обеспечивает торговые требования");
      ExpertRemove();  // Снять советник с графика
     }

            
 
Да
Да
Нет.
 

в мт4 кредитное плечо используется то которое стоит на текущем счёте где проводится тестирование

сумма счёта указывается как есть и уже к ней применяется кредитное плечо

функция AccountLeverage(); возвращает размер плеча - из чего можно сделать вывод что на пример функция MarketInfo(Symbol(),MODE_MARGINREQUIRED); возвращает величину маржинальных требований уже с учётом плеча

 

  1. нет
  2. нет
  3. надо подумать

 
geratdc:

Народ, подскажите пожалуйста, заморочился я тут по поводу AccountBalance() и AccountLeverage(). 

1. В настройках тестера MT4 в ячейке "депозит" указывается сумма с учётом кредитного плеча, то есть 100$*100=10 000$ ?

2. Функция AccountBalance() возвращает текущий баланс счёта с учётом кредитного плеча?

3. По поводу проверки торговых условий - справедливо это всё в коде выглядит? Может AccountFreeMargine() заменить на AccountBalance() как и было раньше??? Не знаю как корректней сделать.


нет

нет

AccountFreeMarginCheck;

 

Раньше я когда тестировал советника, устанавливал в ячейку "депозит" сумму 100$, затем Lots 0.01 и тестер гонял котировки.

Но в действительности ведь с депозитом 100$ невозможно торговать лотом 0,01, являющимся минимальным объёмом для торговли согласно свойствам инструмента, в итоге 100 / 0,01 = 10 000$ Именно поэтому я озаботился этим AccountLeverage(). А без плеча депозит должен быть 100 000 * 0,01 = 1 000$

А теперь вы мне говорите что AccountBalance() возвращает значение баланса без учёта кредитного плеча, так как же тогда быть то? 

А так было всё хорошо - депозит 100$, плечо 1:100 указываю в эту ячейку  "депозит" сумму с учётом кредитного плеча 10 000$, AccountBalance() возвращает 10 000$ и самое главное проверка торговых условий выполняется.


Так как мне быть? Я запутался совсем. Нет единого мнения ни у кого. Интересно а инструкция по настройкам метатрейдера в нём есть? Может там чего сказано про эту ячейку "депозит"

 

Посмотрел руководство по терминалу "свойства советника", так вот там сказано что:

Свойства советника

В этом окне можно настроить параметры виртуального счета и тестируемого советника.


В дальнейшем эти данные будут использоваться для тестирования или оптимизации параметров эксперта. В окне имеются три вкладки:

  • Тестирование — в этой вкладке указываются общие для тестирования и оптимизации параметры. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Также выбираются типы открываемых при тестировании позиций: "Only Long" — открывать только длинные позиции; "Only Short" — только короткие; "Long and Short" — открывать позиции в обе стороны. Каким бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях. Также можно включить генетический алгоритм оптимизации и выбрать оптимизируемый параметр (максимизация по значению баланса, фактора прибыльности, математического ожидания выигрыша либо минимизация по значению максимальной просадки или процента просадки).
  • Входные параметры — здесь в виде таблицы приводится список всех входных параметров. Входными параметрами называются переменные, которые влияют на работу эксперта и могут быть изменены прямо из клиентского терминала. Их количество может варьироваться от эксперта к эксперту. В поле "Значение" записываются текущие показатели, которые используются при тестировании советника. Данные, записываемые в полях "Старт", "Шаг" и "Стоп", не влияют на тестирование советника и необходимы лишь для его оптимизации. В этих полях записываются начальное значение переменной, шаг изменения и конечное значение. При оптимизации будут происходить последовательные прогоны эксперта с параметрами от начального до конечного значений. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию. Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле "Значение".
    Существует возможность загрузить уже сохраненный набор входных параметров (включая значения "Старт", "Шаг" и "Стоп"). Это можно сделать, нажав кнопку "Загрузить" и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.

Внимание: в оптимизацию рекомендуется включать только необходимые переменные. При включении в оптимизацию слишком многих переменных резко увеличиваются количество прогонов и общее время оптимизации советника.

  • Оптимизация — эта вкладка позволяет управлять ограничениями процесса оптимизации. Достижение этих условий во время оптимизации приведет к прекращению текущего прогона и переходу к следующему. К параметрам, ограничивающим тестирование при оптимизации советника, относятся:
    • Минимальный баланс — минимальное значение баланса в валюте депозита;
    • Максимальная прибыль — максимальная прибыль в валюте депозита;
    • Минимальный уровень маржи, % — минимальный уровень маржи в процентах;
    • Максимальная просадка, % — максимальная просадка в процентах;
    • Непрерывный убыток — максимальный суммарный убыток в одной серии сделок. Убыточной серией называется определенное количество совершенных подряд убыточных сделок;
    • Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
    • Непрерывный выигрыш — максимальная суммарная прибыль в одной серии сделок. Прибыльной серией называется определенное количество совершенных подряд прибыльных сделок;
    • Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.

Более детальная информация приводится в разделах "Тестирование советников" и "Оптимизация".

Достаточно расплывчатое разъяснение ячейки "депозит" согласитесь.

Надо администрацию сюда звать. 

 
geratdc:

Посмотрел руководство по терминалу "свойства советника", так вот там сказано что:


Достаточно расплывчатое разъяснение ячейки "депозит" согласитесь.

Надо администрацию сюда звать. 

Что может быть не понятного? есть в портмоне 1000$, значит это и есть та сумма, которой располагаете. Если есть 50$, то это значит что есть только 50$, а не 1000$

Депозит, он и в Африке депозит.

 
Vitaly Muzichenko:

Что может быть не понятного? есть в портмоне 1000$, значит это и есть та сумма, которой располагаете. Если есть 50$, то это значит что есть только 50$, а не 1000$

Депозит, он и в Африке депозит.


Согласен, но 100$ недостаточно для торговли даже при минимальном Лоте 0,01. Разве не так? Смысл это тестировать если реальной торговли невозможно производить так как торговые требования не выполняются. С 1 000$ можно и без плеча торговать, да и то на 1 позицию только хватит, на вторую уже денег не хватит - если без кредитного плеча. А если есть кредитное плечо 1:100 то //в ячейку "депозит" надо указывать баланс с учётом плеча то есть AccountBalance() ведь в терминале MT4  баланс показывается с учётом кредитного плеча, то есть там на счёте у меня видно 10 000$, а занчит и AccountBalance() возвращать будет значение текущего баланса с учётом кредитного плеча, хотя отдельно его не задаём, просто в ячейке "депозит" это указываем как 10 000$ (100$* кредитное плечо 1:100).// (всё что серое - заблуждение. разобрались в итоге)


Так что мне при тестах то указывать? Я вообще уже ничего не понимаю.

 
geratdc:

Согласен, но 100$ недостаточно для торговли даже при минимальном Лоте 0,01. Разве не так? Смысл это тестировать если реальной торговли невозможно производить так как торговые требования не выполняются. С 1 000$ можно и без плеча торговать, да и то на 1 позицию только хватит, на вторую уже денег не хватит.


На то есть плечо. Но на этот счет не нужно заморачиваться. Достаточно перед совершением сделки вызвать AccountFreeMarginCheck(). Она даст ясный ответ, хватит денег на открытие или нет. "Все уже посчитано до Вас" )))

 
geratdc:

Согласен, но 100$ недостаточно для торговли даже при минимальном Лоте 0,01. Разве не так?

Вот открыл на 100$ депозите с плечом 1:100  6 позиций, можно ещё открывать, свободная маржа позволяет


Причина обращения: