SGarnov: так вот он почему то не помнит свои ордера и не видит их в истории. по коду должен а по факту не видит. сможете чем помочь? код исходный выставлен ранее
@MakarFX делает уже. Не будем мешать.
Чё хотел сказать..Пишите всё так чтобы вам (лично/персонально) было ясно, не тягайте код копи-пастом.
и сильно упрощено скелет робота выглядит примерно так:
int ticket=-1; // тикет открытого ордераbool inited=false; // признак завершения инициализацииintOnInit()
{
ticket=-1;
inited=false;
// ещё надо проверить параметры, но пока чёрт с ними// пробуем загрузить прежнее состояниеif (LoadState()) {
// из файла, базы или глоб.переменных загрузилисьif (!CheckState()) {
// проверили, плохо всё..
ClearState(); // удалить и поругатьсяAlert("Усё пропало, шеф !");
returnINIT_FAILED();
}
}
return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason)
{
if (inited) {
// инициализация была проведена, стейт мог уже менятся во время работы
SaveState(); // сохраняем куда-то там
}
}
voidOnTick()
{
//// ЧТОБЫ БЫ БЫЛО ХОРОШО, //// НЕ БОЛЕЕ 1-го ПРИКАЗА Open/Close/Modify на тик//// И ЗАВЕРШИТЬ ВСЁ ПО БЫСТРОМУif (!inited) {
// связь есть, тики идут// довести инициализацию до нужной кондицииif (!DoInit()) {
// не довеласьAlert("вот же блин...");
ExpertRemove();
} else {
// в DoInit проставлен корректный ticket
inited=true;
}
return;
}
// всё проиничено, ticket или -1 если нет нифига или реально тикет//// РАЗБОРЫ С ТИКЕТАМИif (ticket<0) {
// нет открытых ордеров// может открыть/переоткрыть ?
} else {
if (!OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) {
// что-то не так с синхронизацией, просто пропустим тикreturn;
}
if (OrderCloseTime()!=0) {
// ордер закрылся ручками или по стопам/тейкам (или стопаут, приплыли)
OnCloseOrder(); // обработать, разобраться
ticket=-1; // нет у нас больше тикета..// в этот тик больше не успетьreturn;
} else {
if ((OrderStopLoss()==0 && SL!=0) || (OrderTakeProfit()==0 && TP!=0)) {
// свежачок - надо ему выстаить Тейк и/или стоп
} else {
// для реала - проверять сработку Sl/Tp на ГЕПАХ, ЭТО ВАЖНО
}
}
}
//// РАЗБОРЫ с БАРАМИ
CheckForOnBar();
/// и так далее...
}
voidOnTimer()
{
// тики завершаем быстро-быстро, поэтому открытия баров дополнительно проверяем по таймеру
CheckForOnBar();
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Чтобы было легче возьмите мой исходник, в нём логика работает, кроме описанной мною проблемы, не совсем видимо разбираюсь, голова кипит а толку нет.
так вот он почему то не помнит свои ордера и не видит их в истории. по коду должен а по факту не видит. сможете чем помочь? код исходный выставлен ранее
@MakarFX делает уже. Не будем мешать.
Чё хотел сказать..Пишите всё так чтобы вам (лично/персонально) было ясно, не тягайте код копи-пастом.
и сильно упрощено скелет робота выглядит примерно так:
пиво творит чудеса, и делает людей добрее :-)
Ты выставляешь один отложенный ордер или два в разные стороны?
всегда выставляю один отложенник
Пробуй, спрашивай
Пробуй, спрашивай
запустил. отпишусь. спасибо за помощь.
Кто-то может объяснить причину такого поведения?
Я открываю ордер
затем советник его модифицирует
а потом такая фигня
2021.07.29 18:53:58.313 '60744458': order #1639674290 sell 0.01 USDJPY closing at 0.000 failed [Off quotes] 2021.07.29 18:53:57.647 '60744458': close order #1639674290 sell 0.01 USDJPY at 109.519 sl: 0.000 tp: 0.000 at price 0.000Что самое интересное это происходит на паре USDJPY и только селл на других все норм
Кто-то может объяснить причину такого поведения?
Я открываю ордер
затем советник его модифицирует
а потом такая фигня
Что самое интересное это происходит на паре USDJPY и только селл на других все норм
Чтобы что-то понять, научитесь за минимум циклов вытаскивать максимум полезной информации…
Чтобы что-то понять, научитесь за минимум циклов вытаскивать максимум полезной информации…
Хорошо говорить, когда знаешь что делать...
помоги советом как " вытаскивать максимум полезной информации "
Кто-то может объяснить причину такого поведения?
Я открываю ордер
затем советник его модифицирует
а потом такая фигня
Что самое интересное это происходит на паре USDJPY и только селл на других все норм
Это так советник работает, код которого написал?или иной советник?