Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 225

 
Здравствуйте уважаемые программисты, я в мгл4 новенькая, не могли бы вы помочь мне? Мне надо чтобы торговый робот который открывает по утрам ( 9:00 )после получения профита ждал следующего дня. Не подскажите простыми словами что куда добавить?
 
Nargiz Ravanova:
Здравствуйте уважаемые программисты, я в мгл4 новенькая, не могли бы вы помочь мне? Мне надо чтобы торговый робот который открывает по утрам ( 9:00 )после получения профита ждал следующего дня. Не подскажите простыми словами что куда добавить?

Ну, если простыми словами, то так:

Заводим переменную типа datetime и в неё, при закрытии ордера с профитом записываем время текущей свечи D1. И перед открытием очередного ордера сверяем значение этой переменной с временем открытия текущей свечи D1. Соответственно если текущее время больше, то можно открывать. Иначе курим бамбук.

 
Aleksei Stepanenko:

Вот рабочий код:

Обратите внимание что стрелка рисуется задним числом BufferDn[i+1]=... Это печалька.

Ой прям спасибки-спасибки прям-прям! :)) Всё-таки для простых смертных хорошие программисты - волшебники! :))

Так а есть ли тогда смысл в индикаторе таком? Я не совсем понимаю, на сколько задним числом будет рисоваться стрелка? То есть например свеча закончилась, нарисовалась стрелка и в этот же момент мы зашли в сделку на новой свече (ну то есть в начале следующей свечи)? Если так, то хорошо вроде. А если иначе, то как?

Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
При создании пользовательского индикатора можно указать один из 18 типов графического построения (способа отображения на главном окне графика или в подокне графика), значения которых указаны в перечислении ENUM_DRAW_TYPE. В зависимости от стиля рисования, может потребоваться от одного до четырех буферов значений (отмеченных как INDICATOR_DATA...
 
Добрый день. В Prof() выставляются цифры. В ProfS() эти цифры должны суммироваться. Подскажите что не так? и как это исправить?
double Prof(){
   double  Prof = ObjectDescription("Prof"+Bars(Symbol(),0));{
   ObjectCreate("Prof"+Bars(Symbol(),0),OBJ_TEXT,1,TimeCurrent(),GlobalVariableGet( Symbol()+"_vGrafEquity" ));
   ObjectSetText("Prof"+Bars(Symbol(),0),DoubleToStr(Equity[0],2),18,"Arial",clrWhite);   
   ObjectSetInteger(0,"Prof"+Bars(Symbol(),0),OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);}
    return(0);}

double ProfS(){double  ProfS;
   double  Prof1 = ObjectDescription("Prof"+Bars(Symbol(),0));
     ProfS += Prof1;{ Comment("   ",ProfS);
   ObjectCreate("ProfS",OBJ_LABEL,1,0,0);   
   ObjectSetInteger(0,"ProfS",OBJPROP_XDISTANCE,1600); 
   ObjectSetInteger(0,"ProfS",OBJPROP_YDISTANCE,30); 
   ObjectSetText("ProfS",DoubleToStr(ProfS,2),18,"Arial",clrWhite);   
   ObjectSetInteger(0,"ProfS",OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);}
    return(0);}
 
Rustam Bikbulatov:
Добрый день. В Prof() выставляются цифры. В ProfS() эти цифры должны суммироваться. Подскажите что не так? и как это исправить?
static double  ProfS;
 
Alekseu Fedotov:

Спасибо большое Алексей!

 
ElenkaVladi:

i - это только что закрытая свеча, стрелка рисуется на i+1. Запаздывание всегда будет, нужно пробовать оптимизировать, смотреть, что получится.

 
Aleksei Stepanenko:

i - это только что закрытая свеча, стрелка рисуется на i+1. Запаздывание всегда будет, нужно пробовать оптимизировать, смотреть, что получится.

Пробую)

 
Добрый день. Подскажите как найти открытую позицию  самую дальнюю по пунктам от текущей цены и закрыть его. Не зависимо на какой валютной паре и в какую сторону он идет. Спасибо.
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
makssub:
Добрый день. Подскажите как найти открытую позицию  самую дальнюю по пунктам от текущей цены и закрыть его. Не зависимо на какой валютной паре и в какую сторону он идет. Спасибо.

Вам ответили в Вашем топике https://www.mql5.com/ru/forum/334987

модератор с использованием СБ https://www.mql5.com/ru/docs/standardlibrary/tradeclasses

я написал пример исходя из справки

если вопрос как закрыть позицию, опять же справка https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions


Пример торговой операции TRADE_ACTION_DEAL для закрытия позиций:

или СБ https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade
Причина обращения: