Rimlyanin:Все верно вы понимаете. Просто в Румусе (Форекс Клуб) есть такая возможность и данный "конверт" - это основа ТС "Консервативный скальпинг интрадей". Вот и хотел тоже самое зделать МТ4. Но видать из вашего объяснения не судьба :)
Считаю - это полным бредом и отсутствием желания. Подумайте сами, поразмышляйте - зачем в лоб решать такие задачки, ну, не через шифт МА, через другие возможности - существует решение этого самого сдвига, как говорят, было бы желание... :-))) решить вопрос, а не искать оправданий для, якобы, не решаемой задачки... Подумайте сами, поразмышляйте... :-))) "Не так... дак эдак..." :-)))
П.С. Вы бы лучше ссылку кинули с описанием этой системы - "Консервативный скальпинг интрадей"...
П.П.С. Почитайте лучше учебник и документацию по этому языку, порешайте задачки и не будет подобных вопросов. В крайнем случае, возможно, изобразить - если не один в один условия, как Вы пишете - 0,21..., то хотя бы в каком-либо грубом приближении решить этот вопрос, и еще не факт, что это грубое решение будет работать хуже оригинала - 0,21... :-)))
Все правильно... Вам не шифт МА нужен, но обычный индикатор энвелопс - МА сдвиг не влево/вправо, а вверх/вниз... Вот выдержки человека, торгующего по этой системе:
"во флете работает, на трендах пробивает энвелопы, и уходит дальше, хотя по этой ТС работать надо на отбой от границ энвелопа, или средней. В канал энвелопов входит опять на следующием флете. А то что работает на 10 минутках, просто параметры энвелопа - 34 подобраны именно под этот ТФ. На другие ТФ надо подобрать другие настройки, и получится такая же картина. ИМХО" - т.е. обычный канал...
Чтобы пользоваться магиком, его надо сначала задать, например как у Вас,при обходе проверять на его наличие
Немного непонимаю. Я Вам объясню как я вижу,а Вы скажите пожалуйста,в чем я ошибаюсь.
У меня будет открыто 2-3 ордера(допусти a,b и с).В определенный час мне нужно закрыть один из них(допустим b).Но ордер b может открыться 2-м или 3-им или 1-ым,мы точно не можем знать когда,может и не открыться вообще. Я думал,что magic позволит мне его найти из всех. Т.е. по числу 1001 я выйду на него и закрою(т.е. опр-ный час программа проверит,открыт ли ордер b(это я делаю с помощью флага(static Deal), а далее с помощью Magic хотел выбрать ордер b для работы и закрыть его. И я,если честно, не понял Вашу запись - "при обходе проверять на его наличие." Можете разъяснить пожалуйста
Немного непонимаю. Я Вам объясню как я вижу,а Вы скажите пожалуйста,в чем я ошибаюсь.
У меня будет открыто 2-3 ордера(допусти a,b и с).В определенный час мне нужно закрыть один из них(допустим b).Но ордер b может открыться 2-м или 3-им или 1-ым,мы точно не можем знать когда,может и не открыться вообще. Я думал,что magic позволит мне его найти из всех. Т.е. по числу 1001 я выйду на него и закрою(т.е. опр-ный час программа проверит,открыт ли ордер b(это я делаю с помощью флага(static Deal), а далее с помощью Magic хотел выбрать ордер b для работы и закрыть его. И я,если честно, не понял Вашу запись - "при обходе проверять на его наличие." Можете разъяснить пожалуйста
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderMagic()==1001)
Если ваш советник может открыть максимум только три позиции Бай и три позиции Селл и каждая из этих позиций имеет свой собственный магик,
то нужно сделать функцию выбора ордера по его магику:
int err; // глобальная переменная советника, для хранения номера последней ошибки
//+------------------------------------------------------------------+int SelectOrderByMagic(string sy, int op, int mn)
{
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS)) { // Если выбран рыночный ордерif (OrderSymbol()!=sy) continue; // Если его символ не тот - переходим к следующемуif (OrderType()!=op) continue; // Если его тип не тот - переходим к следующемуif (OrderMagicNumber()!=mn) continue; // Если его магик не тот - переходим к следующему// Теперь есть выбранный ордер с нужными символом, типом и магикомreturn(i); // Возвращаем его индекс в списке рыночных ордеров
}
elseif (!OrderSelect(i, SELECT_BY_POS)) { // Если не удалось выбрать рыночный ордер
err=GetLastError();
Print("FUNC SelectOrderByMagic: Ошибка выбора ордера ",err); // Выводим сообщение об ошибке и её номерbreak; // Выходим из цикла перебора рыночных ордеров
}
}
return(-1); // Если ордер с нужным магиком не найден или произошла ошибка при выборе ордера - возвращаем минус один
}
//+------------------------------------------------------------------+
Теперь, если вам нужно выбрать ордер Buy на текущем графике с магиком 1001, то вызываете данную функцию так:
int index=SelectOrderByMagic(Symbol(), OP_BUY, 1001);
if (index<0) {
//... Блок обработки ошибки поиска ордера по заданному магику...
}
elseif (index>=0) {
//... Тут код работы с выбранным ордером с магиком 1001, ...//... причём переменная index содержит индекс этого ордера в списке рыночных ордеров...//... далее вы можете при необходимости выбирать другой ордер, а index будет хранить индекс нужного//... и повторно его можно выбрать так: OrderSelect(index, SELECT_BY_POS);//... и нужный ордер будет опять выбран уже без его поиска (если он не закрыт)
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Считаю - это полным бредом и отсутствием желания. Подумайте сами, поразмышляйте - зачем в лоб решать такие задачки, ну, не через шифт МА, через другие возможности - существует решение этого самого сдвига, как говорят, было бы желание... :-))) решить вопрос, а не искать оправданий для, якобы, не решаемой задачки... Подумайте сами, поразмышляйте... :-))) "Не так... дак эдак..." :-)))
П.С. Вы бы лучше ссылку кинули с описанием этой системы - "Консервативный скальпинг интрадей"...
П.П.С. Почитайте лучше учебник и документацию по этому языку, порешайте задачки и не будет подобных вопросов. В крайнем случае, возможно, изобразить - если не один в один условия, как Вы пишете - 0,21..., то хотя бы в каком-либо грубом приближении решить этот вопрос, и еще не факт, что это грубое решение будет работать хуже оригинала - 0,21... :-)))
Поделитесь ссылкой или описанием этой ТС-ки.
вас не поняли.
если вам надо конверт, то МА сдвигается вверх и вниз, и для этого есть конкретный индюк Envelop или же уровни в самом МА на третьей вкладке.
а ma_shift - это сдвиг влево, вправо (как в Аллигаторе)
Ха... Точно, чет я сам сначала и не догнал тему... :-)))
Все правильно... Вам не шифт МА нужен, но обычный индикатор энвелопс - МА сдвиг не влево/вправо, а вверх/вниз... Вот выдержки человека, торгующего по этой системе:
"во флете работает, на трендах пробивает энвелопы, и уходит дальше, хотя по этой ТС работать надо на отбой от границ энвелопа, или средней. В канал энвелопов входит опять на следующием флете.
А то что работает на 10 минутках, просто параметры энвелопа - 34 подобраны именно под этот ТФ. На другие ТФ надо подобрать другие настройки, и получится такая же картина. ИМХО" - т.е. обычный канал...
Кинь (-те) - ссылку с конкретным описанием ТС-ки.
Чтобы пользоваться магиком, его надо сначала задать, например как у Вас,при обходе проверять на его наличие
Немного непонимаю. Я Вам объясню как я вижу,а Вы скажите пожалуйста,в чем я ошибаюсь.
У меня будет открыто 2-3 ордера(допусти a,b и с).В определенный час мне нужно закрыть один из них(допустим b).Но ордер b может открыться 2-м или 3-им или 1-ым,мы точно не можем знать когда,может и не открыться вообще. Я думал,что magic позволит мне его найти из всех. Т.е. по числу 1001 я выйду на него и закрою(т.е. опр-ный час программа проверит,открыт ли ордер b(это я делаю с помощью флага(static Deal), а далее с помощью Magic хотел выбрать ордер b для работы и закрыть его. И я,если честно, не понял Вашу запись - "при обходе проверять на его наличие." Можете разъяснить пожалуйста
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderMagic()==1001)
Парни что за фигня.....хотел протестировать советник на miсex по акция, а он вылетает из терминала и пишет ошибка...что за Фигня??
Извините, сегодня суббота, поэтому все телепаты на выезде. Обратитесь в клуб телепатов в понедельник.
Извините, сегодня суббота, поэтому все телепаты на выезде. Обратитесь в клуб телепатов в понедельник.
да я уже понял,что суббота все спят))))))))))))
в понедельник тогда обращусь к народу)))
Немного непонимаю. Я Вам объясню как я вижу,а Вы скажите пожалуйста,в чем я ошибаюсь.
У меня будет открыто 2-3 ордера(допусти a,b и с).В определенный час мне нужно закрыть один из них(допустим b).Но ордер b может открыться 2-м или 3-им или 1-ым,мы точно не можем знать когда,может и не открыться вообще. Я думал,что magic позволит мне его найти из всех. Т.е. по числу 1001 я выйду на него и закрою(т.е. опр-ный час программа проверит,открыт ли ордер b(это я делаю с помощью флага(static Deal), а далее с помощью Magic хотел выбрать ордер b для работы и закрыть его. И я,если честно, не понял Вашу запись - "при обходе проверять на его наличие." Можете разъяснить пожалуйста
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderMagic()==1001)
Если ваш советник может открыть максимум только три позиции Бай и три позиции Селл и каждая из этих позиций имеет свой собственный магик,
то нужно сделать функцию выбора ордера по его магику:
Теперь, если вам нужно выбрать ордер Buy на текущем графике с магиком 1001, то вызываете данную функцию так:
да я уже понял,что суббота все спят))))))))))))
в понедельник тогда обращусь к народу)))
Вы не поняли... :-))) С подобной постановкой и содержанием Вашего вопроса к народу и в понедельник обращаться бесполезно, только строго в клуб... :-)))
Здравствуйте, просьба помочь в этой теме https://www.mql5.com/ru/forum/132897
Заранее спасибо за ответ