а зачем вам 3 метода? достаточно все делать в одном
проверили ордер
- модифицировали - не модифицировали
Уже два, один контролирует размер массива через OrdersTotal() где хранятся тикеты модифицированных ордеров, а в другом этот массив перебирается на предмет тикета. Но сейчас я изменил код в другом месте никоим образом не связанный со всем этим и почему-то ловлю ошибку (выход за границу массива).
Тарас, допустим есть три ордера бай с TP и SL, далее в одном ордере изменили SL.
Вопрос: Как найти ордер который изменен?
очевидно жеж, сл (или тп) изменили ведь не просто так? А согласно каким-то условиям.
то есть при следующей проверке это условие будет определено как "выполнено" - ордер уже модифицирован.
пс. если же речь идет о ручном изменении, кто-то там что-то будет изменять без ведома ЕА, тогда конечно нужно собирать массив-структур и постоянно сравнивать его с рыночными ордерами.
MakarFX, спасибо! Теперь нет этого первого ордера лишнего безсигнального, но теперь почему то на первом сигнальном ордере (нормальном) вход осуществляется на 2 свечи раньше))) А затем всё ок, на остальных ордерах входит в нужный момент) Прикрепил скрин с тестера к сообщению, но даже несмотря на этот первый ордер - самое главное сделано, ещё раз спасибо большое) С магиками понял, я тогда сделаю внешнюю переменную, и когда буду прикреплять эсксперта к конкретному графику валютной пары, буду менять число для кажлой пары индивидуально.
Рябята, дня доброго по коду подскажите, вот график на справа двух сделках минусовых бай - кроется селлом, селл баем, по алгоритму надо входить в бай, но почему - то эти две ф-ии, которые смотрят и выдают минусовую сделку самую свежую в истории - показывают обе в плюса! Как правильно написать и где ошибка - эта ТС переворотная, на усреднялке - эти же ф-ии работают исправно, короче, после минусового селла - должен открыться бай, а он не открывается, т.к. ф-ии выдают обе true, хотя bool Calc_Loss_BUY() должна выдавать false, ведь я же в ф-иях считаю, что если самая крайняя сделка убыточная, то эта ф-ия выдает ИСТИНА, иначе ЛОЖЬ, а они обе выдают ИСТИНА. Прошу помочь решить.
//----------------------------------------------// проверка условий ПЕРЕВОРОТА В СЕЛЛ// нет поз рыночных и предыдущая сделка В БАЙ была минусовая и не было минусового селлаPrint(" Calc_Loss_BUY(): ",Calc_Loss_BUY(), " Calc_Loss_SELL(): ",Calc_Loss_SELL());
if(!PositionSelect(Symbol()) && Calc_Loss_BUY() && !Calc_Loss_SELL())
{
m_trade.Sell(CalcLot(),_Symbol,LastTick.bid,LastTick.ask+double(SLE)*_Point,LastTick.bid-double(TPE)*_Point - _Spread*_Point);
Print(" ПЕРЕВОРОТ БАЯ В СЕЛЛ, Calc_Loss_BUY(): ",Calc_Loss_BUY());
}
// проверка условий ПЕРЕВОРОТА в SELL// нет поз рыночных и предыдущий селл был минусовой И НЕ БЫЛО МИНУСОВОГО БАЙif(!PositionSelect(Symbol()) && Calc_Loss_SELL() && !Calc_Loss_BUY())
{
m_trade.Buy(CalcLot(),_Symbol,LastTick.ask,LastTick.bid-double(SLE)*_Point,LastTick.ask+double(TPE)*_Point + _Spread*_Point);
Print(" ПЕРЕВОРОТ СЕЛЛА В БАЙ, Calc_Loss_SELL(): ",Calc_Loss_SELL());
}
в общем он не открывает бай, хотя должен после убуточного селла его открывать!!!!!!!!!
По сути задача сводится к тому, чтобы определять профитная или в лосс была закрыта КРАЙНЯЯ позиция, ставшая сделкой в бай или в селл и смотреть далее по ее типу!
очевидно жеж, сл (или тп) изменили ведь не просто так? А согласно каким-то условиям.
то есть при следующей проверке это условие будет определено как "выполнено" - ордер модифицирован.
пс. если же речь идет о ручном изменении, кто-то там что-то будет изменять без ведома ЕА, тогда конечно нужно собирать массив-структур и постоянно сравнивать его с рыночными ордерами.
Я уже и забыл... а ведь в самом начале так и сделал (хорошо что закомитил) но способ от условия показался ненадежным, захотелось чтобы на измененный ордер указывало нечто более явное.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
а зачем вам 3 метода?
достаточно все делать в одном
Интересно!
Тарас, допустим есть три ордера бай с TP и SL, далее в одном ордере изменили SL.
Вопрос: Как найти ордер который изменен?
а зачем вам 3 метода?
достаточно все делать в одном
Интересно!
Тарас, допустим есть три ордера бай с TP и SL, далее в одном ордере изменили SL.
Вопрос: Как найти ордер который изменен?
очевидно жеж, сл (или тп) изменили ведь не просто так?
А согласно каким-то условиям.
то есть при следующей проверке это условие будет определено как "выполнено" - ордер уже модифицирован.
пс. если же речь идет о ручном изменении, кто-то там что-то будет изменять без ведома ЕА, тогда конечно нужно собирать массив-структур и постоянно сравнивать его с рыночными ордерами.
а зачем вам 3 метода?
достаточно все делать в одном
Убрал
MakarFX, спасибо! Теперь нет этого первого ордера лишнего безсигнального, но теперь почему то на первом сигнальном ордере (нормальном) вход осуществляется на 2 свечи раньше))) А затем всё ок, на остальных ордерах входит в нужный момент) Прикрепил скрин с тестера к сообщению, но даже несмотря на этот первый ордер - самое главное сделано, ещё раз спасибо большое) С магиками понял, я тогда сделаю внешнюю переменную, и когда буду прикреплять эсксперта к конкретному графику валютной пары, буду менять число для кажлой пары индивидуально.
Ордер же не 1, их допустим 10. Тикет каждого модифцированного я записываю в массив. Но пока с этим проблемка.
не имеет значения сколько там ордеров - если изменять ТП/СЛ, согласно условиям, уже не нужно = ордер уже модифицирован.
тот - для развлечения в тестере хорош.
а этот Вам, в подарок - для зарабатывания денег.
\\\\\\\\\\\\\\\\\\\\\\\\\\
запустил на проверку - вечером посмотрим как отработает
\\\\\\\\\\\\\\\\\\\\\\\\\\\
проверил как меняет шаблон на всех графиках - всё сработало! -как общий профит достиг цели.
SanAlex, очень интересно, обязательно подробно рассматрю данного эксперта, спасибо!
Рябята, дня доброго по коду подскажите, вот график на справа двух сделках минусовых бай - кроется селлом, селл баем, по алгоритму надо входить в бай, но почему - то эти две ф-ии, которые смотрят и выдают минусовую сделку самую свежую в истории - показывают обе в плюса! Как правильно написать и где ошибка - эта ТС переворотная, на усреднялке - эти же ф-ии работают исправно, короче, после минусового селла - должен открыться бай, а он не открывается, т.к. ф-ии выдают обе true, хотя bool Calc_Loss_BUY() должна выдавать false, ведь я же в ф-иях считаю, что если самая крайняя сделка убыточная, то эта ф-ия выдает ИСТИНА, иначе ЛОЖЬ, а они обе выдают ИСТИНА. Прошу помочь решить.
в общем он не открывает бай, хотя должен после убуточного селла его открывать!!!!!!!!!
По сути задача сводится к тому, чтобы определять профитная или в лосс была закрыта КРАЙНЯЯ позиция, ставшая сделкой в бай или в селл и смотреть далее по ее типу!
ПОМОГИТЕ! ПЛЗ!
Доброго времени суток!
Имеются две функции: функция калькуляции всей сетки ордеров и функция закрытия ордеров
Ещё есть условия для закрытия ордеров
Profit - в настройках в валюте депо
Смысл всего этого: После того как калькуляция сетки ордеров будет равна нулю плюс Profit в валюте депозита закрывается вся сетка ордеров
Помогите изменить код так что бы вместо Profit были пункты. Спасибо.
очевидно жеж, сл (или тп) изменили ведь не просто так?
А согласно каким-то условиям.
то есть при следующей проверке это условие будет определено как "выполнено" - ордер модифицирован.
пс. если же речь идет о ручном изменении, кто-то там что-то будет изменять без ведома ЕА, тогда конечно нужно собирать массив-структур и постоянно сравнивать его с рыночными ордерами.
Я уже и забыл... а ведь в самом начале так и сделал (хорошо что закомитил) но способ от условия показался ненадежным, захотелось чтобы на измененный ордер указывало нечто более явное.