오류, 버그, 질문 - 페이지 1339

 
A100 :
무엇 때문에?
논리를 보려면.
 
Karputov Vladimir :
논리를 보려면.
인쇄됨 - 결과는 위에 설명되어 있습니다.
 
A100 :
인쇄됨 - 결과는 위에 설명되어 있습니다.
어디서 인쇄하셨나요? 결과는 어디에 있습니까? 모르겠어 - 인쇄 전후에 첨부하는 것을 잊으셨군요.
 
Karputov Vladimir :
어디서 인쇄하셨나요? 결과는 어디에 있습니까? 모르겠어 - 인쇄 전후에 첨부하는 것을 잊으셨군요.

재부팅 전 전에

재부팅 후 후에

 

포럼에 사진을 추가할 때 제목이 표시되지 않음

제목 필드를 채우십시오. 사진은 표시되지만 제목은 표시되지 않습니다

 
A100 :

프로필에서 그래프를 우회하는 다른 순서

프로필의 여러 차트에 새 차트를 추가하고 가운데로 이동하면

그런 다음 다음을 사용하여 스크립트를 사용하는 차트의 후속 열거와 함께

그는 중간에도 불구하고 마지막이 될 것입니다

그리고 MT를 다시 시작하면 새 열거로 그림과 같이 중간에 있습니다.

재부팅 전후에 다른 동작이 나타납니다. 논리는 어디에 있습니까?

"EURAUD", "EURCAD", "EURUSD" 및 "NZDUSD"를 추가하고 첫 번째 차트인 "EURAUD" 활성화

1 단계

"NZDUSD"는 "EURAUD" 뒤에 배치되고 첫 번째 차트인 "EURAUD"를 활성화합니다.

2 단계

재부팅 후(첫 번째 차트는 활성 상태로 유지됨 - "EURAUD")

3단계

모든 것이 절대적으로 논리적입니다. 스크립트를 호출하기 직전:

 //+------------------------------------------------------------------+
//|                                                    ChartNext.mq5 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//--- переменные для идентификаторов графиков
   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++; // не забудем увеличить счетчик
     }
  }
//+------------------------------------------------------------------+

활성 일정을 신중하게 선택해야 합니다. 다음 그래프 는 활성 그래프에서 계산됩니다.
 
Karputov Vladimir :

모든 것이 절대적으로 논리적입니다.

그리고 논리는 무엇입니까? 재부팅하기 전에 하나의 시퀀스가 2-3-4-5이고 재부팅 후에 또 다른 2-5-3-4가 있었다면?
 
A100 :
그리고 논리는 무엇입니까? 재부팅하기 전에 하나의 시퀀스가 2-3-4-5이고 재부팅 후에 또 다른 2-5-3-4가 있었다면?

재부팅하기 전에 프로필은 생성된 순서대로 기록됩니다(예: 1-2-3-4). 재부팅하기 전에 프로필이 다시 작성됩니다(차트 이동의 최신 개정판, 즉 1-4-2-3이 입력됨). 재부팅 후 차트 는 최신 버전의 차트 이동, 즉 1-4-2-3에 따라 다시 그려(생성) 됩니다.

그리고 이제 재부팅 후 차트가 1-4-2-3 순서로 생성 되었으므로 ChartNext() 가 정확히 이 순서를 반환한다는 의미입니다.

 
Karputov Vladimir :

재부팅하기 전에 프로필은 생성된 순서대로 기록됩니다(예: 1-2-3-4). 재부팅하기 전에 프로필이 다시 작성됩니다(차트 이동의 최신 개정판, 즉 1-4-2-3이 입력됨). 재부팅 후 차트 는 최신 버전의 차트 이동, 즉 1-4-2-3에 따라 다시 그려(생성) 됩니다.

문제는 현재 구현된 방식(다른 방식으로 구현 가능)이 아니라 재부팅(ceteris paribus) 전후에 다른 결과가 얻어지며 이는 논리가 손상되었음을 의미합니다.
 
A100 :
문제는 현재 구현된 방식(다른 방식으로 구현 가능)이 아니라 재부팅(ceteris paribus) 전후에 다른 결과가 얻어지며 이는 논리가 손상되었음을 의미합니다.
터미널을 로드한 후 차트가 다시 생성되고 이에 따라 ChartNext()가 올바르게 작동하기 때문에 논리가 손상되지 않았다고 생각합니다. 하지만 서비스 데스크에서 요청을 생성할 수 있습니다. 나중에 답변을 공유해 주세요.