MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 895

 
lil_lil :

실제로는 아니지만 테스트에 유용할 것입니다. Expert Advisor가 연결된 후 지표를 온라인 차트에 첨부하고 싶습니다. 아마도?

시도하지 않았습니다. 이론적으로는 작동하지 않을 것입니다. 아직 실험을 해보지 않았기 때문일 수도 있습니다. 어드바이저가 로드될 때마다 어드바이저가 다시 시작 되는 템플릿이 적용되는 것으로 나타났습니다. 모든 것이 반복되고 템플릿이 적용되고 Expert Advisor의 새 복사본이 시작됩니다.

어쩌면 그것이 더 나을 수도 있습니다. 정말로 그것을 원하면 어드바이저와 지표가있는 템플릿을 적용 할 스크립트를 만드십시오.

 
참여해주셔서 감사합니다. 인터넷의 글로벌 터미널에서 ChartApplyTemplate() 을 호출하고 변수에 값을 할당하려고 하지만 ChartApplyTemplate()을 호출하기 전에 값을 확인하겠습니다.
 

여기요,

PERIOD_M1 의 30틱을 사용하여 막대를 만들려면 어떻게 해야 합니까?

내 분석을 위해 새로운 캐릭터를 만들고 싶습니다.

 
안녕하세요! 문제를 해결할 수 있도록 도와주세요. 저는 할 수 없습니다. 심볼 1의 활성 차트에서 작업하는 Expert Advisor의 코드에서 심볼 2의 활성 차트가 아닌 다른 차트에 수평선 을 그리는 것이 필요합니다. 심볼 2의 차트가 화면에 열려 있음을 의미합니다. 예를 들어 두 번째 SUI30 캐릭터의 경우 다음을 수행했습니다.
 double SUop0 = iOpen ( "SUI30" , PERIOD_H1 , 0 );
double lp = SUop0- 67 ;
double hp = SUop0+ 67 ; 

   Fun_New_Bar();
       if (New_Bar)      
         {
   ObjectCreate ( "SUI30" , "lineForBuy" , OBJ_HLINE , 0 , 0 ,lp);
   ObjectCreate ( "SUI30" , "lineForSell" , OBJ_HLINE , 0 , 0 ,hp);
         }
그러나 메타에디터는 '문자열'에서 '숫자'로 메시지를 암시적으로 변환합니다. 나에게 무엇이 문제이며 어떻게 해결해야 합니까? 고맙습니다.

 
novichok2018 :
안녕하세요! 문제를 해결할 수 있도록 도와주세요. 저는 할 수 없습니다. 심볼 1의 활성 차트에서 작업하는 Expert Advisor의 코드에서 심볼 2의 활성 차트가 아닌 다른 차트에 수평선 을 그리는 것이 필요합니다. 심볼 2의 차트가 화면에 열려 있음을 의미합니다. 예를 들어, 두 번째 SUI30 문자의 경우 이렇게 했습니다. 하지만 메타에디터는 '문자열'에서 '숫자'로의 암시적 변환 메시지를 제공합니다. 나에게 무엇이 문제이며 어떻게 해결해야 합니까? 고맙습니다.

다른 함수 오버로드를 사용해야 합니다.

 bool    ObjectCreate ( 
   long           chart_id,       // идентификатор графика 
   string         object_name,   // имя объекта 
   ENUM_OBJECT    object_type,   // тип объекта 
   int            sub_window,     // индекс окна 
   datetime       time1,         // время первой точки привязки 
   double         price1,         // цена первой точки привязки 
   ... 
   datetime       timeN= 0 ,       // время N-точки привязки 
   double         priceN= 0        // цена N-точки привязки 
   );

그리고 이 차트 식별자는 ChartFirst()에서 차트를 열거하여 찾아야 합니다.

 long    ChartNext ( 
   long   chart_id       // идентификатор графика
   );

문서의 예

 //--- переменные для идентификаторов графиков 
   long currChart,prevChart= ChartFirst (); 
   int i= 0 ,limit= 100 ; 
   Print ( "ChartFirst = " , ChartSymbol (prevChart), " ID = " ,prevChart); 
   while (i<limit) // у нас наверняка не больше 100 открытых графиков 
     { 
      currChart= ChartNext (prevChart); // на основании предыдущего получим новый график 
       if (currChart< 0 ) break ;           // достигли конца списка графиков 
       Print (i, ChartSymbol (currChart), " ID =" ,currChart); 
      prevChart=currChart; // запомним идентификатор текущего графика для ChartNext() 
      i++; // не забудем увеличить счетчик 
     }
 
Alexey Viktorov :

다른 함수 오버로드를 사용해야 합니다.

감사합니다. 해결하려고 합니다.

 
Alexey Viktorov :

다른 함수 오버로드를 사용해야 합니다.

그리고 이 차트 식별자는 ChartFirst()에서 차트를 열거하여 찾아야 합니다.

문서의 예

유감스럽게도 이해하려는 시도는 아무 소용이 없었습니다. 기존 메시지에 ChartNext() 함수 사용과 관련된 오류가 추가되었을 뿐입니다. 요점을 이해하지 못합니다.

 
novichok2018 :

유감스럽게도 이해하려는 시도는 아무 소용이 없었습니다. 기존 메시지에 ChartNext() 함수 사용과 관련된 오류가 추가되었을 뿐입니다. 요점을 이해하지 못합니다.

일을 더 쉽게 하기 위해 상수 차트 ID를 사용할 수 있습니다. 스크립트 작성

 Print ( ChartID ());

이 선을 그리려는 차트에서 실행하십시오. 그런 다음 이 값을 차트 ID 로 함수에 입력합니다.

그리고 문서의 예를 들어, 이것은 가져 와서 사용하는 것과 같이 미리 만들어진 기능이 아닙니다. 반복 주기에서 기호와 마침표를 확인해야 합니다. 필요한 것을 찾으면 루프를 종료하고 수신된 식별자를 적용하십시오.

 

플러그 - 인 오픈 CL의 cl_ 상수이며 수신 1024 두개의 전원을 다시 검사 #DEFINE CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 인 파일을 포함한다. 바로 아래 번호 파이 ^ 2 = 1,024 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216

~ 후에

#define CL_M_PI 3.141592653589793115998

3.141592653589793238462643383279502884197169

이유를 설명해주세요????

 
Alexey Viktorov :

일을 더 쉽게 하기 위해 상수 차트 ID를 사용할 수 있습니다. 스크립트 작성

이 선을 그리려는 차트에서 실행하십시오. 그런 다음 이 값을 차트 ID 로 함수에 입력합니다.

그리고 문서의 예를 들어, 이것은 가져 와서 사용하는 것과 같이 미리 만들어진 기능이 아닙니다. 반복 주기에서 문자와 마침표를 확인해야 합니다. 필요한 것을 찾으면 루프에서 빠져 나와 수신된 식별자를 적용합니다.

고맙습니다. 모든 것이 스크립트로 해결되었으며 선을 그립니다.