Ошибки, баги, вопросы - страница 3651

 

обновился до 5100, оба терминала, программы из предыдущего хранилища в git автоматом закинули метаквоты....

я теперь патаюсь или закинуть новый советник, или внести изменения в уже сохраненные в git ... что-то не получается

возможно причина - у меня долгие расчеты на 1ом терминале, он основной... а пробую со 2го , из его редактора отправить изменения в git - выдает 10 ошибку

хотя по логике - так быть не должно

 
Sergey Golubev #:

С новым хранилищем вообще проблем нет (оно более лучшее, чем, прошлое).

Задача: удалить полностью файл из хранилища причём со всеми сохранёнными изменениями.


Я попробовал удалить на сайте. Удалил. Файл при обновлении хранилища удалился с компьютера, причём во всех терминалах.

Но при этом на сайте осталась вся история изменений.


Подскажите пожалуйста, как удалить файл из хранилища, но оставить его на компьютере?

Причём удалить полностью, со всеми предыдущими изменениями.

 
Aleksandr Slavskii #:

Подскажите пожалуйста, как удалить файл из хранилища, но оставить его на компьютере?

Просто перенести его в другую папку на компьютер, а там в хранилище - удалить.

------------------
Наверное, есть другие способы (с git), но я пока там не разобрался, так как пока только добавляю файлы.

 

Очень интересная программа:

void OnTick()
{
  int ret_code = 0;
  TerminalClose (ret_code);
}

Есть ещё TesterStop () из этой же серии функций, которые непосредственно отдают команды исполнительной среде.

Пожелание к разработчикам. Хотелось бы функцию TesterPause () и TesterVisualPause (), которые могут быть очень продуктивно использоваться при отладке советников.

И, был бы очень полезный чекбокс в интерфейсе тестера "Ставить на паузу при торговой операции", что так же упрощает отладку и проверку логики советника.

 
Sergey Golubev #:

Просто перенести его в другую папку на компьютер, а там в хранилище - удалить.

------------------
Наверное, есть другие способы (с git), но я пока там не разобрался, так как пока только добавляю файлы.

Понятно. Спасибо. Думал может есть другой вариант.

Но всё равно, остаётся вопрос как удалить полностью файл с хранилища.

Удалять каждую копию, это может оказаться очень долго. А другого способа я не нашёл.

Надеюсь, что плохо искал и такая возможность, полное удаление файла, всё таки предусмотрена хранилищем. 

 
Andrey Dik #:

Очень интересная программа:

Есть ещё TesterStop () из этой же серии функций, которые непосредственно отдают команды исполнительной среде.

Пожелание к разработчикам. Хотелось бы функцию TesterPause () и TesterVisualPause (), которые могут быть очень продуктивно использоваться при отладке советников.

И, был бы очень полезный чекбокс в интерфейсе тестера "Ставить на паузу при торговой операции", что так же упрощает отладку и проверку логики советника.

Я очень удивлён. Вы не знаете что существуют точки останова в отладчике кода?

void  DebugBreak();

Или на любой строке можно поставить и снять


 
Alexey Viktorov #:

Я очень удивлён. Вы не знаете что существуют точки останова в отладчике кода?

Или на любой строке можно поставить и снять

В курсе, конечно же.))

Я ничего не говорил про режим отладки и специально привел в пример TerminalClose () TesterStop () для ясности.

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

В любом случае, пожелание было обращено к разработчикам MetaTrader 5. Полагаю, Вы не из их числа, при всём уважении. 

Возможно, Вы отреагировали на словосочетание "отладке советников", понимаю. Поясню, нет, речь обо всех ситуациях, где эти функции очень полезны.

 
Vladislav Boyko #:

Название примерно следующее: "Как перейти на MQL5 Algo Forge сразу, а git выучить позже"😁

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

Пожалуйста, напишите в своей статье, как удалить файл из хранилища, причём удалить полностью, со всеми предыдущими изменениями.

 
Aleksandr Slavskii #:

Пожалуйста, напишите в своей статье, как удалить файл из хранилища, причём удалить полностью, со всеми предыдущими изменениями.

Для чего его удалять?

История изменений, грубо говоря, состоит из коммитов. Каждый коммит это снимок (snapshot) всех файлов в определенный момент времени + метаданные (автор, дата, комментарий, ...). Когда вы делаете коммит (сохраняете состояние ваших файлов), если какой-то файл не был изменен, то Git не будет запоминать этот файл еще раз, а вместо этого создаст ссылку на предыдущюю версию идентичного файла, который уже есть в базе (в репозитории).

Я, грубо говоря, аматор и могу ошибаться. Но я думаю, что некорректно думать про отдельно взятые файлы. В Git вы работаете с коммитами, то есть, со снимками всех файлов на момент сохранения коммита. Какой-либо отдельно взятый файл "наследил" во всех коммитах, которые были сделаны "в его присутствии" (начиная с комита, который добавляет файл, заканчивая коммитом, который его удаляет). По логике вещей, чтобы потерять файл из истории, вам пришлось бы "вырезать" оттуда все коммиты, которые были сделаны в его присутствии. Что совсем не выглядит целесообразным.

Но, опять-же, я могу ошибаться.

 
Andrey Dik #:

В курсе, конечно же.))

Я ничего не говорил про режим отладки и специально привел в пример TerminalClose () TesterStop () для ясности.

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

В любом случае, пожелание было обращено к разработчикам MetaTrader 5. Полагаю, Вы не из их числа, при всём уважении. 

Возможно, Вы отреагировали на словосочетание "отладке советников", понимаю. Поясню, нет, речь обо всех ситуациях, где эти функции очень полезны.

Да, именно эти слова меня ввели в ступор.

А вот как заказчик фриланса может использовать предлагаемые функции я никак не понимаю. Да и как научить пользователей это применять? 

Ведь в коде, как я понимаю, должно быть условие по которому тестер встаёт на паузу. Тестер встал и что? Что может проверить пользователь? Ведь так просто пользователь не поймёт в каком месте программы случилась пауза. А разве программист не должен отладить эту часть кода, чтобы никакая остановка не была нужна?

В общем, запас это не там не помешает… Если сделают может кому-то и пригодится.