Ваши вопросы по языку MQL4

vladradon

Программист
matro3, ansol, vladradon спасибо за отклики, сделал так(это тестовый модуль):
double MA, Price;
int UpDown;
void OnInit()
{
MA = iMA(NULL, 0, 15, 0, 0, 0, 0);
if (Bid>=MA) UpDown=1; //если текущая цена при первом запуске сова выше или равна текущего показания машки, то флаговой переменной присваиваем 1 - запоминаем положение графика относительно машки, как высшее
if (Bid<MA) UpDown=2; //запоминаем, как низшее относительно показаний машки
}
void OnTick()
{
MA = iMA(NULL, 0, 15, 0, 3, 0, 0);//period и 3-ка - это параметры машки
if (UpDown==1 && MA<Bid) {Price=MA; UpDown=2; Alert(Price);}
if (UpDown==2 && MA>Bid) {Price=MA; UpDown=1; Alert(Price);}
}
Т.к. требовалось найти пересечение именно в момент движения, а не по сформировавшемуся бару.

Если кому-нибудь интересно, библиотеки которые использую для определения нового бара, mql4(там же и новое событие OnNewBar()): https://yadi.sk/d/B6s-GGY8h2WMm https://yadi.sk/d/XACpJzUwh2WMs
Ну... по поводу связки с новым баром ты - сам обозначил в своем запросе, поэтому я и добавил проверку на открытие нового бара. Рад, что ты разобрался в коде, в отличие от моих коллег.)))
А это:
Сделал так: Lot=TotalOrdersProfit/N/MarketInfo(Symbol(),MODE_TICKVALUE)
о чем? Может я пропустил какое-то твое сообщение?...
 
Последнее редактирование:

CrazyDoc

Новичок форума
А это:
Сделал так: Lot=TotalOrdersProfit/N/MarketInfo(Symbol(),MODE_TICKVALUE)
о чем? Может я пропустил какое-то твое сообщение?...
Сообщения публикуются только после проверки модератором - к примеру: я написал сообщение в 10.00, опубликованно оно было в 13.00, а в истории(и соответственно порядковых номерах) время по прежнему 10.00.

Lot=TotalOrdersProfit/N/MarketInfo(Symbol(),MODE_TICKVALUE) - это попытка рассчитать лот имея заданные Profit(TotalOrdersProfit - т.к. расчет ведется для компенсирования суммы убыточных ордеров, надо наверное добавить MathAbs) и N - кол-во пунктов за которые предположительно будет достигнут профит. Т.е. какой надо поставить лот, чтобы через 50 пунктов ордер достиг прибыли в 10 единиц(валюты).
 

max020780

Новичок форума
День добрый ! подскажите возможно ли получить координаты обьекта в mql4
мне нужно получить координаты прямоугольника который изображен на экране
 

CrazyDoc

Новичок форума
Доброго времени суток. Кто-нибудь знает методы установления зависимостей между значений extern bool переменных? Автоматический их перевод в настройках советника - если одну переменную поставили true, другая тут-же принимает значение true(ну, или false)?
 

priбыль

Активный участник
Доброго времени суток. Кто-нибудь знает методы установления зависимостей между значений extern bool переменных? Автоматический их перевод в настройках советника - если одну переменную поставили true, другая тут-же принимает значение true(ну, или false)?

ЗДРАВСТВУЙТЕ---КТО СМОЖЕТ РАЗОБРАТЬСЯ С ЭТИМ ИНДИКАТОРОМ? КАК ЕГО ОТКРЫТЬПосмотреть вложение 77_indikator_RTV (2).rar
rar.gif 77_indikator_RTV (2).rar (11.1 Кб)
 

NSerega

Администратор
кажется индиккатор этот не для MQL4 . а можно его переделать ?

Этот индикатор не для МТ4, а для МТ5 платформы. Что бы его переделать нужен исходник. Да и вряд ли кто-то возьмется за бесплатно его переделывать.
 

priбыль

Активный участник
Этот индикатор не для МТ4, а для МТ5 платформы. Что бы его переделать нужен исходник. Да и вряд ли кто-то возьмется за бесплатно его переделывать.

Здравствуйте. а вы непоможете вот зтот скомпилироваать а то чегото я никак.Спасибо.
 

Вложения

  • Symphonie Extreme Indicator v2 (refreshfix).mq4
    29,2 КБ · Просмотры: 21

CrazyDoc

Новичок форума
Прошу помощи в отладке

При тестировании Конструкция пропускает первый ордер sell:

PHP:
for (i=OrdersTotal()-1;i>=0;i--){

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){

if (OrderType()==OP_SELL && OrderSymbol()==Symbol()){

s++;Profit=OrderLots()*(OrderOpenPrice()-(FindLastOpen()-(StepOpenOR+RecoveryVolume)*Point))/Point*PointValue;ProfRecSell+=Profit;}

if (OrderType()==OP_BUY && OrderSymbol()==Symbol()){

b++;Profit=OrderLots()*((FindLastOpen()-(StepOpenOR+RecoveryVolume)*Point)-OrderOpenPrice())/Point*PointValue;ProfRecBuy+=Profit;}}}

Последующие ордера sell учитывает.
 
Последнее редактирование:

_SERG_

Активный участник
Прошу помощи в отладке

При тестировании Конструкция пропускает первый ордер sell:

PHP:
for (i=OrdersTotal()-1;i>=0;i--){

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){

if (OrderType()==OP_SELL && OrderSymbol()==Symbol()){

s++;Profit=OrderLots()*(OrderOpenPrice()-(FindLastOpen()-(StepOpenOR+RecoveryVolume)*Point))/Point*PointValue;ProfRecSell+=Profit;}

if (OrderType()==OP_BUY && OrderSymbol()==Symbol()){

b++;Profit=OrderLots()*((FindLastOpen()-(StepOpenOR+RecoveryVolume)*Point)-OrderOpenPrice())/Point*PointValue;ProfRecBuy+=Profit;}}}
Последующие ордера sell учитывает.
Начальные значения переменных "s" и "b" какие? (Предполагаю что "0".)
тут ты от болшего (i=OrdersTotal()-1;i>=0;i--)) к меньшему идёшь, а переменные на оборот формируешь.
Запусти в отладчике код, посмотри.
 

Евгений Симашов

Новичок форума
Господа, есть индикатор, он даёт Алерты (стрелочки на графике) на покупки и продаже в нём вшита пара индюков МАшка, РСИ вроде...
НО НЕТ совы..
Каким кодом сделать открытие ордеров по сигналу алерта? Может Какойнибудь другой советник переделать получится... Устал просить уже всех((
 

Вложения

  • ForexMT4Systems_Cycle.mq4
    17,9 КБ · Просмотры: 25
  • ForexMT4Systems_Cycle.ex4
    11,7 КБ · Просмотры: 22
Последнее редактирование:

ansol

Местный знаток
за 3 строчки кода в сове, которая пока что только предположительно будет нормальная? :laugh:
Много не дашь, а мало не возьмут еще и застыдят!)

Здесь вроде тема для тех, кто сам собирается писать, для заказов есть более другие темы.
В вашем случаем надо смотреть в сторону ObjectFind(), находим объект "стрелочка" и открываем ордер.
Если есть вопросы по MQL4, то надо конкретно спрашивать.
 

boomer4301

Интересующийся
Господа, есть индикатор, он даёт Алерты (стрелочки на графике) на покупки и продаже в нём вшита пара индюков МАшка, РСИ вроде...
НО НЕТ совы..
Каким кодом сделать открытие ордеров по сигналу алерта? Может Какойнибудь другой советник переделать получится... Устал просить уже всех((

рисовальщик индюк
 
Верх