MQL4 - automated forex trading   /  

Форум

Function "_IsTradeAllowed" is not referenced and will be removed from exp-file - и чего теперь делать

К списку тем  | 1 2 Авторизуйтесь или зарегистрируйтесь, чтобы создать новую тему

avatar
574
dmmikl86 11.01.2011 22:39 

прикрепляю так #include <TradeContext.mqh>.

при компилящии выдает:

Start function not found and cannot be run.

Function "_IsTradeAllowed" is not referenced and will be removed from exp-file

Function "TradeIsBusy" is not referenced and will be removed from exp-file

Function "TradeIsNotBusy" is not referenced and will be removed from exp-file

Прикрепленные файлы:
  TradeContext.mqh (11.54 KB)

Организуйте багтрекинг и техсаппорт для своей компании

В TeamWox имеются все для того чтобы организовать багтрекинг. Интегрировав модуль Сервисдеск с веб-сайтом, Вы сможете получать заявки своих клиентов напрямую в TeamWox. Более того, вся переписка с клиентами автоматически распознается и попадает в архив, где ее без труда можно найти в будущем.


avatar
1177
Sorento 11.01.2011 22:53 

вы их не используете - потому они в ех4 файле ни к чему.

Такая логика компилятора.

Но вы же mqh компилируете.

Займитесь вплотную исполнимым модулем, именно там эти сообщения имеют указанный смысл.

;)

//Шаблон эксперта, использующего функции TradeIsBusy() и TradeIsNotBusy():
#include <TradeContext.mqh>
int start()
  {
// определяем необходимость входа в рынок
          ...
// расчитываем уровни Стоп Лосс, Тейк Профит и размер лота
          ...
// ждём освобождения торгового потока и занимаем его (если произошла ошибка, выходим)
          if(_IsTradeAllowed(1)<0) 
            { 
              return(-1); 
            }
// обновляем рыночную информацию
          RefreshRates();
// пересчитываем уровни Стоп Лосс и Тейк Профит
          ...
// открываем позицию
          Print ("market");
// освобождаем торговый поток
          TradeIsNotBusy();
  return(0);
  }
*/
//+-------------------------------

avatar
574
dmmikl86 11.01.2011 22:57 
Sorento:

вы их не используете - потому они в ех4 файле не к чему.

Такая логика компилятора.

Но вы же mqh компилируете.

Займитесь вплотную исполнимым модулем, именно там эти сообщения имеют указанный смысл.

;)


не совсем понял что это значит???

вставил в эксперт выдат ошибку: Function "_IsTradeAllowed" is not referenced and will be removed from exp-file


avatar
Модератор
5187
granit77 11.01.2011 22:59 
dmmikl86:

не совсем понял что это значит???
Не надо отдельно компилировать файлы mqh. Компилируйте только советник, которых их вызывает.

avatar
574
dmmikl86 11.01.2011 23:00 
granit77:
Не надо отдельно компилировать файлы mqh. Компилируйте только советник, которых их вызывает.

так и сделал. при компиляции советника выдает Function "_IsTradeAllowed" is not referenced and will be removed from exp-file


avatar
1177
Sorento 11.01.2011 23:04 
dmmikl86:

так и сделал. при компиляции советника выдает Function "_IsTradeAllowed" is not referenced and will be removed from exp-file

значит вы ее не используете и она (функция) была удалена из исполнимого файла...

Почти дословно.

;)


avatar
574
dmmikl86 11.01.2011 23:06 
//=================================================================
   // открытие позиций
if(TradeIsBusy() < 0) 
   { 
   return(-1); 
   }
if(new_time!=Time[0])
{   
   if(BUY==true)
      {
       if(HA_open<HA_close) 
         {
          if(gmma_1<level_buy && gmma_0>level_buy)
            {
             OrderSend(Symbol(), OP_BUY, Lots, NormalizeDouble(Ask, Digits), 3, Low[1]-offset*Point, Ask+TP*Point, "a_GMMA&HA buy", magic, 0, Blue);
            }
         }
      }
   //----
   if(SELL==true)
      {
       if(HA_open>HA_close)
         {
          if(gmma_1>level_sell && gmma_0<level_sell)
            {
             OrderSend(Symbol(), OP_SELL, Lots, NormalizeDouble(Bid, Digits), 3, High[1]+(spread+offset)*Point, Bid-TP*Point, "a_GMMA&HA sell", magic, 0, Red);
            }
         } 
      }
new_time=Time[0];
}
TradeIsNotBusy();
вот кусок из кода, как я могу ее не использовать?

avatar
Модератор
5187
granit77 11.01.2011 23:11 
dmmikl86:

так и сделал. при компиляции советника выдает Function "_IsTradeAllowed" is not referenced and will be removed from exp-file

Что в вольном переводе значит "Функция не используется (не вызывается советником) и не будет помещена в скомпилированный (исполняемый) файл". Чисто информационное сообщение, не являющееся ошибкой компиляции и не влияющее на работу советника.
А вот сообщение: "Start function not found and cannot be run" появилось при прямой компиляции библиотеки, чего делать не следовало.


avatar
1177
Sorento 11.01.2011 23:12 
dmmikl86:
вот кусок из кода, как я могу ее не использовать?
посмотрите шаблон, что я прикрепил.

avatar
Модератор
5187
granit77 11.01.2011 23:16 
dmmikl86:
вот кусок из кода, как я могу ее не использовать?
Можете, можете. Найдете вызов функции _IsTradeAllowed в Вашем советнике? Не все функции из библиотеки TradeContext.mqh Вами используются, о чем компилятор тактично Вам и сообщает.

avatar
574
dmmikl86 11.01.2011 23:20 
granit77:
Можете, можете. Найдете вызов функции _IsTradeAllowed в Вашем советнике? Не все функции из библиотеки TradeContext.mqh Вами используются, о чем компилятор тактично Вам и сообщает.

спасибо. убрал _IsTradeAllowed, и заработало. спасибо еще раз
К списку тем   | 1 2  

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий