Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 90
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо, почему-то с лотом так не получается.
double r=-1;
if (sy=="0") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderLots() || r==-1) {
r=OrderLots();
}}}}}}}
return(r);
}
Как вернуть лот четырнадцатого селл стопа на снимке лот= 0.03?
Спасибо, почему-то с лотом так не получается.
if (sy=="0") sy=Symbol();
double r=MarketInfo(sy, MODE_MINLOT);
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderLots()) {
r=OrderLots();
}}}}}}}
return(r);
}
Вот ищет лот самого дальнего от цены
datetime t=0;
double r=-1,l=0;
if (sy=="0") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderOpenPrice() || r==-1) {
r=OrderOpenPrice();
l=OrderLots();
}}}}}}}
return(l);
}
Спасибо, почему-то с лотом так не получается.
double r=-1;
if (sy=="0") sy=Symbol();
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()>1 && OrderType()<6) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (r>OrderLots() || r==-1) {
r=OrderLots();
}}}}}}}
return(r);
}
Как вернуть лот четырнадцатого селл стопа на снимке лот= 0.03?
Нет функция работает верно, почему возвращаемое значение не 1 и14 ордера а 2?
это тестер?
У меня работает верно.
Вот ищет лот самого дальнего от цены
Спасибо, так понятно. Нашли его, теперь можно всё что нужно о нём узнать )
Нет функция работает верно, почему возвращаемое значение не 1 и14 ордера а 2?
это тестер?
У меня работает верно.
Спасибо, так понятно. Нашли его, теперь можно всё что нужно о нём узнать )
Чтобы узнать полную инфу об ордере или позиции, то лучше это делать по тикету
// всё что угодно
}
...почему возвращаемое значение не 1 и14 ордера а 2?
Потому что вызываю так
Чтобы узнать полную инфу об ордере или позиции, то лучше это делать по тикету
// всё что угодно
}
Но для этого сначала нужно узнать тикет последнего ордера 14
Поэтому ордер всё равно нужно сначала искать как в первой функции?
Или просто заменить SELECT_BY_POS на SELECT_BY_TICKET
Но для этого сначала нужно узнать тикет последнего ордера 14
Поэтому ордер всё равно нужно сначала искать как в первой функции?
Или просто заменить SELECT_BY_POS на SELECT_BY_TICKET
Смотря что нужно узнать. По сути, можно и тут всё узнать, выбрать ордер по цене, ну а дальше записать по нему нужные параметры и всё вернуть.
Использование циклов лишний раз, не есть хорошая идея, так что лучше всё реализовать в одном цикле, в реальной торговле это не заметно, а вот в тестере будут долго идти тесты. Хотя всё зависит от задачи, кто-то пишет программы для тестера, а кто-то для торговли, поэтому можно использовать не один цикл, а несколько.
P.S. если конечно советник-пипсовщик, то лучше не использовать ни одного цикла)