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

vladradon

Программист
Перезапуск и подхватывает ордер по меджику, как то так, наверное) я не особо соображаю в этой теме.
Если команды на открытие ордеров стоят в конце, то будет все работать. Только там не нужно дважды делать тогда одну и ту же проверку отдельно на бай и селл, т.к. в ней проверка на наличие обоих типов ордеров происходит и достаточно одной общей проверки перед командами на открытие, т.к. она сразу перезапустит сова и до второй проверки по-любому не дойдет. За исключением, если магики для бай и селл разные.
 
Последнее редактирование:

Levis_Rock

Активный участник
сделал так

PHP:
extern MaxSpread = 15;  // максимально допустимый спред 
//--- 
double Spread = MarketInfo(Symbol(),MODE_SPREAD);   // получаем текущие значение спреда

if(Spread>MaxSpread) int trade = 0; else trade = 1; // при 1 - можно торговать 

if(trade==1 && Ваше условие на открытие позиции);
 

vladradon

Программист
PHP:
extern int MaxSpread = 15;  // максимально допустимый спред
У тебя компилятор должен ругаться на int trade - это нужно вынести:
PHP:
int trade;
if(Spread>MaxSpread)  trade = 0; else trade = 1; // при 1 - можно торговать
иначе в ситуации спред<=максспред переменная trade не будет прописана.
PHP:
if(trade==1 && Ваше условие на открытие позиции) "команда на открытие";
 
Последнее редактирование:

vladradon

Программист
Странно, не ругается, и в тестере при изменении спреда, всё работает.
Может режим #property strict не включен - глюков много в языке. Я бы вообще сделал так:
PHP:
int trade=0;
if(Spread<=MaxSpread)  trade = 1;  // при 1 - можно торговать
А то, если делать не по правилам, в любой момент может глюкануть...
Можно вообще сделать проще без доп. переменной:
PHP:
if(Spread<=MaxSpread && Ваше условие на открытие позиции) "команда на открытие";
А еще, стоит разделить управление по спреду на типы ордеров: спред важен только при открытии ордеров бай и закрытии ордеров селл, т.к. только в этих случаях команды работают по Ask, а для Bid-вых команд спред не важен.
 
Последнее редактирование:

alexshell

Элитный участник
а для Bid-вых команд спред не важен.
Это с чего такое утверждение? Спред расширяется в обе стороны. А не только Аск вверх идет. Тут тупо логика: на новостях не дать нормально войти в любую сторону.
 

vladradon

Программист
Это с чего такое утверждение? Спред расширяется в обе стороны. А не только Аск вверх идет. Тут тупо логика: на новостях не дать нормально войти в любую сторону.
Такой вариант пережидания новостей не подходит, т.к. спред может на один тик войти в нужные рамки и ордер откроется. А вот для ночных расширений спредов - важно не открыть бай при большой раздвижке, т.к именно Аск уходит вверх, чтобы потом после сужения ордер не попал в большой минус; и не закрывать селл по Аск, т.к. он в момент расширения находится в минусе - просто дождаться сужения и закрыть в плюс.
 

alexshell

Элитный участник
Такой вариант пережидания новостей не подходит, т.к. спред может на один тик войти в нужные рамки и ордер откроется. А вот для ночных расширений спредов - важно не открыть бай при большой раздвижке, т.к именно Аск уходит вверх, чтобы потом после сужения ордер не попал в большой минус; и не закрывать селл по Аск, т.к. он в момент расширения находится в минусе - просто дождаться сужения и закрыть в плюс.

Что то мне сомнительно все равно. Ночные раздвижки честно скажу не мониторил никогда. Но вот перед закрытием рынка хорошо видно, что Аск идет вверх, Бид идет вниз.
 

vladradon

Программист
Что то мне сомнительно все равно. Ночные раздвижки честно скажу не мониторил никогда. Но вот перед закрытием рынка хорошо видно, что Аск идет вверх, Бид идет вниз.
Я когда-то торговал своим скальпером еще на РВД (упокой его душу) и ночью на расширении практически всегда были прибыльные сделки, если я использовал выше изложенные правила. Но это чисто мои наблюдения и я не настаиваю. Ну а еще лучше не закрывать ордера стандартными тейкпрофитами или стоплоссами, а по профиту - тогда точно спред будет учтен.
 
Последнее редактирование:

Monachus

Местный знаток
Доброго времени суток!
Еще один вопрос появился. Хочу чтобы в параметрах советника отображалась не переменная, а ее описание. Гугл говорит достаточно добавить комментарий после переменной, но у меня ничего не меняется, в чем проблема?
Пример:
PHP:
extern double Lots          = 1;// начальный размер лота
Отображается в списке переменных Lots вместо начальный размер лота:nda:
 

gh68

Активный участник
Приветствую всех. Возникла проблема совмещения двух индюков в одном подвале. Они гуляют друг относительно друга. Ограничения по минимуму и максимуму не не подходит. В программировании я дилетант. Есть ли способ решить эту проблему? Может готовые решения? Спасибо.
 

vladradon

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

Elvis Burunduk

Элитный участник
Приветствую всех. Возникла проблема совмещения двух индюков в одном подвале. Они гуляют друг относительно друга. Ограничения по минимуму и максимуму не не подходит. В программировании я дилетант. Есть ли способ решить эту проблему? Может готовые решения? Спасибо.

Готовых решений нет, в каждом случае нужно разбираться отдельно. Легче всего с индюками типа масд, рси, сси, стох, и их модификаций типа RSIX, 2CCi и т.п.
Там жестко задана середина: либо 50% , либо 0.
Если твои индюки такого типа , то есть у одного середина=50%, а у другого=0, то например просто первый делим на 50% и получаем понижение его середины к 0. Что нам и надо для сравнения со вторым у которого 0 и так середина по умолчанию.
А есть другие индюки, у которых середина гуляет от введенных значений , тут уже посложнее, я например АДХ и Стох приводил к общему знаменателю - пришлось повозиться, но тоже решаемо. У АДХа при значении 1..5 границы лежат 0-100, при ~25 1-68, а при ~50 уже 2-43, а при ~100 уже 3-38, при ~200 3-32. Вот и попробуй сведи их к одному знаменателю.
 

Elvis Burunduk

Элитный участник
Не правда.
Для тебя.
Да, имелось ввиду ИМХО. :D
В сети не искал кода выравнивания, написал сам.
Да и ты выложил свой личный код. Значит тоже сам изобретал, как и я.
И значит ты тоже либо не нашел, либо не искал, решил сам себе написать.
 

gh68

Активный участник
Готовых решений нет, в каждом случае нужно разбираться отдельно. Легче всего с индюками типа масд, рси, сси, стох, и их модификаций типа RSIX, 2CCi и т.п.
Там жестко задана середина: либо 50% , либо 0.
Если твои индюки такого типа , то есть у одного середина=50%, а у другого=0, то например просто первый делим на 50% и получаем понижение его середины к 0. Что нам и надо для сравнения со вторым у которого 0 и так середина по умолчанию.
А есть другие индюки, у которых середина гуляет от введенных значений , тут уже посложнее, я например АДХ и Стох приводил к общему знаменателю - пришлось повозиться, но тоже решаемо. У АДХа при значении 1..5 границы лежат 0-100, при ~25 1-68, а при ~50 уже 2-43, а при ~100 уже 3-38, при ~200 3-32. Вот и попробуй сведи их к одному знаменателю.

Спасибо огромное всем кто ответил. Проще говоря мне нужно два одинаковых рси гисто с встроенной машкой в одном подвале, но с разными периодами. Как сделать не знаю. Помогите, если не сложно.
 

Вложения

  • RSI HistoAlert v2.mq4
    3,8 КБ · Просмотры: 27
  • RSI HistoAlert v2.ex4
    15,3 КБ · Просмотры: 15

vladradon

Программист
Спасибо огромное всем кто ответил. Проще говоря мне нужно два одинаковых рси гисто с встроенной машкой в одном подвале, но с разными периодами. Как сделать не знаю. Помогите, если не сложно.
Как вариант можно создать нового индюка, в котором будет вызываться твой РСИ дважды с нужными тебе параметрами и машка должна вызываться там же через iMAOnArray. Сейчас тиков нет и в понедельник может поэкспериментирую - лень гонять сова на визуалке, чтобы посмотреть на индюка...
 
  • Like
Реакции: gh68
Верх