Как начать работу с MQL5 - страница 40

 
DroidM #: Я не могу понять, что я делаю неправильно, но это не возвращает true.
  1.    CopyRates(_Symbol,_Period,0,Candles,rates);
    

    Вы считываете значения[0 ... Candles-1] в ставки.

  2.    for(int i=5; i<Candles; i++)
    

    Переменная i доходит до значения Candles -1.

  3.    for(int l=i; l<i+candles; l++)
    

    Следовательно, переменная l доходит до Candles-1+Candles-1.

  4.       if(rates[l+1].close>rates[l+1].open && rates[l+1].low>rates[l+2].low)

    Следовательно, l+2 достигает[Свечи ... Свечи-1+Свечи-1+2]. Массив превышен. Авария.

 

Создание панели бегущей строки: Базовая версия

Создание панели бегущей строки: Базовая версия

Некоторым людям встроенные в некоторые платформы панели бегущей строки с отображением котировок отдельных активов могут показаться довольно интересными.
Эта идея довольно интересна для реализации и развития, а также может стать очень полезным ресурсом для многих, поэтому я решил показать, как создать код для такой панели.
Creating a ticker tape panel: Basic version
Creating a ticker tape panel: Basic version
  • www.mql5.com
Here I will show how to create screens with price tickers which are usually used to display quotes on the exchange. I will do it by only using MQL5, without using complex external programming.
 

Создание панели бегущей строки: Улучшенная версия

Создание панели бегущей строки: Улучшенная версия

В предыдущей статье Создание панели бегущей строки: Базовая версия мы рассмотрели, как создать индикатор в виде панели, отображающей ленту цен символов в реальном времени. Однако в предыдущей статье мы не реализовали индикатор полностью, но не потому, что это было невозможно, а потому, что нашей целью было показать процесс создания индикатора, посмотреть, как заставить его работать с наименьшим количеством кода, чтобы создать впечатление, что он движется.
Но этих данных не всегда достаточно, и они не всегда отражают то, что люди действительно хотят видеть на панели. Было бы здорово иметь больше деталей. Именно это мы и собираемся реализовать здесь.
Creating a ticker tape panel: Basic version
Creating a ticker tape panel: Basic version
  • www.mql5.com
Here I will show how to create screens with price tickers which are usually used to display quotes on the exchange. I will do it by only using MQL5, without using complex external programming.
 

Проблема с PositionGetInteger(POSITION_TYPE)


Здравствуйте, я пытаюсь использовать if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) для работы с ордером на продажу, но я обнаружил, что это не работает, потому что он всегда возвращает POSITION_TYPE_BUY независимо от того, является ордер sell или buy........ действительно не понимаю, что произошло или есть какая-то ошибка, с которой кто-то сталкивался?


Вот мой пример кода и лог распечатки, показывающий, что и ордер на продажу и ордер на покупку возвращают POSITION_TYPE_BUY. Спасибо большое, если кто-то сможет помочь. Спасибо.

void OnTick(){

   if(PositionsTotal()==0){
      trade.Buy(0.01);
      Print("Pos type is ", EnumToString((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)));
      trade.Sell(0.02);
      Print("Pos type is ", EnumToString((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)));
   }
}
 
Dennis Wong POSITION_TYPE_SELL) для работы с ордером на продажу, но обнаружил, что он не работает, потому что всегда возвращает POSITION_TYPE_BUY независимо от того, какой ордер - sell или buy........ действительно не понимаю, что произошло или есть какая-то ошибка, с которой кто-то сталкивался?


Вот мой пример кода и лог распечатки, показывающий, что и ордер на продажу и ордер на покупку возвращают POSITION_TYPE_BUY. Спасибо большое, если кто-то сможет помочь. Спасибо.

Он не возвращает POSITION_TYPE_BUY каждый раз, он возвращает 0.

То, что вы пытаетесь сделать, никогда не сработает, потому что вы отправили торговый запрос на сервер, это не значит, что у вас уже есть позиция. Ей нужно некоторое время, чтобы исполниться, и терминал получит об этом уведомление.

 
Vladimir Karputov #:

Рассчитать позиции и отложенные ордера

Код: Calculate Positions and Pending Orders.mq5


Открытые позиции: GBPUSD BUY 0.03 лота и USDPLN SELL 0.01

Выставлены отложенные ордера: USDPLN Sell лимит 0.01 и GBPUSD Buy лимит 0.03


Здравствуйте @Vladimir Karputov, спасибо большое, эта тема бесценна, столько полезных фрагментов. Пожалуйста, я просмотрел все страницы, но не нашел как вычислить среднюю цену набора ордеров (хедж-счета), возможно используя историю, допустим я купил 1 лот по 5.00, 2 лота по 5.5 и продал 0.5 лота по 5.80, тогда я ожидаю 3 лота в среднем (1*5 + 2*5.5)/3 средней цены покупки и 0.5 лота в среднем 5.80 для цены продажи, есть ли у вас такой сниппет? спасибо!
 
Я новичок и я работаю на экспоненциальной скользящей средней, пожалуйста, помогите мне предоставить советника, в котором две скользящие средние пересекаются, покупают и продают и получают прибыль, и отметил, что нет концепции стоп-лосса, просто покупают, затем покупают закрывают, затем продают открывают и получают прибыль
 
mohammadengineer anas #:
открыть и взять
Вы можете попробовать найти его самостоятельно - прочитайте эту тему о том, как это сделать:
How can I search for indicators and other elements in this forum?
How can I search for indicators and other elements in this forum?
  • 2017.05.29
  • www.mql5.com
How can I search for indicators in this forum? I need the Hodrick Prescott Filter for MT4. Please, if anyone can help me, I thank you in advance...
 

Все, что вам нужно знать о структуре программы на MQL5

Все, что вам нужно узнать о структуре программы MQL5

Каждая программа на любом языке программирования имеет свою структуру, поняв которую, мы можем беспрепятственно создавать или разрабатывать свои программы. Программы на языке MQL5, как и любой другой язык программирования, имеют свою структуру, и она должна быть понятна разработчику, чтобы плавно и эффективно достигать целей своего проекта. В этой статье мы предоставим информацию в данном контексте, чтобы постараться как можно проще донести ее содержание.

Everything you need to learn about the MQL5 program structure
Everything you need to learn about the MQL5 program structure
  • www.mql5.com
Any Program in any programming language has a specific structure. In this article, you will learn essential parts of the MQL5 program structure by understanding the programming basics of every part of the MQL5 program structure that can be very helpful when creating our MQL5 trading system or trading tool that can be executable in the MetaTrader 5.
 
Vladimir Karputov iStochastic get value.mq5

Не забывайте о правилах: создавайте хэндл индикатора ОДИН раз в OnInit, используйте CopyBuffer для получения данных.


Результат:


Спасибо.