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

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

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

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


---
22668
---  
спасибо.
---
22668
---  
TheXpert:

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

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

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

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

Syzal
42
Syzal  

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

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

Vitalie Postolache
11963
Vitalie Postolache  
Syzal:

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

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

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

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

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

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

и

CHARTEVENT_CLICK
MIKITA RAMANOUSKI
1274
MIKITA RAMANOUSKI  

Господа программисты. Есть вопрос. Я проверяю одного советника на демо-счете 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") 
Victor Nikolaev
Модератор
18116
Victor Nikolaev  
Rammik:

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


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