Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1072

 
jarikn:
спасибо. буду разбираться 

И вам спасибо, напомнили мне старую систему, которая когда-то работала в прибыль. Нужно закодить на досуге и проверить на нынешнем рынке.

 
jarikn:
Всем привет. Ребята, помогите пожалуйста. я новичек в програмировании. 
Написал я простенький советник теперь мне нужно добавить в него такое условие-
Если сработал стоплос Buy ордерара то открываем ордер на Sell.
Помогите пожалуйста с даным кодом

ещё варианты:

1. При открытии Buy, поставить SellStop ордер на уровень стоп-лосс ордера Buy. Тогда ваше пожелание исполнит сервер. Но в исключительно редких но метких ситуациях и нет :-)

2. не ставить стоп лосс вообще, а ставить SellStop двойного объёма. Тоже будет отработано сервером и быстро. Потребуется в конце дня или при исчерпании маржи запускать какой-нить UnLock который взаимно (CloseBy) позакрывает встречные ордера

правда есть ещё нюанс - стоповые ордера (и стоп-лосс тоже) могут не сработать. И это довольно часто
То есть в "боевом" роботе всё равно приходится перепроверять.
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 
Vladimir Simakov:

Он вам пишет, что нельзя инициализировать сущность wchar_t значением const char*

Если Вам не понятно, то, к сожалению, у Вас основ языка нет. Рано Вам еще dll писать, тем более для такой специфики, как mql. Начните с азов.

так зачем они такое советуют, сами не знаю что. да спору нет очень рано либо очень поздно но нужно начинать. Никогда не будет хорошего времени для этого момента изучения библиотек либо сейчас либо никогда.

 
Maxim Kuznetsov:

2. не ставить стоп лосс вообще, а ставить SellStop двойного объёма. Тоже будет отработано сервером и быстро. Потребуется в конце дня или при исчерпании маржи запускать какой-нить UnLock который взаимно (CloseBy) позакрывает встречные ордера

C CloseBy нужно быть осторожнее т.к. не все ДЦ его поддерживают.

 
Я не программист, поэтому не могу решить простейший вопрос: как привязать нулевой бар ко времени, минуты :00, часы 00:,01:,02: и т.д. Может кто-то подскажет?
 
Creativ:
Я не программист, поэтому не могу решить простейший вопрос: как привязать нулевой бар ко времени, минуты :00, часы 00:,01:,02: и т.д. Может кто-то подскажет?

Для этого есть функция

iTime(символ,таймфрейм, номер бара)

Она возвращает время бара.

 

Всем привет. Ребята, помогите пожалуйста. я новичёк в программировании.
Как добиться этого в коде MQL4.
Например, я нажму на клавишу А и у меня появится на графике  вот такой курсор <Screenshot_2>.
На Кнопку Draw Rectangle <Screenshot_1> нет горячей Клавиши.как получить эту функцию.

Screenshot_1

Screenshot_1

Screenshot_2

Screenshot_2

 Cпасибо.

 
ребята, помогите из советником пожалуйста. я уже зае.... никак не получается его доработать, одни ошибки. 
Суть такова-
он работает по индикатору Tma fair.
1) как только цена выше верхней линии- открвыется ордер на продажу, цена ниже нижней линии - открывается ордер на покупку.
я ето все сделал, но дело в том, 
2)как только сработал стоп лосс открывается такой же ордер! как можно исправить такой баг?
3) ордер не закрывается по пересечению ценой противоположной линии! Вроде должно работать но нет, закрывается или по стоп лосс или по тейк профит.

и еще хотелось бы добавить  такое условие- если сработал стоплосс на бай- открыть ордер на селл. Но с этим я думаю уже разберусь сам. просто помогите исправить даные ошибки.
Скрипт и индикатор прилагаю. Не судите строго , я просто вообще не програмист))) 
Файлы:
777.mq4  10 kb
TMA_Fair.mq4  9 kb
 

прошу помощи в переключении купить - продать, только учусь!

void OnTick()

  {

   MAprice=iMA(Symbol(),0,MAperiod,MAshift,MODE_SMA,PRICE_CLOSE,1);

   if(CountBuy() + CountSell()  == 0 && Ask > MAprice)

     {

      if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

         Print("Не удалось открыть ордер на Покупку!");

      if(CountBuy()>=1)

        {

         price = FindLastBuyPrice();

         if((price - Ask) >= step*Point)

           {

            if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

               Print("Не удалось открыть ордер на Покупку!");

           }

        }

      if(CountBuy() + CountSell()  == 0 && Bid < MAprice)

        {

         if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

            Print("Не удалось открыть ордер на Продажу!");

        }

     }

   if(CountSell()>=1)

     {

      price = FindLastSellPrice();

      if((price -Bid) >= step*Point)

        {

         if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

            Print("Не удалось открыть ордер на Продажу!");

        }

     }

   double op = CalculateProfit();

   if(op>=profit)

     {

      CloseAll();

     }

  }


//+------------------------------------------------------------------+

void CloseAll()


или где поучиться?

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Эта функция не привязывает бар ко времени. Мне нужно, чтобы Bar[0]=:00(минутам) либо 01:00, 02:00 ...каждого дня. Таким образом, только при наступлении определенного времени будет происходить расчет алгоритма. Все остальное время индикатор вместе со мной отдыхает.
Seric29:

Для этого есть функция

Она возвращает время бара.

Причина обращения: