Первый дает странные результаты на EURJPY если валюта депозита USD. Нужно что то добавить в формулу?
Второй тоже работает через раз, то верные значения дает, то какую-то ерунду (это зависит от депозита)
второй вариант и есть правильный способ расчета залога, вернее Вы в переменной val получаете значение свободных средств после выставления ордера, а в переменной FreeMarginCheck и есть сама величина залога
второй вариант и есть правильный способ расчета залога, вернее Вы в переменной val получаете значение свободных средств после выставления ордера, а в переменной FreeMarginCheck и есть сама величина залога
Уверены?
AccountFreeMarginCheck
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
Там еще есть нюанс:
Если открыты встречные сделки, т.е. на счете полный или неполный лок, то функция может давать неверные значения.
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
насчет открытых сделок, нужно проверять, не помню, но скорее всего то что пишет терминал , должно сойтись с расчетными данными: суммарное количество лотов в каждом направлении сделок (БАЙ/СЕЛЛ) по всем символами потом вызываете для каждого символа
AccountFreeMarginCheck() передав ей лоты в каждом направлении и просуммировав эти результаты
сегодня рынок работает, проверить это не сложно, примерно так:
Приветствую, подскажите что не так в функций? Функция осуществляет торговую паузу по времени, в параметрах начало паузы и конец паузы. Функция почему то считывает время не с сервера брокера а с компьютера, несмотря на то что прописано TimeCurrent. И вообще сделки закрываются во время паузы, то есть функция не работает.
Приветствую, подскажите что не так в функций? Функция осуществляет торговую паузу по времени, в параметрах начало паузы и конец паузы. Функция почему то считывает время не с сервера брокера а с компьютера, несмотря на то что прописано TimeCurrent. И вообще сделки закрываются во время паузы, то есть функция не работает.
распринтуйте TimeStart и StrToTime(TimeStart);
затем распринтуйте TimeCurrent()
у Вас в TimeStart не полный формат времени datetime, вернее время будет всегда как текущий день месяц и год при запуске советника, а потом оно будет меняться?
ну и глобально... чтобы определять часы и минуты торговли нужно часы и минуты сравнивать с часами и минутами времени сервера, Вы сравниваете лишь факт того, что время сервера больше заданного
ЗЫ: чтобы не путаться, можете datetime представлять себе как int, чем он по сути и является и сравнивая 2 datetime, Вы сравниваете 2 int
Благодарю, попробую разобраться, я просто начинающий), с вариантом && в место || еще не пробовал посмотреть онлайн, кстати в тестере этот код работает, время считывает с терминала, закрытия ордеров во время паузы нет, а в онлайн все иначе.
Здравствуйте! Терминал не запускается в тестере стратегий. Выставляю дату, например (2017,04,01 по 2018,05,29), нажимаю старт, он тут же выдаёт стоп. В журнале пишет следующее,
TestGenerator: no history data 'EURUSD30' from 2017.04.01 to 2018.05.29. И так на любом отрезке. Комп рабочий, я думал может быть оперативы мало. На домашнем компе тоже самое, перезагрузка не помогает, но постоит некоторое время, запускается. Советник скачал в маркете, триал. Если кто знает причину, подскажите пожалуйста?
Здравствуйте! Терминал не запускается в тестере стратегий. Выставляю дату, например (2017,04,01 по 2018,05,29), нажимаю старт, он тут же выдаёт стоп. В журнале пишет следующее,
TestGenerator: no history data 'EURUSD30' from 2017.04.01 to 2018.05.29. И так на любом отрезке. Комп рабочий, я думал может быть оперативы мало. На домашнем компе тоже самое, перезагрузка не помогает, но постоит некоторое время, запускается. Советник скачал в маркете, триал. Если кто знает причину, подскажите пожалуйста?
Вам вроде тестер и пишет, что нет исторических данных, F2 нажмите и загрузите историю, потом перегрузите терминал
Здравствуйте! Терминал не запускается в тестере стратегий. Выставляю дату, например (2017,04,01 по 2018,05,29), нажимаю старт, он тут же выдаёт стоп. В журнале пишет следующее,
TestGenerator: no history data 'EURUSD30' from 2017.04.01 to 2018.05.29. И так на любом отрезке. Комп рабочий, я думал может быть оперативы мало. На домашнем компе тоже самое, перезагрузка не помогает, но постоит некоторое время, запускается. Советник скачал в маркете, триал. Если кто знает причину, подскажите пожалуйста?
Подскажите, как рассчитать залог по сделке?
Пробовал два подхода
(0.1 * Ask*MarketInfo(Symbol(),MODE_LOTSIZE))/AccountInfoInteger(ACCOUNT_LEVERAGE)
И вот такой
FreeMarginCheck=AccountFreeMarginCheck(Symbol(),OP_BUY,0.1);
double val=AccountFreeMargin()-FreeMarginCheck;
Первый дает странные результаты на EURJPY если валюта депозита USD. Нужно что то добавить в формулу?
Второй тоже работает через раз, то верные значения дает, то какую-то ерунду (это зависит от депозита)
второй вариант и есть правильный способ расчета залога, вернее Вы в переменной val получаете значение свободных средств после выставления ордера, а в переменной FreeMarginCheck и есть сама величина залога
второй вариант и есть правильный способ расчета залога, вернее Вы в переменной val получаете значение свободных средств после выставления ордера, а в переменной FreeMarginCheck и есть сама величина залога
Уверены?
AccountFreeMarginCheck
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
Там еще есть нюанс:
Если открыты встречные сделки, т.е. на счете полный или неполный лок, то функция может давать неверные значения.
Уверены?
да, Вы правы, именно так:
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
насчет открытых сделок, нужно проверять, не помню, но скорее всего то что пишет терминал , должно сойтись с расчетными данными: суммарное количество лотов в каждом направлении сделок (БАЙ/СЕЛЛ) по всем символами потом вызываете для каждого символа
AccountFreeMarginCheck() передав ей лоты в каждом направлении и просуммировав эти результаты
сегодня рынок работает, проверить это не сложно, примерно так:
Приветствую, подскажите что не так в функций? Функция осуществляет торговую паузу по времени, в параметрах начало паузы и конец паузы.
Функция почему то считывает время не с сервера брокера а с компьютера, несмотря на то что прописано TimeCurrent. И вообще сделки закрываются во время паузы, то есть функция не работает.
Приветствую, подскажите что не так в функций? Функция осуществляет торговую паузу по времени, в параметрах начало паузы и конец паузы.
Функция почему то считывает время не с сервера брокера а с компьютера, несмотря на то что прописано TimeCurrent. И вообще сделки закрываются во время паузы, то есть функция не работает.
распринтуйте TimeStart и StrToTime(TimeStart);
затем распринтуйте TimeCurrent()
у Вас в TimeStart не полный формат времени datetime, вернее время будет всегда как текущий день месяц и год при запуске советника, а потом оно будет меняться?
ну и глобально... чтобы определять часы и минуты торговли нужно часы и минуты сравнивать с часами и минутами времени сервера, Вы сравниваете лишь факт того, что время сервера больше заданного
ЗЫ: чтобы не путаться, можете datetime представлять себе как int, чем он по сути и является и сравнивая 2 datetime, Вы сравниваете 2 int
PSPS:
наверное будет Ваш код работать, нужно так попробовать:
я обычно так время считаю:
int h = TimeHour(TimeCurrent());
int m = TimeMinute(TimeCurrent());
а потом сравниваю с настройками советника
Благодарю, попробую разобраться, я просто начинающий), с вариантом && в место || еще не пробовал посмотреть онлайн, кстати в тестере этот код работает, время считывает с терминала, закрытия ордеров во время паузы нет, а в онлайн все иначе.
Здравствуйте! Терминал не запускается в тестере стратегий. Выставляю дату, например (2017,04,01 по 2018,05,29), нажимаю старт, он тут же выдаёт стоп. В журнале пишет следующее,
TestGenerator: no history data 'EURUSD30' from 2017.04.01 to 2018.05.29. И так на любом отрезке. Комп рабочий, я думал может быть оперативы мало. На домашнем компе тоже самое, перезагрузка не помогает, но постоит некоторое время, запускается. Советник скачал в маркете, триал. Если кто знает причину, подскажите пожалуйста?
Здравствуйте! Терминал не запускается в тестере стратегий. Выставляю дату, например (2017,04,01 по 2018,05,29), нажимаю старт, он тут же выдаёт стоп. В журнале пишет следующее,
TestGenerator: no history data 'EURUSD30' from 2017.04.01 to 2018.05.29. И так на любом отрезке. Комп рабочий, я думал может быть оперативы мало. На домашнем компе тоже самое, перезагрузка не помогает, но постоит некоторое время, запускается. Советник скачал в маркете, триал. Если кто знает причину, подскажите пожалуйста?
Вам вроде тестер и пишет, что нет исторических данных, F2 нажмите и загрузите историю, потом перегрузите терминал
Здравствуйте! Терминал не запускается в тестере стратегий. Выставляю дату, например (2017,04,01 по 2018,05,29), нажимаю старт, он тут же выдаёт стоп. В журнале пишет следующее,
TestGenerator: no history data 'EURUSD30' from 2017.04.01 to 2018.05.29. И так на любом отрезке. Комп рабочий, я думал может быть оперативы мало. На домашнем компе тоже самое, перезагрузка не помогает, но постоит некоторое время, запускается. Советник скачал в маркете, триал. Если кто знает причину, подскажите пожалуйста?
no history data не говорит ни о чем?
Вам вроде тестер и пишет, что нет исторических данных, F2 нажмите и загрузите историю, потом перегрузите терминал
Спасибо! Попробую. А обновление терминала может влиять как то? То, что он обновлён или нет, хотя он сам об этом сообщит......