[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 201

 

스크립트/어드바이저가 첨부된 것이 아니라 열려 있는 차트 창에서 현재(강조 표시된) 차트 창의 기호를 찾는 방법을 알려주실 수 있습니까? )

 
harbor :

스크립트/어드바이저가 첨부된 것이 아니라 열려 있는 차트 창에서 현재(강조 표시된) 차트 창의 기호를 찾는 방법을 알려주실 수 있습니까? )

플롯 창의 Z 시퀀스 상단에 있는 창에 대한 핸들을 가져옵니다. 그런 다음 제목을 가져와 구문 분석합니다.
 
Zhunko :
플롯 창의 Z 시퀀스 상단에 있는 창에 대한 핸들을 가져옵니다. 그런 다음 제목을 가져와 구문 분석합니다.


음, mql4에는 핸들이 있는 기능이 하나만 있는 것 같습니다.   창 핸들

하지만 dll을 만들고 있는데 winapi를 통해 어떻게든 할 수 있습니까? 핸들로 GetWindowText 와 같은 기능이 있습니다.

설명자를 얻는 방법?

 
harbor :


음, mql4에는 핸들이 있는 기능이 하나만 있는 것 같습니다.   창 핸들

하지만 dll을 만들고 있는데 winapi를 통해 어떻게든 할 수 있습니까? 핸들로 GetWindowText 와 같은 기능이 있습니다.

설명자를 얻는 방법?

따라서 Z 순서의 맨 위에 있는 창 핸들을 가져와야 하는 것은 DLL에 있습니다. MDI 클라이언트가 있습니다. 차트 창의 부모입니다. 거기에이 설명자를 가져 가십시오.
 
자기야, 예를 들어 EURJPY와 USDJPY가 같은 로트(그리고 같지 않은 경우)와 같이 2개의 거래가 다른 경우 어떻게 되는지 알려주세요. 누구에게나 올 수 있나요 (계산 옵션이 필요합니다)
 
YOUNGA :
자기야, 예를 들어 EURJPY와 USDJPY가 같은 로트(그리고 같지 않은 경우)와 같이 2개의 거래가 다른 경우 어떻게 되는지 알려주세요. 누구나 만날 수 있나요 (계산 옵션이 필요합니다)
무엇의 계산?
 
YOUNGA :
자기야, 예를 들어 EURJPY와 USDJPY가 같은 로트(그리고 같지 않은 경우)와 같이 2개의 거래가 다른 경우 어떻게 되는지 알려주세요. 누구나 만날 수 있나요 (계산 옵션이 필요합니다)

여기에서 EUR와 USD는 기본 통화 이며, 이 통화로 로트가 계산됩니다. 저것들. 첫 번째 쌍의 경우 1랏은 100,000 EUR이고 두 번째 경우 - 100,000 USD이며 두 경우 모두 엔으로 매매됩니다.
 


이제 EURJPY와 USDJPY의 각 쌍에 대해 하나의 로트를 열면 많은 EURUSD를 얻을 수 있고 유로달러 가격의 1포인트 변동에 대해 합성 "유로달러"( EURJPY / USDJPY ) 상관 관계가 있으므로

 

다음 아이디어를 코딩하려고 합니다.

시간이 01.00.00인 경우. 또는 03.00.00.

오픈 주문

나머지 시간에는 주문을 엽니다 .

문제 프로그램이 컴파일되고 01.00.00에 매수 거래를 열지 만 기호 || 를 읽지 않습니다. 그리고 그 뒤에 오는 것.

if(시( )==01 && 분( )==00 && 초()==00 ||시( )==03 && 분( )==00 && 초()==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(시( )==01 && 분( )==00 && 초()==00 ||시( )==03 && 분( )==00 && 초()==00 )

저것들. 03.00.00 테스터는 구매가 아니라 판매를 위한 거래를 엽니다.

다른 모든 거래는 코드에 따라 열립니다.


음, 우선 필요한 곳에 대괄호를 삽입하는 데 익숙해지십시오. 그런 것:

 if ((Hour( )== 01 && Minute( )== 00 && Seconds()== 00 ) || (Hour( )== 03 && Minute( )== 00 && Seconds()== 00 ))
일반적으로 수정이 아니라 시간 범위가 있어야 합니다. 가치. 당신의 논리는 전혀 옳지 않습니다. 1시간이나 3시간이 아니라 1시간에서 3시간까지!!!