[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시간까지!!!