Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Самый простой способ это проверить, создать клон программы,в ней сделать как Вы хотите, затем прогнать по истории по-очереди
обе программы, с одинаковыми параметрами и сравнить оба стейта. Если они будут одинаковыми, то скорее всего у Вас получилось. :)
Я вам предложил это как вариант, я сам не программист.
Спасибо Вам. Я проверяю, на демо. Надеюсь что ничего другого в программе не испортится :) . и даже если не будет работать, то все равно спасибо. Просто возник вопрос: то что я убрал #define ( символическое имя константы) вообще на что нибудь влияет? Если да, то на что? Может это надо как то вернуть? Только я не знаю как?
С уважением, Азер.
добрый вечер. Т.к. эта ветка моя, я решил тут и спросить.
может ктонибудь показать готовый код который закрывал бы перекрытые ордера по максимуму( возможность котороя есть в терминале) . или может гдето это уже есть. т.к. если эта возможность заложена в терминале то она ведь как то там запрограммированна. наверное. может скажете как туда подглядеть? заранее спасибо всем кто откликнется .
Либо вопрос сложный и ни кто не знает ответа, либо наоборот очень прост и ни кто не хочет тратить время на пустяки. И честно говоря жаль что ни кто не отреагировал .
extern double StopProfit = 5; -------- внешняя переменная, действительное число . вопрос : почему я не могу придать ему отрицательное значение ?? если задаю отрицательное то советник начинает просто выставлять ордера и тут же их удалять . насколько я помню действительные числа это все числа и ноль .
вот еще 2 строчки в советнике с этим пораметром :
первая в : expert start function
" StopProfit=", DoubleToStr(StopProfit, 2), AccountCurrency());
вторая в : Управление ордерами и позициями.
if (GetProfitOpenPosInCurrency(NULL, -1, Magic)>=StopProfit)
extern double StopProfit = 5; -------- внешняя переменная, действительное число . вопрос : почему я не могу придать ему отрицательное значение ?? если задаю отрицательное то советник начинает просто выставлять ордера и тут же их удалять . насколько я помню действительные числа это все числа и ноль .
вот еще 2 строчки в советнике с этим пораметром :
первая в : expert start function
" StopProfit=", DoubleToStr(StopProfit, 2), AccountCurrency());
вторая в : Управление ордерами и позициями.
if (GetProfitOpenPosInCurrency(NULL, -1, Magic)>=StopProfit)
придать отрицательное значение можете, но вопрос в том как вы используете эту переменную.
по той информации что вы дали - вам в Клуб Телепатов https://www.mql5.com/ru/forum/133408
скажите какую информацию дать и я дам . код всего советника наверное не нужен, большой очень . использую для закрытия при достижении определенной суммарной прибыли в валюте .
extern double StopProfit = 5; -------- внешняя переменная, действительное число . вопрос : почему я не могу придать ему отрицательное значение ?? если задаю отрицательное то советник начинает просто выставлять ордера и тут же их удалять . насколько я помню действительные числа это все числа и ноль .
вот еще 2 строчки в советнике с этим пораметром :
вторая в : Управление ордерами и позициями.
if (GetProfitOpenPosInCurrency(NULL, -1, Magic)>=StopProfit)
что делает функция GetProfitOpenPosInCurrency()?
мой телепат говорит, что в данной определяется, что ордер надо закрывать как только набежит профит равный StopProfit
соответственно если поставить скажем "-30", то условие сразу выполнится и ордер будет закрыт
а как исправить это ? какую строчку посмотреть ? я не програмист . и как условие отрицательного значения прибыли может быть выполнено если ордера отложенные ?
а как исправить это ? какую строчку посмотреть ? я не програмист . и как условие отрицательного значения прибыли может быть выполнено если ордера отложенные ?
если не программист - выложите весь код
или пусть телепаты скажут какую строчку посмотреть