Любые вопросы от ПРОФИ к СУПЕРПРОФИ - 1. - страница 38

 

Все плохо. Даже с версиями. Разве что скриптами.

Вот пример. Там можно к версии и имя задефайнить и доставать, только поразбираться придется.


 
спасибо.
 
TheXpert:

Разве что скриптами.

придумал полуфабрикатный метод.

создать новую конфигурацию компилятору. типа "Release Main", в которой прописываю имя требуемого файла.

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

 

Есть ли в MQL4 функции для работы с перекрестием? 

Нужно присвоить переменной значение разницы цены в пипсах. 

 
Syzal:

Есть ли в MQL4 функции для работы с перекрестием? 

Нужно присвоить переменной значение разницы цены в пипсах. 

Так присваивайте, а перекрестие зачем? Скрипты не прицеливаются курсором ;)
 
Syzal:

Есть ли в MQL4 функции для работы с перекрестием? 

Нужно присвоить переменной значение разницы цены в пипсах. 

Именно с перекрестием - нет. Но зато есть 
CHARTEVENT_MOUSE_MOVE

и

CHARTEVENT_CLICK
 

Господа программисты. Есть вопрос. Я проверяю одного советника на демо-счете aforex.ru. У меня иногда выкидывает ошибку при открытии ордера 138 "Новые цены". Я не могу пока разобраться почему. Ордера открываю через функцию, код привожу ниже. Нужно найти причину ошибки при открытии. Какие будут соображения?

void open_positions(int signal,double lot,double price,double tp,double lev) 
  {
//signal=0 -> сигнал на открытие покупки
//signal=1 -> сигнал на открытие продажи
   int    i=0; //переменная для счётчика цикла
   string symb=Symbol(),com;
   com=DoubleToStr(lev,Digits);
   color col;
   double stop,take;
   int    count=Count_Of_Trade_Try; //количество попыток открытия ордера в случае, если его не удаётся совершить сразу
   int err=0;
   if(signal==OP_BUYLIMIT || signal==OP_BUYSTOP || signal==OP_BUY)
     {
      RefreshRates();
      price=NormalizeDouble(Ask,Digits); //цена открытия для покупок
      col=Green;
     }
   if(signal==OP_SELLLIMIT || signal==OP_SELLSTOP || signal==OP_SELL)
     {
      RefreshRates();
      price=NormalizeDouble(Bid,Digits); //цена открытия для продаж 
      col=Red;
     }
//stop=NormalizeDouble(sl(SL,signal),Digits);

   take=NormalizeDouble(tp,Digits);

   while(i<=count) 
     {
      //сама функия открытия ордера (встроенная). Для удобства восприятия параметры разнесены на разные строки:
      int ticket=OrderSend(symb,//символ
                           signal,        //тип ордера
                           lot,           //объем
                           price,         //цена открытия
                           Slipage,       //уровень допустимого реквота
                           0, //величина Stop Loss
                           0, //величина Take Profit
                           com,//комментарий ордера
                           magic_number,//магическое число
                           0,//срок истечения (используется при отложенных ордерах)
                           CLR_NONE);    //цвет отображаемой стрелки на графике (CLR_NONE - стрелка не рисуется)

      if(ticket!=-1) //если открытие произошло успешно, наносим графический объект и выходим из цикла
        {
         OrderModify(ticket,price,stop,take,0,col);
         break;
        }

      err=GetLastError();
      if(err!=0) Print("Ошибка открытия ("+symb+", "+signal+", "+price+", "+0+", "+take+"): "+Market_Err_To_Str(err));
      i++;
      Sleep(Pause_Of_Trade_Try*100); //в случае ошибки делаем паузу перед новой попыткой
     } //end while(i<=count)
  } //end void open_positions(int signal, double lot, int magic, double price=0.0, string symb="NONE") 
 
Rammik:

Господа программисты. Есть вопрос. Я проверяю одного советника на демо-счете aforex.ru. У меня иногда выкидывает ошибку при открытии ордера 138 "Новые цены". Я не могу пока разобраться почему. Ордера открываю через функцию, код привожу ниже. Нужно найти причину ошибки при открытии. Какие будут соображения?


Профи подобных вопросов не задают. Видимо веткой ошиблись
 
Vinin:
Профи подобных вопросов не задают. Видимо веткой ошиблись
Ну а если вы такой суперпрофи, так может подскажете в чем дело?!
 
Rammik:
Ну а если вы такой суперпрофи, так может подскажете в чем дело?!
Я, конечно не суперпрофи, но сперва бы задался вопросом - чему равно tp
Причина обращения: