![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
"OrderSelect()" возвращает целое число, когда в документации ясно сказано, что он возвращает булево число?
Булево - это 0 или 1
Вы даже не проверяете результат "OrderClose()" или произошла ли ошибка во время выполнения! Я напишу код после того, как пойму order select FMIC.
программирование на c важно для понимания. довольны?
"OrderSelect()" возвращает целое число, когда в документации ясно сказано, что он возвращает булево число?
Булево - это 0 или 1
Вы даже не проверяете результат "OrderClose()" или произошла ли ошибка во время выполнения! Да, но это происходит после FMIC.
Это уже булево, вам не нужно сравнивать его ни с чем, будь то другая булева константа или типизированный Integer. Вы не должны жестко кодировать внутренние представленные булевы значения! Вы должны использовать "true" или "false", но в идеале только при инициализации переменной, а не в сравнениях.
Если бы вы потрудились выучить язык "С", вы бы это знали!
вот мой вопрос
что переключает функцию order select с false на true?
Я понимаю ! равно не
примеры
if not order select или if order select BUT
по умолчанию order select равен 0, так что переключает order select с 0 на 1?
документация гласит
"Возвращаемое значение
Возвращает true, если функция успешна".
Этой информации недостаточно для понимания.
спасибо FMIC
только этот форум
Эдди, ты знаешь что-нибудь о функции выбора заказа?
Конечно, знаю.
Я учился у других программистов и умею читать книги и руководства по MQL.
Но самое главное: я научился пользоваться отладчиком. Это сэкономило мне много времени на поиск ошибок в аналитике и кодировании.
Если вы понимаете, то почему вы не сделали это правильно в первую очередь!
boopa26 : вот мой вопрос
что переключает функцию order select с false на true?
примеры
if not order select или if order select BUT
по умолчанию order select равен 0, что переключает order select с 0 на 1?
документация гласит
"Возвращаемое значение При успешном выполнении функции возвращается true".
мне недостаточно информации для пониманияНет ни "по умолчанию", ни переключения с одного значения на другое! Она либо успешно выбирает заказ и возвращает "true", либо терпит неудачу, возвращая "false", и вы должны проверить код ошибки, чтобы выяснить причину!
1. не требуется знание языка си. mql4 - это различные функции
3. уже читаю документацию4. уже написанный код
Пожалуйста, не кормите тролля. Когда вы отвечаете, вы даете троллю власть. Когда вы игнорируете тролля, он голодает по вниманию и в конце концов умирает.
Здравствуйте, я могу циклически выбирать ордера для поиска открытых ордеров, но я не могу циклически выбирать ордера для поиска прибыли закрытых ордеров. например, я хочу найти прибыль последнего закрытого ордера.
Этот код циклирует order select для поиска открытых ордеров.
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
https://docs.mql4.com/trading/orderselect
https://docs.mql4.com/trading/orderprofit
возможно это
b<OrdersHistoryTotal()&&
OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==0)
b++;
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
почему вы не инициализируете переменную a и почему она статическая?
Вам уже говорили, что нужно использовать true или false, а не 1 или 0.
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
Вы не выполняете циклический перебор заказов
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
иу не инициализирует переменную a и почему она статическая?
Вам уже говорили, что вы должны использовать true или false, а не 1 или 0
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
Вы не перебираете порядки
static int a; sits above start(){ GLOBAL VALUE
нет никакой разницы 1 или 0. true или false
Я увеличиваю значение a после того, как условия вступают в силу