Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 283

 
ALXIMIKS:


1) Возможно проблема в условиях на закрытие (вы его в неявном виде дали)

2) В данном коде вы закрываете только OP_SELL (на покупку не забыли реализовать? убедитесь в верности условий на закрытие)

3) В проверке при переборе нету проверки на валютную пару и таймфрейм (зачем потом бегать и дописывать?)

4) Нету проверки на реквоты (в тестере все должно быть нормально, а вот уже на демо или реале - не всегда)

5) Как заявлял Артемида artmedia70 MarketInfo(Symbol(),MODE_ASK) будет лучше Ask - более актуальные цены даст


1) Level = iMACD(Symbol(), 0, FastEMA, SlowEMA, SignalSMA,PRICE_WEIGHTED, MODE_MAIN, 0);

2) Вставлять OP_BUY не стал операции однотипны, но и бай и селл не закрывает.

3) Не совсем понял насчет перебора, в этой сове допустим только один ордер в одну сторону по таймфрейму и инструменту графика (мои дилетантские выводы)

А с двумя последними пунктами не понятно все)))) ссори за некомпитентность.

В MQL-программировании три дня потому многое еще в голове не лежит.

Что есть реквоты, и с чем могут быть проблемы? с открытием проблем не наблюдалось на реале.

 
borilunad:
1. Откуда картинки и как это делаешь?
2. Правда, эти персонажи не олицетворяют Фемиду.

1. Шайтан

2. Они олицетворяют меня

 
artmedia70:
А ещё мужики могут посоветовать использовать iCustom() для получения данных с буферов индикатора (если он рисует через них)


Спасибо, получилось. Подскажите еще, пожалуйста, как сделать чтобы сделка совершалась после закрытия сигнального бара?
 
oDin48:

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

Как только сигнальный бар перестанет быть сигнальным

Я ж не знаю как у вас сигнальный бар определяется.

 
oDin48:

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

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

На открытии следуюшего за ним. Сравнивать время открытия сигнального и нулевого бара, как время нулевого бара стало больше - можно действовать.

Спасибо, буду пробовать.
 
ElhoroS:

Доброго всем времени суток!) Недавно увлекся темой MQL и вот столкнулся с первыми проблемами. Суть в том что имеющийся советник открывает позиции согласно функции, но закрывать их не хочет, потому весят эти рыночные ордера без стопов до конца сессии теста. Вопрос в том где я спорол косяк.

Тут фрагмент на закрытие:

Так попробуйте:

if(Level >= 0.000100 && LevelXP>LevelXM && CountSell() > 0) {
   Print("Level = "+DoubleToStr(Level,Digits)+
         ", LevelXP = "+DoubleToStr(LevelXP,Digits)+
         ", LevelXM = "+DoubleToStr(LevelXM,Digits)+
         ", CountSell = "+CountSell);
   double pp=0;
   for(i=OrdersTotal()-1; i>=0; i--) {
      if(OrderSelect(i, SELECT_BY_POS)) {
         if(OrderMagicNumber()!=Magic) continue;
         if(OrderSymbol()!=Symbol())   continue;
         if(OrderType()>1)             continue;
         if(OrderType()==OP_BUY) pp=MarketInfo(Symbol(),MODE_BID);
         else pp=MarketInfo(Symbol(),MODE_ASK);
         OrderClose(OrderTicket(), OrderLots(), pp, Slippage);
         }
      }
   }

И журнал почитайте. Не мужской, а терминала.

 
evillive:

На открытии следуюшего за ним. Сравнивать время открытия сигнального и нулевого бара, как время нулевого бара стало больше - можно действовать.
Лучше привязываться не к нулевому бару, а к бару, на котором сигнал был и к бару, на котором была открыта позиция по этому сигналу. При изменении разницы номеров этих баров можно считать, что сигнала нету.
 
ElhoroS:


1) Level = iMACD(Symbol(), 0, FastEMA, SlowEMA, SignalSMA,PRICE_WEIGHTED, MODE_MAIN, 0);

2) Вставлять OP_BUY не стал операции однотипны, но и бай и селл не закрывает.

3) Не совсем понял насчет перебора, в этой сове допустим только один ордер в одну сторону по таймфрейму и инструменту графика (мои дилетантские выводы)

А с двумя последними пунктами не понятно все)))) ссори за некомпитентность.

В MQL-программировании три дня потому многое еще в голове не лежит.

Что есть реквоты, и с чем могут быть проблемы? с открытием проблем не наблюдалось на реале.

вам наверное будет интересно, а так же полезно, посмотреть на Кимовские функции (более детально все описано тут)

реквоты - это когда вы посылаете приказ на открытие (закрытие, модификацию) но в виду определенных обстоятельств (например не актуальная цена) он (приказ) не обрабатывается.

Необходимо делать повторный запрос через некоторое время ( для разных видов ошибок - разное рекомендуемое время)

 
artmedia70:

1. Шайтан

2. Они олицетворяют меня

1. Это такая программа?

2. Продукт идеализации. Правда, перед путинщиной и чёрт смотрится много пригляднее, как левый великим мыслителем, а правый безобидной овечкой.