[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 386

 
splxgf писал(а) >>

아마도 이와 같을 것입니다. 그렇지 않으면 현대 하드웨어에서 무한 루프가 매우 오랜 시간이 걸립니다.

:)

 
Rita >> :

안녕하세요.

표시기에는 함수가 있습니다. IndicatorShortName("iC_C_mod, ..... ");

그러나 이 비문 외에도 표시기 창에 동적으로 변하는 변수가 있는 주석을 삽입할 수 있어야 합니다.

f를 입력하고 주석();

그러나 정확히는 지표 창에만 있고 차트 자체에는 전혀 없습니다.

제발. 말하다 ?


 #property copyright "Copyright © 2009, :-)"
#property link      "----"

#property indicator_separate_window

int start ( )
{
   string info = "Bid= " + DoubleToStr ( Bid , 5 ) ;
   IndicatorShortName ( info ) ;
//----
   return ( 0 ) ;
}

필요한 창에 표시됩니다.

 
Rita >> :

안녕하세요.

표시기에는 함수가 있습니다. IndicatorShortName("iC_C_mod, ..... ");

그러나 이 비문 외에도 표시기 창에 동적으로 변하는 변수가 있는 주석을 삽입할 수 있어야 합니다.

f를 입력하고 주석();

그러나 정확히는 지표 창에만 있고 차트 자체에는 전혀 없습니다.

제발. 말하다 ?


레이블을 만들고 텍스트를 변경할 수 있습니다.


   string ID  = "MyLabelName" ;


   if ( ObjectCreate ( ID , OBJ_LABEL , 0 , 20 , 20 ) )
     {
       ObjectSet ( ID , OBJPROP_XDISTANCE , 35 ) ;
       ObjectSet ( ID , OBJPROP_YDISTANCE , 35 ) ;
     }
 
   //отображение на экране значения переменной txt 
   string txt = "Belissimo" ;
   ObjectSetText ( ID , txt , 18 , "Arial Black" , Green ) ;
코드가 틀릴 수 있지만 작동합니다.
 
무시하지마
 
감사합니다 제온splxgf !
 
친구, 좋은 오후입니다.

이 문제에 대한 귀하의 의견을 듣는 것은 흥미로울 것입니다.

다른 많은 금융 상품이 통화 쌍의 견적에 영향을 미친다는 의견이 있습니다.
주요 주가 지수, 선물, 옵션 등의 움직임


1) 이 영향을 추적할 수 있다고 생각하십니까?
(따라서 거래 전략에 건설적으로 사용됨)???

2) 각 통화쌍과 다른 금융상품의 호가 간에 안정적인 상관관계를 발견하셨습니까?

3) 그러한 상관관계를 입증할 수 있는 지표를 사용한 적이 있습니까?


(같은 이름을 가진 이 포럼의 주제 스레드에서 귀하의 의견을 기다리고 있습니다: https://forum.mql4.com/ru/28930 )

 

splxgf писал

void CheckSell()
{
if ((NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits)))
Sell();
}

아마도 이와 같을 것입니다. 그렇지 않으면 현대 하드웨어에서 무한 루프가 매우 오랜 시간이 걸립니다.


그러나 프로그램은 단순히 조건을 확인하고 조건이 충족되면 판매됩니다. 그리고 그렇지 않다면 그녀는 무엇을 할 것인가? 계획한 대로 코드의 이 특정 위치에서 조건이 충족될 때까지 기다려야 합니다.



비닌 이 썼다


왜 싸이클을 만들었을까? 조건이 없으면 종료하고 신호가 언제 나타날지 누가 알 때까지 기다리지 마십시오.

그렇기 때문에 프로그램이 조건이 충족될 때까지 기다려야 하는 코드의 이 위치에 주기를 만들었습니다. 당신은 처음으로 갈 수 없습니다. 조건 대기 루프를 올바르게 구현하는 방법은 무엇입니까?


그리고 여기 내 디자인이 있습니다.

void CheckSell()
{
while(!(NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits)))
{
Sleep(5);
RefreshRates();
}
Sell();
}


- 작동하고 테스터를 중단합니까? 아니면 전혀 작동하지 않습니까? 주어진 함수를 벗어나지 않고 조건이 충족될 때까지 올바르게 기다리는 방법을 정말로 알고 싶습니다.


답변 감사합니다!

 
Jahspear >> :


그러나 프로그램은 단순히 조건을 확인하고 조건이 충족되면 판매됩니다. 그리고 그렇지 않다면 그녀는 무엇을 할 것인가? 계획한 대로 코드의 이 특정 위치에서 조건이 충족될 때까지 기다려야 합니다.


그렇기 때문에 프로그램이 조건이 충족될 때까지 기다려야 하는 코드의 이 위치에 주기를 만들었습니다. 당신은 처음으로 갈 수 없습니다. 조건 대기 루프를 올바르게 구현하는 방법은 무엇입니까?


- 작동하고 테스터를 중단합니까? 아니면 전혀 작동하지 않습니까? 주어진 함수를 벗어나지 않고 조건이 충족될 때까지 올바르게 기다리는 방법을 정말로 알고 싶습니다.

프로그램이 작동할 가능성이 가장 높지만 기능을 종료하지 않고 조건을 기다리는 것은 잘못된 것입니다. 최소한 테스터는 절차가 완료될 때까지 새 틱을 발행하지 않을 것입니다.

조건이 충족되지 않으면 프로그램을 종료하고 테스터에게 제어권을 넘겨야 합니다. 예전에는 프로그램이 선형적이어서 자체적으로 주기를 갖고 위에서 오는 신호를 기다렸습니다. 이제 프로그램은 이벤트 기반이고 이벤트가 발생했습니다. 예를 들어 새 틱이 도착하고 이 이벤트에 대한 핸들러가 시작() 새 틱을 처리하는 데 필요한 모든 작업이 완료된 후 호출됩니다. 함수는 종료되어야 합니다. 자체적으로 디스패처를 구축하지 마십시오.

시작()에서 조건을 올바르게 확인하고 조건이 왔고 우리는 업무를 수행합니다. 아니요, 작업을 완료하고 다음 틱을 기다립니다. 이에 따라 우리는 이미 논리를 조정하고 있습니다.

 

또 다른 질문이 있습니다.

표시기는 별도의 창에 두 통화 쌍의 MA 라인을 표시합니다. 잘 작동합니다.

그러나 코드에 조건을 삽입하면:

" 악기 중 하나에 막대가 없으면 두 번째 악기에서 동일한 막대가 있는 것을 건너뜁니다( 고려하지 않음 )", 다음과 같습니다.

 int start ( )
  {
     int limit ;
     int counted_bars = IndicatorCounted ( ) ;
  //---- проверка на возможные ошибки
     if ( counted_bars < 0 ) return ( - 1 ) ;
  //---- последний посчитанный бар будет пересчитан
     if ( counted_bars > 0 ) counted_bars - = 10 ;
     limit = Bars - counted_bars ;
  //---- основной цикл
ВОТ Я СТАВЛЮ ЭТО УСЛОВИЕ  :
    for ( k = 0 ; k < iBars ( Symbol_1 , Period ( ) ) ; k + + )   {  
    int symb2Shift = iBarShift ( Symbol_2 , Period ( ) , iTime ( Symbol_1 , Period ( ) , k ) , true ) ;
    if ( symb2Shift ! = - 1 )                            { 
//---------------------------------
    for ( k = 0 ; k < limit ; k + + )
       {
       Symbol1 [ k ] =     ( iMA ( Symbol_1 , . . . . . k )  ;
       Symbol2 [ k ] =     ( iMA ( Symbol_2 , . . . . . k )  ;           
       } 
                        }
                       }
//----
    return ( 0 ) ;
  }

그런 다음 MT4는 1분 30초 - 2분 동안 멈춥니다. 그런 다음 칠면조가 작동하기 시작하지만 동시에 35-45 %를 소비합니다. 랜덤 액세스 메모리...

여기에 이유가 될 수 있습니다. 말하다 ?

 

안녕하세요!

예를 들어 12시 30분 에 수직선 으로 특정 막대(옵션에서 설정해야 함)를 강조 표시하고 차트에서 요일을 표시하는 간단한 표시기를 작성하는 방법을 알려주십시오(예: 최고점 위 어딘가). 매일)?

고맙습니다!