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

 
sergeev :
키워드 = NULL
인쇄 시("next======",curwords.m_next!=NULL); 오류가 발생하지 않습니까?
 
fellow :
왜 Print("next======",curwords.m_next!=NULL); 오류가 발생하지 않습니까?

왜냐하면

키워드 .m_next !=NULL


객체를 생성 할 때 참조를 무효화합니까?

결국, 그녀는 만들 때 NULL이 아닌 자기가 있습니다.

게다가 개발자들은 CheckPointer 기능을 제공했습니다. 사용.

 
MoneyJinn :
인덱스가 0인 요소가 제거 되고 배열의 맨 마지막 요소 , 즉 인덱스(n-1)가 있는 요소가 제거되어야 합니다. 여기서 n은 배열의 크기입니다.
기다리다. 먼저 " ArrayResize()가 ArraySetAsSeries() = true일 때 배열 크기를 줄이는 데 실패했습니다 "라고 썼습니다. 저것들. "가장 신선한"요소에 인덱스 0이 있습니다. 맞습니까?
 

무효화

int OnInit()
{
firstwords.m_next=NULL; firstwords.m_prev=NULL;

결과는 같다

직접 해봐

 
fellow :

직접 해봐

나는 무엇을 시도해야합니까 :)

모든 것이 나를 위해 잘 작동합니다 :)

 

아이콘은 필요에 따라 사용자 정의하고 표시할 수 있습니다.

터미널은 계정 폴더에 씁니다.나는 바로 가기에 /portable 키를 지정합니다.

 
fellow :

무효화

int OnInit()
{
firstwords.m_next=NULL; firstwords.m_prev=NULL;

결과는 같다

직접 해봐

서비스 데스크에 작성 하십시오. 터미널의 OS, 비트 심도 및 빌드를 지정합니다. 문제가 지속적으로 재현되는 소스를 첨부하십시오. 우리는 이해할 것입니다.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
Yedelkin :

확인. 그럼 제가 가겠습니다. 그래서 Print() 함수 설명에 " Double type 데이터는 dot 뒤에 소수점 이하 16자리의 정확도로 출력된다."라고 되어 있다. 실제로 Print() 함수는 다소 반올림된 데이터를 출력하는 것으로 나타났습니다.

ND 0 Victorg2 (EURUSD,M1) 11:04:42 인쇄(b)= 200.0
MP 0 Victorg2 (EURUSD,M1) 11:04:42 Print(DoubleToString(b,16))= 199.999999999999716

주제를 불러주셔서 감사합니다. Print 기능에 대한 보다 완전한 새 예제가 도움말에 추가되었습니다.

예시:

 void OnStart ()
  {
//--- выведем DBL_MAX с помощью Print(), это равносильно PrintFormat(%%.16G,DBL_MAX)
   Print ( "---- как выглядит DBL_MAX -----" );
   Print ( "Print(DBL_MAX)=" , DBL_MAX );
//--- теперь выведем число DBL_MAX с помощью PrintFormat()
   PrintFormat ( "PrintFormat(%%.16G,DBL_MAX)=%.16G" , DBL_MAX );
//--- Вывод в журнал "Эксперты"
// Print(DBL_MAX)=1.797693134862316e+308
// PrintFormat(%.16G,DBL_MAX)=1.797693134862316E+308
 
//--- посмотрим как выводится тип float
   float c=( float ) M_PI ; // нужно явно приводить к целевому типу
   Print ( "c=" ,c, "    Pi=" , M_PI , "    (float)M_PI=" ,( float ) M_PI );
// c=3.14159    Pi=3.141592653589793    (float)M_PI=3.14159
   
//--- покажем, что может произойти при арифметических операциях над вещественными типами
   double a= 7 ,b= 200 ;
   Print ( "---- перед арифметическими операциями" );
   Print ( "a=" ,a, "   b=" ,b);
   Print ( "Print(DoubleToString(b,16))=" , DoubleToString (b, 16 ));
//--- разделим a на b (7/200)
   a=a/b;
//--- теперь как будто восстановим значение в переменной b
   b= 7.0 /a; // ожидается, что b=7.0/(7.0/200.0)=>7.0/7.0*200.0=200 - но это не так
//--- выведем вновь вычисленное значение b
   Print ( "----- после арифметических операций" );
   Print ( "Print(b)=" ,b);
   Print ( "Print(DoubleToString(b,16))=" , DoubleToString (b, 16 ));
//--- вывод в журнал "Эксперты"
// Print(b)=200.0
// Print(DoubleToString(b,16))=199.9999999999999716 (видим, что на самом деле b уже не равно 200.0)   
 
//--- создадим очень маленькое значение epsilon=1E-013
   double epsilon= 1 e- 13 ;
   Print ( "---- создадим очень маленькое число" );
   Print ( "epsilon=" ,epsilon); // получим   epsilon=1E-013
//--- теперь вычтем эпсилон из числа b и выведем снова значение в журнал "Эксперты"
   b=b-epsilon;
//--- выводим двумя способами
   Print ( "---- после вычитания epsilon из переменной b" );
   Print ( "Print(b)=" ,b);
   Print ( "Print(DoubleToString(b,16))=" , DoubleToString (b, 16 ));
//--- вывод в журнал "Эксперты"
// Print(b)=199.9999999999999  (теперь значение b после вычитания эпсилон не может округлиться до 200)
// Print(DoubleToString(b,16))=199.9999999999998578
//    (теперь значение b после вычитания эпсилон не может округлиться до 200)
  }
 

두 통화에 대한 포인트를 찾는 방법은 무엇입니까?

현재 도구:

 double P1= Point ();

통화 Symbol1 , Symbol2에 대해 말합니까?

 

SymbolInfoDouble (symbol_name, property)을 사용하여 포인트 크기 를 얻을 수 있습니다.

ENUM_SYMBOL_INFO_DOUBLE

식별자

설명

속성 유형

SYMBOL_BID

입찰 - 최고의 판매 제안

더블

SYMBOL_ASK

Ask - 최고의 구매 제안

더블

SYMBOL_LAST

마지막 거래가 이루어진 가격

더블

SYMBOL_POINT

한 점의 가치

더블

사유: