[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 322

 
Rimlyanin:Все верно вы понимаете. Просто в Румусе (Форекс Клуб) есть такая возможность и данный "конверт" - это основа ТС "Консервативный скальпинг интрадей". Вот и хотел тоже самое зделать МТ4. Но видать из вашего объяснения не судьба :)

Считаю - это полным бредом и отсутствием желания. Подумайте сами, поразмышляйте - зачем в лоб решать такие задачки, ну, не через шифт МА, через другие возможности - существует решение этого самого сдвига, как говорят, было бы желание... :-))) решить вопрос, а не искать оправданий для, якобы, не решаемой задачки... Подумайте сами, поразмышляйте... :-))) "Не так... дак эдак..." :-)))

П.С. Вы бы лучше ссылку кинули с описанием этой системы - "Консервативный скальпинг интрадей"...

П.П.С. Почитайте лучше учебник и документацию по этому языку, порешайте задачки и не будет подобных вопросов. В крайнем случае, возможно, изобразить - если не один в один условия, как Вы пишете - 0,21..., то хотя бы в каком-либо грубом приближении решить этот вопрос, и еще не факт, что это грубое решение будет работать хуже оригинала - 0,21... :-)))

Поделитесь ссылкой или описанием этой ТС-ки.

 
sergeev:

вас не поняли.

если вам надо конверт, то МА сдвигается вверх и вниз, и для этого есть конкретный индюк Envelop или же уровни в самом МА на третьей вкладке.

а ma_shift - это сдвиг влево, вправо (как в Аллигаторе)



Ха... Точно, чет я сам сначала и не догнал тему... :-)))
 
Rimlyanin:

Все правильно... Вам не шифт МА нужен, но обычный индикатор энвелопс - МА сдвиг не влево/вправо, а вверх/вниз... Вот выдержки человека, торгующего по этой системе:

"во флете работает, на трендах пробивает энвелопы, и уходит дальше, хотя по этой ТС работать надо на отбой от границ энвелопа, или средней. В канал энвелопов входит опять на следующием флете.
А то что работает на 10 минутках, просто параметры энвелопа - 34 подобраны именно под этот ТФ. На другие ТФ надо подобрать другие настройки, и получится такая же картина. ИМХО" - т.е. обычный канал...

Кинь (-те) - ссылку с конкретным описанием ТС-ки.

 
Парни что за фигня.....хотел протестировать советник на miсex по акция, а он вылетает из терминала и пишет ошибка...что за Фигня??
 
Roger:

Чтобы пользоваться магиком, его надо сначала задать, например как у Вас,при обходе проверять на его наличие


Немного непонимаю. Я Вам объясню как я вижу,а Вы скажите пожалуйста,в чем я ошибаюсь.

У меня будет открыто 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)

 
Vovo4ka:
Парни что за фигня.....хотел протестировать советник на miсex по акция, а он вылетает из терминала и пишет ошибка...что за Фигня??

Извините, сегодня суббота, поэтому все телепаты на выезде. Обратитесь в клуб телепатов в понедельник.
 
Roman.:

Извините, сегодня суббота, поэтому все телепаты на выезде. Обратитесь в клуб телепатов в понедельник.


да я уже понял,что суббота все спят))))))))))))

в понедельник тогда обращусь к народу)))

 
Boneshapper:


Немного непонимаю. Я Вам объясню как я вижу,а Вы скажите пожалуйста,в чем я ошибаюсь.

У меня будет открыто 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);                                      // Возвращаем его индекс в списке рыночных ордеров
         }
      else if (!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) {
   //... Блок обработки ошибки поиска ордера по заданному магику...
   }
else if (index>=0) {
   //... Тут код работы с выбранным ордером с магиком 1001, ...
   //... причём переменная index содержит индекс этого ордера в списке рыночных ордеров...
   //... далее вы можете при необходимости выбирать другой ордер, а index будет хранить индекс нужного
   //... и повторно его можно выбрать так: OrderSelect(index, SELECT_BY_POS);
   //... и нужный ордер будет опять выбран уже без его поиска (если он не закрыт)
   }
 
Vovo4ka:


да я уже понял,что суббота все спят))))))))))))

в понедельник тогда обращусь к народу)))


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

Здравствуйте, просьба помочь в этой теме https://www.mql5.com/ru/forum/132897

Заранее спасибо за ответ

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