ONLY CANDLE / BAR - Как каталогизировать или разделить свечи? - ПОЖАЛУЙСТА, ПОПРАВЬТЕ МЕНЯ! - страница 4
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У меня такое чувство, что мы немного потеряли контроль над кодом.
Нет, это точно не то место.
Эта "обработка ошибок" не делает ничего лучше. Проверьте еще раз.
Это создано не для развлечения! Его следует использовать для сброса выполненных флагов на новом баре.
Что мы узнали о сравнении парных значений и имеет ли это смысл в данном случае?
Итак, вы решили удалить свой пост, на который я ссылаюсь... Молодец, это очень полезно!
Извините, но вчера были проблемы с интернетом (mql4.com перестал работать). Я пытался исправить кое-что и ........
Нелегко вам помочь. Почему бы вам пока не попробовать реализовать только одну стратегию, но с соответствующейфункцией Open(), Close(), Count(), NewBar(), Signal().
Блок ниже находится за пределами функции start. Я не уверен, что это нужно.
Я думаю так же, как и Вы, о маленьких шагах. Давайте возьмем только один вариант BULL4
Иногда выглядит как Ea для моей кодовой базы
https://www.mql5.com/en/code/9156 - интересно
Я понимаю их (но не чувствую), это флаг, ия понимаю его назначение.
Что вы думаете? О маленьких шагах
Да, маленькими шагами, так что с ошибками можно справиться...
Вы хотите выделить что-то конкретное из кодовой базы советника?
Я не увижу этого снова - я больше не буду помогать вам, если вы и дальше будете игнорировать шаги по исправлению, которые я - или кто-то другой - посоветовал сделать:
Проскальзывание равно 0? Вы, вероятно, получите ошибку. Но исправленная обработка ошибок поймает ее :-)
Это не неправильно, но не идеально, и в худшем случае это не то, что вы хотите внутри цикла. Лучше всего, даже не начинайте использовать циклы от 0 до OrdersTotal. Читайте здесь: Циклы и закрытие или удаление заказов
Каков спред вашего брокера и сколько цифр у вас есть для символа, которым вы хотите торговать? Я не уверен, что вы правильно используете Point (Читайте на первой странице вашей темы).
Да, маленькими шагами, так что с ошибками можно справиться...
Вы хотите выделить что-то конкретное из кодовой базы EA?
Я думаю, что нет, нечего светить, я понимаю, что я написал.
Я не увижу этого снова - я не буду помогать вам больше, если вы будете и дальше игнорировать шаги коррекции, которые я - или кто-то другой - посоветовал сделать:
Да. Я знаю, что делать NormalizeDouble, я думаю, что я понимаю (если у меня есть: euro/usd = 1.2390022129.....09.... И нам нужно: 1,29893 конец! не бесконечность ), но я не могу написать это, может быть это?
if ( NormalizeDouble ( abc(),0 ) )
If ( NormalizeDouble ((Close[1]-Bid) +3*point),0 ) ;
Проскальзывание равно 0? Вы, вероятно, получите ошибку. Но фиксированная обработка ошибок поймает ее :-)
Я могу иметь +1 без проблем result=OrderSend(Symbol(),OP_BUY,0.41,Ask, 1 ,Close[1]-25*Point,0,"",MAGICMA1,0,Blue);
Ошибка будет обработана, хорошо, мы увидим, что будет после
Это не неправильно, но и не идеально, и в худшем случае это не то, что вы хотите внутри цикла. Лучше всего, даже не начинайте использовать циклы от 0 до OrdersTotal. Читайте здесь: Циклы и закрытие или удаление заказов
ОЧЕНЬ ХОРОШАЯ СТАТЬЯ! Я должен был прочитать ее в самом начале :)
Каков спред вашего брокера и сколько цифр у вас есть для символа, которым вы хотите торговать? Я не уверен, что вы правильно используете Point (прочитал на первой странице вашей темы).
Я помню их. У меня Admiral Market Bid = 1,29000 Ask = 1,29001. Это проблема, которую я знаю, но у меня нет решения на данный момент, я не нашел хорошего примера.
Я пишу код...
Да. Я знаю, что делает NormalizeDouble, я думаю, что я понимаю (если у меня есть: euro/usd = 1.2390022129.....09.... И нам нужно: 1,29893 end! не бесконечность), но я не могу написать это, может быть это?
if (NormalizeDouble( abc(),0 ) )
Вы не можете NormalizeDouble() a bool, подсказка в названии функции и в документации тоже....
Вы не можете NormalizeDouble() a bool, подсказка находится в названии функции и в документации тоже. ...
Жаль, что мы не можем нормализовать истину, чтобы она была очень истинной :-(
Да. Я знаю, что делает NormalizeDouble, я то, что я понимаю (если у меня есть: euro/usd = 1.2390022129.....09.... И нам нужно: 1,29893 end! не бесконечность), но я не могу написать это, может быть это?
Нет, вы не должны нормализовать Bid или Close[1]. Я имел в виду, что вы просто не должны сравнивать их на равенство.
Представьте:
Close[1] = 1.31933
New_Bar
Tick1, Bid = 1.31935
Тик2, Bid = 1.31934
Тик3, Bid = 1.31937
Тик4, Bid = 1.31937
Тик5, Bid = 1.31942
Ваш код действительно ищет тик, где Bid равен 1.31936
Вы пропустите свой сигнал. Этого не произойдет, если вы используете > .
Я могу иметь +1 без проблем result=OrderSend(Symbol(),OP_BUY,0.41,Ask, 1 ,Close[1]-25*Point,0,"",MAGICMA1,0,Blue);
Это не делает его намного лучше. Все ваши расчеты в Points должны быть Pips, насколько я понимаю. Однако, у меня нет опыта работы с ECN брокерами, так что это может сработать.
Это не неправильно, но не идеально, и в худшем случае это не то, что вы хотите внутри цикла. Лучше всего, даже не начинайте использовать циклы от 0 до OrdersTotal. Читайте здесь: Циклы и закрытие или удаление заказов
ОЧЕНЬ ХОРОШАЯ СТАТЬЯ! Я должен прочитать их в самом начале :)
Согласен и есть еще много очень хороших статей, написанных тем же автором. Также книга - неплохое место для начала.
У меня Admiral Market Bid = 1,29000 Ask = 1,29001. Это проблема, которую я знаю, но у меня нет решения на данный момент, я не нашел хороший пример.
На сайте вашего брокера указано, что для EURUSD минимальный спред составляет 0,1. Средний спред составляет 0,5. <-- Это означает в пунктах! То есть 0,1 - это 1 пункт. 0,5 - это 5 пунктов.
Так что в вашем случае один пипс - это 10*пункт. Спред запутает все ваши мини-расчеты, где вы добавляете только 3 пункта к цене.
Наберите в поисковике "adjust for 5 digit broker" и вы найдете много примеров.
ПРИВЕТ :)
Если этот код был плох, потому что я передавал сигналы, то он улучшился.Я подумал , что проблема совсем в другом месте, а не в знаке равенства '=='......... '>=' лучше, конечно.
Вопрос 1. Должен ли я использовать MyPips в свече, в этой функции? bool BULL4()
Проблема с цифрами.
Я нашел вот это
https://www.mql5.com/en/forum/140097 by WHRoeder
https://www.mql5.com/en/forum/123736 by WHRoeder
Что такое Digit ? в https://docs.mql4.com/predefined/variables/digits и https://docs.mql4.com/convert/doubletostr
Поскольку вы эксперт, я должен был сказать кое-что, это может быть важно.
Сейчас я используюплатформу MT4 и вижу 4 цифры после запятой (Bid-Ask= 0.0001 обычно). На данный момент мы запрограммировалина MQL4, пусть так и будет.
В MT5 я вижу5 цифр после запятой.разница между MQL4 иMQL5. На данный момент это различие не имеет для менязначения. Важно,чтобы наш советник работал хорошо.
Я не хочу в данный момент говорить об этом (если это не необходимо).
И Я НАПИСАЛ ПРОГРАММУ для меня это хорошо :) как насчет Вас?