[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 201

 

Кто-нибудь подскажет как узнать символ текущего(выделенного) окна графика из открытых, не тот к которому прикреплен скрипт/советник, а именно то, что в данный момент активно в терминале(как еще говорят в фокусе)

 
harbor:

Кто-нибудь подскажет как узнать символ текущего(выделенного) окна графика из открытых, не тот к которому прикреплен скрипт/советник, а именно то, что в данный момент активно в терминале(как еще говорят в фокусе)

Получить дескриптор окна наверху Z-последовательности окон графиков. Потом по нему получить заголовок, и парсить его.
 
Zhunko:
Получить дескриптор окна наверху Z-последовательности окон графиков. Потом по нему получить заголовок, и парсить его.


ну в mql4 есть вроде только одна функция с хендлом  WindowHandle

но я делаю  dll-ку,  это через winapi делать можно как-то? там есть вроде функция GetWindowText по хендлу

а как получить дескриптор? 

 
harbor:


ну в mql4 есть вроде только одна функция с хендлом  WindowHandle

но я делаю  dll-ку,  это через winapi делать можно как-то? там есть вроде функция GetWindowText по хендлу

а как получить дескриптор? 

Так, это в DLL надо получить дескриптор окна наверху Z-последовательности. Есть MDI-клиент. Он является родителем окон графиков. Там и взять этот дескриптор.
 
Подскажите дорогие что будет если разнонапрвлено 2 сделки например EURJPY и USDJPY равными лотами (а если не равными). Может кто сталкивался(нужен вариант расчета)
 
YOUNGA:
Подскажите дорогие что будет если разнонапрвлено 2 сделки например EURJPY и USDJPY равными лотами (а если не равными). Может кто сталкивался(нужен вариант расчета)
Расчёта чего?
 
YOUNGA:
Подскажите дорогие что будет если разнонапрвлено 2 сделки например EURJPY и USDJPY равными лотами (а если не равными). Может кто сталкивался(нужен вариант расчета)

Здесь EUR и USD - это базовая валюта, имено в ней рассчитывается лот. Т.е. для первой пары 1 лот - это 100000 EUR, для второй - 100.000 USD, в обоих случаях купленные/проданные за йены.
 


щас поясню если открыть по одному лоту на каждой паре EURJPY и USDJPY то должен получится лот EURUSD те на 1пункт изменения цене евродоллара чтото должно произойти с синтетическим"евродолларом"( EURJPY/ USDJPY ) так как они коррелированы



 

Пытаюсь закодировать следующую идею.

Если время 01.00.00. или 03.00.00.

Открыть ордер вверх

В остальное время открыть ордер вниз.

ПРОБЛЕМА Программа компилируется , в 01.00.00 открывает сделку на покупку, но не читает символ || и то что после него.

if(Hour( )==01 && Minute( )==00 && Seconds()==00||Hour( )==03 && Minute( )==00 && Seconds()==00 )

Т.е. в 03.00.00 тестер открывает сделку не на покупку ,а на продажу.

Все остальные сделки открываются в соответствии с кодом.

  if(Hour( )==01 && Minute( )==00 && Seconds()==00||Hour( )==03 && Minute( )==00 && Seconds()==00 )
 
    
   {  
      if (Bid==Price  )
     
  int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );
  }
  else
  {
  SL=NormalizeDouble (Price+3000*Point, Digits);         
  TP=NormalizeDouble (Price-100*Point, Digits);
  Ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,SL,TP );
 }
 }
 }

Делал два заголовка if ...... вообще не открывает сделки

 if(Hour( )==01 && Minute( )==00 && Seconds()==00 )
  if(Hour( )==03 && Minute( )==00 && Seconds()==00)
    
   {  
      if (Bid==Price  )
     
  int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );
  }
  else
  {
  SL=NormalizeDouble (Price+3000*Point, Digits);         
  TP=NormalizeDouble (Price-100*Point, Digits);
  Ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,SL,TP );
 }
 }
 }
Подскажите - как сделать так что бы в 03.00.00. открывалась сделка на покупку? Спасибо
 
solnce600:

ПРОБЛЕМА Программа компилируется , в 01.00.00 открывает сделку на покупку, но не читает символ || и то что после него.

if(Hour( )==01 && Minute( )==00 && Seconds()==00||Hour( )==03 && Minute( )==00 && Seconds()==00 )

Т.е. в 03.00.00 тестер открывает сделку не на покупку ,а на продажу.

Все остальные сделки открываются в соответствии с кодом.


 Ну для начала скобки привыкни вставлять там где нужно. Типа того:

 

if((Hour( )==01 && Minute( )==00 && Seconds()==00) || (Hour( )==03 && Minute( )==00 && Seconds()==00))
А вообще, у тебя должен быть диапазон времени, а не фикс. значения. Логика у тебя не верная вообще. Не 1час ИЛИ 3 часа, а от 1 часа до 3 часов!!!
Причина обращения: