[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 572
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пытался создать советник, на основе монетки, орел бай, решек селл. Но он не работает. При тестировании в окне появляются надписи: При открытии ордера ошибка 131, в приложении посмотрел - это не правильный объем. Внимательно посмотрел, ошибки не могу найти. Везде точка стоит, для отделения целой части, а не запятая. Помогите пожалуйста. Код в файле.
Пытался создать советник, на основе монетки, орел бай, решек селл. Но он не работает. При тестировании в окне появляются надписи: При открытии ордера ошибка 131, в приложении посмотрел - это не правильный объем. Внимательно посмотрел, ошибки не могу найти. Везде точка стоит, для отделения целой части, а не запятая. Помогите пожалуйста. Код в файле.
используйте:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Минимально возможный объём лота
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Минимальный шаг изменения лота
Lot lдолжен быть >= MinLot и нормализован c помощью Lot=NormalizeDouble(Lot,Dig);
где Dig = Кол-во_знаков_после_запятой StepLota, т.е StepLot=0.01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
К примеру при MinLot=0.1 и StepLot=0.01:
Lot может быть 0.1, 0.11,0.12 и т.д. Но не может быть 0.99, 0.98 и тем более не может быть 0.998,0.999, 0.111,0.101
используйте:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Минимально возможный объём лота
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Минимальный шаг изменения лота
Lot lдолжен быть >= MinLot и нормализован c помощью Lot=NormalizeDouble(Lot,Dig);
где Dig = Кол-во_знаков_после_запятой StepLota, т.е StepLot=0.01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
К примеру при MinLot=0.1 и StepLot=0.01:
Lot может быть 0.1, 0.11,0.12 и т.д. Но не может быть 0.99, 0.98 и тем более не может быть 0.998,0.999, 0.111,0.101
К примеру при MinLot=0.1 и StepLot=0.01:
Lot может быть 0.1, 0.11,0.12 и т.д. Но не может быть 0.99, 0.98
Да ну... неужели?
88 или 89 раз увеличьте лот на минимальный шаг. К примеру - лот каждой последующей открываемой позиции должен быть увеличен на минимальный шаг. Т.е. тупо прибавлять к лоту прошлой позиции минимальный шаг изменения лота. 98-я открываемая позиция будет иметь лот 0.98, соответственно, лот 99-й позиции будет увеличен на минимальный шаг 0.98+0.01=0.99...
Вы считаете, что ДЦ не даст открыться таким лотом?
К примеру при MinLot=0.1 и StepLot=0.01:
Lot может быть 0.1, 0.11,0.12 и т.д. Но не может быть 0.99, 0.98
Да ну... неужели?
88 или 89 раз увеличьте лот на минимальный шаг. К примеру - лот каждой последующей открываемой позиции должен быть увеличен на минимальный шаг. Т.е. тупо прибавлять к лоту прошлой позиции минимальный шаг изменения лота. 98-я открываемая позиция будет иметь лот 0.98, соответственно, лот 99-й позиции будет увеличен на минимальный шаг 0.98+0.01=0.99...
Вы считаете, что ДЦ не даст открыться таким лотом?
Чорт .... ошибся конечно. не может быть 0.09, 0.08.
А тупо или не тупо - это решать тому кто пишет советника.
Нет, открываться конечно нужно по ордеру или бай или селл на открытие очередного, или одного из следующих баров. Да и закрываться тоже планирую по ордеру, назначая его по количеству пунктов от открытия.
Позже (на выходных) выложу сюда код для открытия рыночного ордера - либо бай, либо селл (по Вашему выбору), при открытии новой свечи.
используйте:
MinLot= MarketInfo( symbol(),MODE_MINLOT )// Минимально возможный объём лота
StepLot= MarketInfo( symbol(),MODE_STEPLOT )// Минимальный шаг изменения лота
Lot lдолжен быть >= MinLot и нормализован c помощью Lot=NormalizeDouble(Lot,Dig);
где Dig = Кол-во_знаков_после_запятой StepLota, т.е StepLot=0.01 - Dig=2 ... StepLot=0.1 - Dig=1 .....
К примеру при MinLot=0.1 и StepLot=0.01:
Lot может быть 0.1, 0.11,0.12 и т.д. Но не может быть 0.99, 0.98 и тем более не может быть 0.998,0.999, 0.111,0.101
Кстати этот советник я ясен пень не намерен использовать, просто я учусь языку программирования. По сути, я прикола ради решил посмотреть как он будет работать на тестере, просто читал как то, что генератор случайных чисел выдает не такие уж и случайные числа, дескать он повторяется. Проблема похоже не в неправильном написании числа, а в алгоритме, только вот в чем она заключается?
Помогите с задачкой.
Вопрос такой у меня сова мартин, открывает колена через заданное кол-во пунктов, но с новым маджиком. Получается открывает по сигналу1 один-три ордера с маджиком = 1, далее минус следующее колено по сигналу2 открываю один-три ордера с маджиком 2 и так далее.
Получается каждое колено идет по 1-3 ордера со своим меджиком.
Теперь суть вопроса в чем, как посчитать в цикле ордера каждого меджика например? я пытался так
А если так:
Не проверял, так, на коленке набросал...
А если так:
Не проверял, так, на коленке набросал...