포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 752

 

막대 또는 양초를 닫아 주문을 마감하는 방법

 int start()
  {
       if ((Time[ 0 ] == prevtime) && openbarspriceonly) {
       return ( 0 );
      }
   
       if (! IsTradeAllowed()) {
       Comment ( "Trades disallow" );
       return ( 0 );
      }
   
      prevtime = Time[ 0 ];

     if (CountTrades() == 0 )
    {
        open = iOpen( Symbol (), PERIOD_D1 , 0 );
        close = iClose( Symbol (), PERIOD_D1 , 1 );

     if (DayOfWeek()== 1 && Ask >= open)
     { 
        ticket = OrderSend ( Symbol (), OP_BUY, lots, Ask, Slippage, 0 , 0 , NULL , Magic, 0 , Blue);
         if (ticket> 0 )
        {
           Print ( "Ордер ошибка в Лонг: " , GetLastError ());
        }
         else 
           Print ( "Ордер открыт успешно" );
         if ( OrderSelect ( ticket, SELECT_BY_POS))
        {
           if (OrderClose(ticket, lots, close,Slippage, 0 ))
           return ( 0 );
        }
     }
     if (DayOfWeek()== 5 && Bid <= open)
     {
        ticket = OrderSend ( Symbol (), OP_SELL, lots, Bid, Slippage, 0 , 0 , NULL , Magic, 0 , Red);
         if (ticket> 0 )
        {
           Print ( "Ордер ошибка в Шорт " , GetLastError ());
        }
         else 
           Print ( "Ордер открыт успешно" );
         if ( OrderSelect ( ticket, SELECT_BY_POS))
        {
           if (OrderClose(ticket, lots, close,Slippage, 0 ))
           return ( 0 );
        }

     }
    }
     return ( 0 );
  }
 
ikatsko :

전략 테스터에서 명령 MarketInfo(Symbol(),MODE_TICKVALUE) = 0 (!) 이것은 예를 들어 상품이 EURUSD이고 잔액 통화가 RUR ....인 상황 및 기타 조합에서 발생합니다. 잔액 통화가 통화 쌍의 두 번째 통화 이름과 일치해야 함을 이해했습니다. 그렇지 않으면 명령이 ZERO 값을 제공합니다(전략 테스터에서).결과적으로 원하는 조합으로 테스트할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?

강조 표시된 것은 잘못되었습니다! 내 계산은 EURUSD, GBPUSD 등을 사용하여 유로로 이루어집니다. 켜진 경우에만 첫 번째 데이터가 도착할 때까지 0을 제공할 수 있으므로 TICKVALUE 로 계산하기 전에 조건을 설정합니다. if != 0;

그리고 테스터에서는 MarketInfo() 가 작동하지 않을 수 있으므로 틱의 대략적인 가격을 알고 IsTesting() || IsOptimization() || IsVisualMode().

" 틱의 대략적인 가격을 알고 있습니까 "? 결정은 다음과 같이 이루어졌습니다. 대략적인 틱 가격 = 10*CurrencyPair Rate(USDCurrencyBalance). 입력 매개변수에서 설정됩니다. 물론, CurrencyPair Rate(USDCurrencyBalance)가 단말기에서 자동으로 취해질 수 있다면 좋을 것입니다. 즉, 잔액 통화(AccountInfoString(ACCOUNT_CURRENCY))(예: RUR)를 알고 있으면 기호 이름 문자열(예: USDRUR)이 형성됩니다. 터미널에 그러한 기호가 있는지 확인하십시오. 예를 들어 USDRUR_c 와 비슷한 것이 있을 수 있습니다. 사용 가능한 통화 쌍의 과정을 시작하십시오.

 
artmedia70 :
그리고 비스타는 어떻습니까? 쥐야, 쥐는 이미 죽어가고 있다. 곧 퇴색됩니다 ;)
나는 마우스가없는 노트북을 가지고 있습니다. 마우스에서 큰 컴퓨터로 이전과 달리 집게 손가락이 아파요!
 
ikatsko :

전략 테스터에서 명령 MarketInfo(Symbol(),MODE_TICKVALUE) = 0 (!) 이것은 예를 들어 상품이 EURUSD이고 잔액 통화가 RUR ....인 상황 및 기타 조합에서 발생합니다. 잔액 통화가 통화 쌍의 두 번째 통화 이름과 일치해야 함을 이해했습니다. 그렇지 않으면 명령이 ZERO 값을 제공합니다(전략 테스터에서).결과적으로 원하는 조합으로 테스트할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?

강조 표시된 것은 잘못되었습니다! 내 계산은 EURUSD, GBPUSD 등을 사용하여 유로로 이루어집니다. 켜진 경우에만 첫 번째 데이터가 도착할 때까지 0을 제공할 수 있으므로 TICKVALUE 로 계산하기 전에 조건을 설정합니다. if != 0;

그리고 테스터에서는 MarketInfo() 가 작동하지 않을 수 있으므로 틱의 대략적인 가격을 알고 IsTesting() || IsOptimization() || IsVisualMode().

" 틱의 대략적인 가격을 알고 있습니까 "? 결정은 다음과 같이 이루어졌습니다. 대략적인 틱 가격 = 10*CurrencyPair Rate(USDCurrencyBalance). 입력 매개변수에서 설정됩니다. 물론, CurrencyPair Rate(USDCurrencyBalance)가 단말기에서 자동으로 취해질 수 있다면 좋을 것입니다. 즉, 잔액 통화(AccountInfoString(ACCOUNT_CURRENCY))(예: RUR)를 알고 있으면 기호 이름 문자열(예: USDRUR)이 형성됩니다. 터미널에 그러한 기호가 있는지 확인하십시오. 예를 들어 USDRUR_c 와 비슷한 것이 있을 수 있습니다. 사용 가능한 통화 쌍의 과정을 시작하십시오.

나에게는 이것이 필요하지 않기 때문입니다. 테스트 중에 틱 가격은 스프레드와 훨씬 더 많이 변경되지 않습니다. 이것이 내가 사용하는 차트 표시기를 통해 주석으로 표시되는 모든 계측기의 차트에 항상 MarketInfo(Symbol(),MODE_TICKVALUE) 가 있는 이유이며 테스트하기 전에 EA 코드에 값을 넣을 때마다입니다.
 
borilunad :
나는 마우스가없는 노트북을 가지고 있습니다. 마우스에서 큰 컴퓨터로 이전과 달리 집게 손가락이 아파요!

그래서 터치패드는 버그가 있습니다. 버튼도 있습니다.

아니면 손가락이 똑같지 않거나... :) 하지만 여기서 나타난 "바운스"가 OS의 원인의 결과는 아닌 것 같습니다.

 
artmedia70 :

그래서 터치패드는 버그가 있습니다. 버튼도 있습니다.

아니면 손가락이 똑같지 않거나... :) 하지만 여기서 나타난 "바운스"가 OS의 원인의 결과는 아닌 것 같습니다.

제가 터치패드 면에서 별로 강하지 않아서 '바운스' ... 그래도 터치패드는 차가 넘어졌을 때?! 그러나 그것은 나를 위협하지 않습니다. 나는 수레가 없고 필요하지 않습니다. 아름다운 도시를 산책하는 것은 저에게 기쁨입니다. 필요할 때마다 좋은 도로와 교통 체증이없는 매우 편리한 대중 교통! :)
 
borilunad :
제가 터치패드 면에서 별로 강하지 않아서 '바운스' ... 그래도 터치패드는 차가 넘어졌을 때?! 그러나 그것은 나를 위협하지 않습니다. 나는 수레가 없으며 필요하지 않습니다. 아름다운 도시를 산책하는 것은 저에게 기쁨입니다. 필요할 때마다 좋은 도로와 교통 체증이없는 매우 편리한 대중 교통! :)

구글에서 금지?

터치패드 ( 영어)   터치 패드 - 터치 패드), 터치 패드 - 포인팅 입력 장치 , 본 발명은 자동화 및 컴퓨터 기술에 관한 것으로 컴퓨터에 정보를 읽고 입력하는 데 사용할 수 있습니다(예: 기호 및 요소 위치 좌표에 대한 정보). 및 터치 패널 표면의 자성체 부품. 터치 패널에는 PCB 패키지가 포함되어 있습니다. 각 인쇄 회로 기판의 층에는 매트릭스의 행과 열을 따라 직렬 체인으로 연결된 평평한 나선형 유도 용량 소자가 있습니다. 모든 인쇄 회로 기판의 매트릭스는 서로 정렬되어 있습니다. 인쇄 회로 기판의 인접한 표면 사이에는 절연층이 배치됩니다. i-회로기판의 행(열)의 출력은 (i+1)번째 인쇄회로기판의 행(열)의 입력에 연결되고, 행렬의 행과 열의 입력은 인쇄 회로 기판 패키지의 첫 번째는 터치 패널의 입력이며, 그 출력은 PCB 패키지의 마지막 매트릭스 행과 열의 출력입니다. 다른 포인팅 장치와 마찬가지로 터치패드는 일반적으로 장치 표면에서 손가락을 움직여 " 포인터 "를 제어하는 데 사용됩니다. 터치패드는 다양한 크기로 제공되지만 일반적으로 면적은 50cm²를 초과하지 않습니다. 실행 형태는 대부분 직사각형이지만 원 형태의 모델이 있습니다.

 

남자들은 오늘 발생한 결함 때문에 나에게 말합니다.

EA는 금요일 시장이 마감되기 15분 전에 거래를 중단할 수 있습니다.

새로운 날짜가 나타나면 EA가 금요일인지 확인한 다음 StringToTime("23:59")-15*60에서 오늘 거래를 중지합니다.

 datetime FinishInFriday;
void OnTick ()   {
   datetime cur=TimeCurrent();
   if (PrevDay!=Day()) {                               // при наступлении нового дня
      PrevDay =Day();
      
       if (TimeDayOfWeek(cur)== 5 ) {                     // если сегодня пятница
         FinishInFriday= StringToTime ( "23:59" )- 15 * 60 ;     // время окончания торговли
         Print ( "Finish In Friday = " ,FinishInFriday);   
       }
   }
   if (TimeDayOfWeek(cur)== 5 )
       if (cur>FinishInFriday) 
         return ;
}

전략 테스터에서는 이 기능이 올바르게 작동하지만 실제로는 완전히 다른 그림을 봅니다. 금요일이 오면 어드바이저가 첫 번째 틱으로 거래를 중단합니다.

다음은 전문가 잡지의 인쇄물입니다.

브로커 #1, 데모:

0 05:59:47.731 Scalper GBPAUDpt,M1: 금요일에 완료 = 2014.10. 23 23:44:00

브로커 №2, 실제:

0 03:00:11.999 Scalper EURUSD,M1: 금요일에 마감 = 2014.10. 23 23:44:00

즉, 첫 번째 눈금에 오늘의 일일 막대가 나타날 때(10월 24일, 금요일), EA

오늘 날짜를 지정하는 대신 문자열 "23:59"를 어제의 시간으로 변환합니다.

그러나 EA가 금요일 정오에 다시 시작되면 작업 완료 시간을 올바르게 결정합니다.

 
tuner :

남자들은 오늘 발생한 결함 때문에 나에게 말합니다.

EA는 금요일 시장이 마감되기 15분 전에 거래를 중단할 수 있습니다.

새로운 날짜가 나타나면 EA가 금요일인지 확인한 다음 StringToTime("23:59")-15*60에서 오늘 거래를 중지합니다.

전략 테스터에서는 이 기능이 올바르게 작동하지만 실제로는 완전히 다른 그림을 봅니다. 금요일이 오면 어드바이저가 첫 번째 틱으로 거래를 중단합니다.

다음은 전문가 잡지의 인쇄물입니다.

브로커 #1, 데모:

0 05:59:47.731 Scalper GBPAUDpt,M1: 금요일에 완료 = 2014.10. 23 23:44:00

브로커 №2, 실제:

0 03:00:11.999 Scalper EURUSD,M1: 금요일 마감 = 2014.10. 23 23:44:00

즉, 첫 번째 눈금에 오늘의 일일 막대가 나타날 때(10월 24일, 금요일), EA

오늘 날짜를 지정하는 대신 문자열 "23:59"를 어제의 시간으로 변환합니다.

그러나 EA가 금요일 정오에 다시 시작되면 작업 완료 시간을 올바르게 결정합니다.

그리고 잘 보세요.

어제가 오늘과 같지 않다면...

이 블록은 하루에 한 번만 입장할 수 있습니다.

테스터에서 제대로 작동할지 의심되는 부분입니다.

MqlDateTime 및 TimeToStruct 문서를 살펴보십시오.

구조가 간단하고 날짜 및 시간 변환보다 작업하기가 훨씬 더 편리합니다.

 
Vinin :

구글에서 금지?

터치패드 ( 영어)   터치 패드 - 터치 패드), 터치 패드 - 포인팅 입력 장치 , 본 발명은 자동화 및 컴퓨터 기술에 관한 것으로 컴퓨터에 정보를 읽고 입력하는 데 사용할 수 있습니다(예: 기호 및 요소 위치 좌표에 대한 정보). 및 터치 패널 표면의 자성체 부품. 터치 패널에는 PCB 패키지가 포함되어 있습니다. 각 인쇄 회로 기판의 층에는 매트릭스의 행과 열을 따라 직렬 체인으로 연결된 평평한 나선형 유도 용량 소자가 있습니다. 모든 인쇄 회로 기판의 매트릭스는 서로 정렬되어 있습니다. 인쇄 회로 기판의 인접한 표면 사이에는 절연층이 배치됩니다. i-회로기판의 행(열)의 출력은 (i+1)번째 인쇄회로기판의 행(열)의 입력에 연결되고, 행렬의 행과 열의 입력은 인쇄 회로 기판 패키지의 첫 번째는 터치 패널의 입력이며, 그 출력은 PCB 패키지의 마지막 매트릭스 행과 열의 출력입니다. 다른 포인팅 장치와 마찬가지로 터치패드는 일반적으로 장치 표면에서 손가락을 움직여 " 포인터 "를 제어하는 데 사용됩니다. 터치패드는 다양한 크기로 제공되지만 일반적으로 면적은 50cm²를 초과하지 않습니다. 실행 형태는 대부분 직사각형이지만 원 형태의 모델이 있습니다.

Vista와 비슷하지만 내 새 8-ke의 직사각형은 트릭으로 나를 실망 시켰습니다. 침착하게 작업하는 것은 불가능합니다. 갑자기 모든 것이 어딘가로 날아갑니다. 아마도 휴대 전화에서 패션을 가져 갔을 것입니다. 그들은 전 세계가 살아 있다고 생각합니다. 오락을 위해서만! 유익한 메시지 감사합니다(농담 아니에요?)!
사유: