Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прежде всего, не пытайтесь объявлять функцию внутри другой функции.
Я не могу понять, что вы пытаетесь сделать, глядя на код, который вы опубликовали. Поэтому я не могу вам помочь.
Спасибо GumRai за быстрый ответ. В моей программе много условий, как показано ниже. Я проверил до P12. Это как поворотный пункт. Если условия удовлетворяются, тогда он открывает лимитные сделки на этих уровнях P1, P2, ....as его номер 12. Я не хотел писать код покупки/продажи для каждого случая. Поэтому сделал отдельные функции buycall/sellcall. Ниже приведен мой старый код для продажи.
Вот пример. Одна и та же сделка размещается на каждом тике. Мне нужно разместить это на каждый час. Поскольку это часовой разворот.
Когда вы открываете лимит на продажу, вы устанавливаете BuyTicket в 0.
Затем вы проверяете, установлен ли BuyTicket==0, конечно, да, вы только что его установили.
Затем вы устанавливаете SellTicket на 0.
Следующий тик, Sellticket==0, поэтому вы открываете лимит на продажу и снова устанавливаете BuyTicket на 0.
и так далее и так далее............
Когда вы открываете лимит на продажу, вы устанавливаете BuyTicket в 0.
Затем вы проверяете, установлен ли BuyTicket==0, конечно, да, вы только что его установили.
Затем вы устанавливаете SellTicket на 0.
Следующий тик, Sellticket==0, поэтому вы открываете лимит на продажу и снова устанавливаете BuyTicket на 0.
и так далее и так далее............
Тогда я должен удалить эти две строки, которые вы выделили. Я так и сделал. Теперь показываю только результат одного часа за 2 месяца тестирования данных.
Еще одна вещь, которую я заметил, в моем sellcall, у меня есть обратная сделка на покупку. Если сделка sell будет остановлена, тогда откроется сделка buy. Теперь для функции sellcall она возвращает(Selltickets), так что все в порядке?
Спасибо.
Теперь я понимаю, что в этом коде, сначала проверяется sellticket == 0 да очевидно, затем размещается ордер на продажу, затем buyticket == 0 да, затем размещается ордер на покупку...но когда возвращается...снова проверяется sellticket == 0, нет его сейчас нет...так вот почему Ea остановился после взятия одного сета. Но как устранить эту проблему. В моем советнике неактивные отложенные ордера удаляются через каждые 59 минут от начального часа. Я настроил это таким образом.
Теперь я изменил код следующим образом, он считывает все поддержки и сопротивления.
У меня есть максимум 6 поддержек и 6 сопротивлений на час. Если 6 из них удовлетворяют условиям, то он открывает лимитные ордера на эти 6. Если 1 удовлетворяет, то открывает лимитные ордера на него. Это и есть алгоритм.
Поэтому я настроил код следующим образом для вызова функции.
Теперь он работает в течение часа и проверяет 6 уровней для каждой покупки/продажи. Но работает только час. Что нужно сделать, чтобы он работал идеально для полного набора данных.
Это будет работать только в тестере стратегий и больше ничего не сделает после открытия первых 6 ордеров.
Вы не можете использовать номер билета для теста таким образом.
Это будет работать только в тестере стратегий и больше ничего не сделает после открытия первых 6 ордеров.
Вы не можете использовать номер билета для теста таким образом.
Спасибо за ваш ответ.
Тогда что мне делать. Если я удалю BuyTicket =>0 или любые условия BuyTicket. Тогда советник совершает много одинаковых сделок с каждым тиком.....Давая мне ошибку отправки ордеров 148.
Спасибо за ваш ответ.
Тогда что мне делать. Если я удалю BuyTicket =>0 или любые условия BuyTicket. Тогда советник совершает много одинаковых сделок с каждым тиком.....Давая мне ошибку отправки ордеров 148.
Мы не знаем, что вы пытаетесь сделать.
Если вам нужна только одна открытая сделка за раз, проверьте, нет ли открытых ордеров перед отправкой нового.
Если вам нужна только одна сделка на бар, проверяйте только один раз на бар.
Если вам нужна комбинация условий, протестируйте эту комбинацию.