Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1586

 
законопослушный гражданин:

сделал.

теперь 'Lot' - undeclared identifier

мне нужно:  extern double dLots         = 0.01;  заменить на:  extern double Lot         = 0.01;   ?

лучше Lot на  dLots

 
MakarFX:

лучше Lot на  dLots

нет не работает))

ни так ни наоборот.

всё равно ни одной сделки не открывается, хотя ошибок не выдает больше

 
законопослушный гражданин:

нет не работает))

ни так ни наоборот.

всё равно ни одной сделки не открывается, хотя ошибок не выдает больше

ищи ошибки в сигнале
 
законопослушный гражданин:

нет не работает))

ни так ни наоборот.

всё равно ни одной сделки не открывается, хотя ошибок не выдает больше

до того как ты вставил мою функцию, сделки открывались?
 

Я прошу прощения, может я и не понимаю чего... Но!

Уже ХЗ знает сколько времени тут идёт разбирательство по написанию, корректировке и т.п. неких кодов. Для одного "вопрошающего"! КАК это соотносится с данной темой?

Вопрос - ответ. Далее всё в личку. Иначе тут уже болото... Подавляющему большинству все эти ваши коды нафиг не упали! Нахрена вы ими загадили уже страниц 20 ???

 
Сергей Таболин:

Я прошу прощения, может я и не понимаю чего... Но!

Уже ХЗ знает сколько времени тут идёт разбирательство по написанию, корректировке и т.п. неких кодов. Для одного "вопрошающего"! КАК это соотносится с данной темой?

Вопрос - ответ. Далее всё в личку. Иначе тут уже болото... Подавляющему большинству все эти ваши коды нафиг не упали! Нахрена вы ими загадили уже страниц 20 ???

1)Тема

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам


2)Можешь почистить

 
MakarFX:

1)Тема

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам


2)Можешь почистить

Не могу почистить.

Если ты уж так заинтересован помочь кому-то, то пусть этот кто-то хотя бы просто прикрепит исходник, а не выкладывает свой код на пол-страницы! А потом ещё и ты отвечаешь также.... Сплошные портянки! Интересные только тебе и ещё одному!

Уважать остальных не обязательно? Или ЛС не работает?

 
MakarFX:
до того как ты вставил мою функцию, сделки открывались?

конечно. это же старый рабочий советник был.

у меня есть подозрение что нет связи между функциями:

//+-----------------------------------------------------------------------------------------------+
//|                                                            Функция открытия ордера на покупку |
//+-----------------------------------------------------------------------------------------------+
void vOrderOpenBuy()
  {
   int iOTi = 0;   // Тикет ордера

   iOTi = OrderSend(Symbol(), OP_BUY, Lots(), Ask, iSlippage, 0, 0, "", iMagic, 0, clrNONE);

// Проверим открылся ли ордер
   if(iOTi > 0)
      // Есди да, то выставим уровни убытка и прибыли
      vOrderModify(iOTi);
   else
      // Если нет, то получим ошибку
      vError(GetLastError());
  }

и

//| Расчет лота                                                      |
//+------------------------------------------------------------------+
double Lots()
  {
   double L=0;
   // если последняя закрытая сделка убыточная и лот равен стартовому
   // включаем Мартин
   if(GetInfoLastPos(2)<0&&GetInfoLastPos(1)==dLots) 
     {
      Martin=true;
     }
   // если последняя закрытая сделка убыточная и лот больше или равен максимальному
   // выключаем Мартин
   if(GetInfoLastPos(2)<0&&GetInfoLastPos(1)>=MaxMartinLot)
     {
      Martin=false;
     }
   // если последняя закрытая сделка убыточная и Мартин включен, умножаем лот
   if(Martin==true)
     {
      L=NormalizeDouble(GetInfoLastPos(1)*K_Martin,DigitsLot);
     }
   // если последняя закрытая сделка убыточная и Мартин выключен, делим лот
   if(Martin==false)
     {
      L=NormalizeDouble(GetInfoLastPos(1)/K_Martin,DigitsLot);
     }

   if(L>MAXLOT) L = MAXLOT;
   if(L<MINLOT) L = MINLOT;
   return(L);
  }

не понять не могу в чем дело.

в старом варианте было:

//|                                                            Функция открытия ордера на продажу |
//+-----------------------------------------------------------------------------------------------+
void vOrderOpenSell()
  {
   int iOTi = 0;   // Тикет ордера

   iOTi = OrderSend(Symbol(), OP_SELL, LOT(), Bid, iSlippage, 0, 0, "", iMagic, 0, clrNONE);

// Проверим открылся ли ордер
   if(iOTi > 0)
      // Есди да, то выставим уровни убытка и прибыли
      vOrderModify(iOTi);
   else
      // Если нет, то получим ошибку
      vError(GetLastError());

и

double LOT()
{
   int n=0;
   double OL=dLots;
   for (int j = OrdersHistoryTotal()-1; j >= 0; j--)
   {
      if (OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == iMagic)
         {
            if (OrderProfit()<0) 
            {
               if (n==0) OL=NormalizeDouble(OrderLots()*K_Martin,DigitsLot);
               n++;
               if (n>=OrdersClose) {Comment("1");return(dLots);}
            }
            else
            {
               if (n==0) {Comment("2");return(dLots);}
               else {Comment("3");return(OL);}
            }
         }
      }
   }
   return(OL);
}
 
Сергей Таболин:

Не могу почистить.

Если ты уж так заинтересован помочь кому-то, то пусть этот кто-то хотя бы просто прикрепит исходник, а не выкладывает свой код на пол-страницы! А потом ещё и ты отвечаешь также.... Сплошные портянки! Интересные только тебе и ещё одному!

Уважать остальных не обязательно? Или ЛС не работает?

Я ко всем отношусь с уважением. Кроме тебя никому не мешают "Сплошные портянки".

В ЛС код не вставляется читабельно и человек не обращается лично ко мне, просто я ответил ему.

Если я доставил тебе дискомфорт своими сообщениями, извини, но по другому никак.

 
законопослушный гражданин:

конечно. это же старый рабочий советник был.

у меня есть подозрение что нет связи между функциями:

и

не понять не могу в чем дело.

в старом варианте было:

и

Если бы дело было в вычислении лота - была бы ошибка, а раз ошибки нет, значит не условий для открытия ордера

Прикрепи старый рабочий вариант и я посмотрю

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