Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1438

 
Aleksey Vyazmikin #:

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

Алексей, а ничего, что OnInit() не бывает в скриптах?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL5 MT5 MetaTrader 5

mwwm, 2023.01.31 16:01

Не понятно, как из OnStart комбинации сравнивать с комбинациями из OnInit. Либо как то их можно получать напрямую из процесса оптимизации?

А судя по вопросу разговор о скрипте… Или вы дискутируете с человеком который не понимает даже разницы в советниках и скриптах?
 
Alexey Viktorov #:

Алексей, а ничего, что OnInit() не бывает в скриптах?

А судя по вопросу разговор о скрипте… Или вы дискутируете с человеком который не понимает даже разницы в советниках и скриптах?

Думаю, что OnTick имелось ввиду.

 
Aleksey Vyazmikin #:

Думаю, что OnTick имелось ввиду.

Да правильно, замылилось.

 
Alexey Viktorov #:

Вот ради этого многие начинают изучать язык программирования. А так получается, чтобы вы смогли проверить вашу иллюзорную идею кто-то будет сидеть писать. Конечно можете найти такого энтузиаста, кто может написать ради тренировки написания, от скуки или ещё по каким-то причинам… Но если согласиться и получить через ЛС стратегию, поняв что это не будет работать отказаться писать, то у вас возникнет подозрение, что вас кинули, заимели прибыльную стратегию и в кусты. А кому нужно такое отношение? Если же вы опубликуете стратегию и кто-то заинтересуется, то вам повезёт. А так, за ваши деньги любой каприз…

Интересный вы человек.

То есть на такой индикатор у вас хватило энтузиазма) https://c.mql5.com/1/237/vgif-ru-19978.gif

А вставить две строчки кода в RSI ради тренировки написания, от скуки или ещё по каким-то причинам не хотите...

 
FYFRX #:

Интересный вы человек.

То есть на такой индикатор у вас хватило энтузиазма) https://c.mql5.com/1/237/vgif-ru-19978.gif

А вставить две строчки кода в RSI ради тренировки написания, от скуки или ещё по каким-то причинам не хотите...

Ну, раз вы знаете, что это именно две строчки, значит, должны знать и какие это строчки, и куда вставить.

 

Всем доброго утра и хорошего настроения!

Вчера случилась непонятка с моим советником. До вчерашнего дня он почти месяц тестировался без проблем, но ближе к вечеру вдруг перестал нормально работать расчёт риска в зависимости от свободной маржи и советник начал открывать позиции с максимально возможным лотом. Решил написать функцию проверки для разрешения торговли при определённых условиях, чтобы исключить подобного рода "подарки". Написал и добавил в код советника. Не знаю, то ли эта эта функция помогла или ещё что-то произошло пока её писал, но работа советника нормализовалась.

Просьба к уважаемому сообществу!

Посмотрите, пожалуйста, код и посоветуйте, что ещё нужно добавить в функцию, чтобы исключить подобные "подарки" для торговли на реальном счёте?

bool Check_Trading()
  {
   bool canTrade=false;
   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
     {
      Print("Ошибка разрешения торговли для текущего счёта!", GetLastError());
      canTrade=false;
     }
   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
     {
      Print("Ошибка разрешения торговли для эксперта!", GetLastError());
      canTrade=false;
     }
   if(!AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)
     {
      Print("Ошибка при проверке режима расчёта маржи для счёта с режимом хэдж!", GetLastError());
      canTrade=false;
     }
   if(!AccountInfoDouble(ACCOUNT_MARGIN_FREE))
     {
      Print("Ошибка при получении размера свободных средств для открытия позиции!", GetLastError());
      canTrade=false;
     }
   if(!SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE)==SYMBOL_CALC_MODE_FOREX)
     {
      Print("Ошибка способа расчета прибыли и маржи для рынка Форекс по текущему символу!", GetLastError());
      canTrade=false;
     }
   if(!SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_HEDGED))
     {
      Print("Ошибка расчета маржи для позиций по текущему символу для счёта с режимом хэдж!", GetLastError());
      canTrade=false;
     }
   if(!SymbolIsSynchronized(_Symbol))
     {
      Print("Ошибка синхронизации данных по текущему символу!", GetLastError());
      canTrade=false;
     }
   canTrade=true;
   return(canTrade);
  }

С уважением, Владимир.

 

Не могу понять как и что ему надо, берёт и читает файл из папки Tester\Agent...  в  TERMINAL_DATA_PATH  а мне нужно  в TERMINAL_PATH и по абсолютному пути никак.


 
mwwm #:

Не могу понять как и что ему надо, берёт и читает файл из папки Tester\Agent...  в  TERMINAL_DATA_PATH  а мне нужно  в TERMINAL_PATH и по абсолютному пути никак.

Если при тестировании надо работать с файлами, то удобнее использовать для этого общую папку всех терминалов и агентов. Для этого достаточно добавить флаг FILE_COMMON в операции открытия файлов.

Добраться до этой папки, чтобы положить в нее нужные файлы, можно из главного меню MetaEditor: Файл → Открыть общую папку данных

 
Yuriy Bykov #:

Если при тестировании надо работать с файлами, то удобнее использовать для этого общую папку всех терминалов и агентов. Для этого достаточно добавить флаг FILE_COMMON в операции открытия файлов.

Добраться до этой папки, чтобы положить в нее нужные файлы, можно из главного меню MetaEditor: Файл → Открыть общую папку данных

Спасибо Вам!)

 
FYFRX #:

Интересный вы человек.

То есть на такой индикатор у вас хватило энтузиазма) https://c.mql5.com/1/237/vgif-ru-19978.gif

А вставить две строчки кода в RSI ради тренировки написания, от скуки или ещё по каким-то причинам не хотите...

Это не моё творение. Помните в фильме «Служебный роман» картину «Монна Лиза»?

А что касается двух строк, так я вам всё объяснил

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2023.01.30 07:17

Вот ради этого многие начинают изучать язык программирования. А так получается, чтобы вы смогли проверить вашу иллюзорную идею кто-то будет сидеть писать. Конечно можете найти такого энтузиаста, кто может написать ради тренировки написания, от скуки или ещё по каким-то причинам… Но если согласиться и получить через ЛС стратегию, поняв что это не будет работать отказаться писать, то у вас возникнет подозрение, что вас кинули, заимели прибыльную стратегию и в кусты. А кому нужно такое отношение? Если же вы опубликуете стратегию и кто-то заинтересуется, то вам повезёт. А так, за ваши деньги любой каприз…

Пишите эти хотелки в любую тему о бесплатном написании кодов и кто-то обязательно отзовётся. Возможно и я. хотя вряд-ли, неня не будет тут 2-3 дня…