Vikon : 인쇄는 함수 내부에만 삽입할 수 있지만 인쇄 또는 경고가 작동하도록 이 함수를 호출하는 방법을 모르겠습니다. 세 가지 간단한 변수로 내 코드를 수정하여 도움을 줄 수 있습니까??? 글에 설명된 대로 다 하고 있는데 에디터가 건너뛰지 않거나, 뭔가가 추가되지 않거나, 이해가 안 되는 경우가 있어서 어떤 경우에도 벽에 도움을 요청하게 되었습니다. SKC에 감사드립니다.
class ASD { private : // Здесь располагаются переменные и функции, доступные только внутри класса int c( int m_a, int m_b) { m_a=a+b; m_b=a-b; int m_d=m_a+m_b; d=m_d; Print ( __FUNCTION__ ); return (c(m_a,m_b)); } public : int a; int b; int d; }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ ASD ar; voidOnStart () { //--- ar.a=InputA; ar.b=InputB; Alert ( "ar.a=" ,ar.a, "\nar.b=" ,ar.b, "\nar.d=" ,ar.d); } //+------------------------------------------------------------------+
class ASD { private : // Здесь располагаются переменные и функции, доступные только внутри класса public : int a; int b; int d; int c( int m_a, int m_b) { m_a=a+b; m_b=a-b; d=m_a+m_b; Print ( __FUNCTION__ ); return (d); } }; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ ASD ar; voidOnStart () { //--- ar.a=InputA; ar.b=InputB; Alert ( "ar.a=" ,ar.a, "\nar.b=" ,ar.b, "\nar.d=" ,ar.d, "\nar.c(" ,ar.a, "," ,ar.b, ")=" ,ar.c(ar.a,ar.b)); } //+------------------------------------------------------------------+
인쇄는 함수 내부에만 삽입할 수 있지만 인쇄 또는 경고가 작동하도록 이 함수를 호출하는 방법을 모르겠습니다. 세 가지 간단한 변수로 내 코드를 수정하여 도움을 줄 수 있습니까??? 글에 설명된 대로 다 하고 있는데 에디터가 건너뛰지 않거나, 뭔가가 추가되지 않거나, 이해가 안 되는 경우가 있어서 어떤 경우에도 벽에 도움을 요청하게 되었습니다. SKC에 감사드립니다.
당신은 경고 d.
어디에서 계산되나요?
//| TestASD.mq4 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int InputA= 1 ;
input int InputB= 3 ;
class ASD
{
private :
// Здесь располагаются переменные и функции, доступные только внутри класса
int c( int m_a, int m_b)
{
m_a=a+b; m_b=a-b;
int m_d=m_a+m_b;
d=m_d;
Print ( __FUNCTION__ );
return (c(m_a,m_b));
}
public :
int a;
int b;
int d;
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
ASD ar;
void OnStart ()
{
//---
ar.a=InputA;
ar.b=InputB;
Alert ( "ar.a=" ,ar.a, "\nar.b=" ,ar.b, "\nar.d=" ,ar.d);
}
//+------------------------------------------------------------------+
클래스 내에서 값을 인쇄합니다. 그런 다음 스크립트를 실행할 때 인쇄되는 내용을 로그에서 확인하세요.)
그리고 또한 아무것도
수업:
{
private :
// Здесь располагаются переменные и функции, доступные только внутри класса
int a_s;
int a_d;
int d;
int g ()
{d=a_s+a_d;
return (g());
}
public :
void fg ( int a, int b)
{ a_s=a;
a_d=b;
}
void sf ()
{g ();
Alert (d);}
};
스크립트
ASD ar;
void OnStart ()
{
ar.fg ( 3 , 5 );
ar.sf ();
}
그리고 또한 아무것도
수업:
그리고 또한 아무것도
//| TestASD.mq4 |
//| Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//| https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link "https://login.mql5.com/ru/users/artmedia70"
#property version "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int InputA= 1 ;
input int InputB= 3 ;
class ASD
{
private :
// Здесь располагаются переменные и функции, доступные только внутри класса
public :
int a;
int b;
int d;
int c( int m_a, int m_b)
{
m_a=a+b; m_b=a-b;
d=m_a+m_b;
Print ( __FUNCTION__ );
return (d);
}
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
ASD ar;
void OnStart ()
{
//---
ar.a=InputA;
ar.b=InputB;
Alert ( "ar.a=" ,ar.a, "\nar.b=" ,ar.b, "\nar.d=" ,ar.d, "\nar.c(" ,ar.a, "," ,ar.b, ")=" ,ar.c(ar.a,ar.b));
}
//+------------------------------------------------------------------+
명확하지 않습니다. 무엇을 얻고 싶습니까?
원하다:
1. 스크립트에서 클래스로 데이터 전송
2. 이 데이터의 합을 생성하는 클래스에서
3. 클래스에서 스크립트로 금액 전송
4. 스크립트의 데이터 합계를 모니터나 프린터로 출력합니다.
모두!
원하다:
1. 스크립트에서 클래스로 데이터 전송
2. 이 데이터의 합을 생성하는 클래스에서
3. 클래스에서 스크립트로 금액 전송
4. 스크립트의 데이터 합계를 모니터나 프린터로 출력합니다.
모두!
위의 예를 참조하십시오
그러나 그것은 또한 변수 a + b = d의 합을 제공하지 않지만 합 d가 필요합니다!
나는 그가 당신의 의견으로 정확히 무엇을 계산해야하는지 보여주지 않았습니다. 나는 계산된 값을 얻는 방법을 보여주었다 - c() 함수를 호출한다 ;
당신은 그것을 아무데도 부르지 않았고 d가 어떻게 든 스스로를 계산하기를 기다렸습니다.
그리고 c() 함수가 생각하는 것은 당신에게 달려 있습니다.
나는 그가 당신의 의견으로 정확히 무엇을 계산해야하는지 보여주지 않았습니다. 나는 계산된 값을 얻는 방법을 보여주었다 - c() 함수를 호출한다 ;
당신은 그것을 아무데도 부르지 않았고 d가 어떻게 든 스스로를 계산하기를 기다렸습니다.
그리고 c() 함수가 생각하는 것은 당신에게 달려 있습니다.
EA에서 함수를 만들고 호출하는 방법을 알고 사용합니다. 문제는 수업에서 발생했습니다!
나는 그가 당신의 의견으로 정확히 무엇을 계산해야하는지 보여주지 않았습니다. 나는 계산된 값을 얻는 방법을 보여주었다 - c() 함수를 호출한다 ;
당신은 그것을 아무데도 부르지 않았고 d가 어떻게 든 스스로를 계산하기를 기다렸습니다.
그리고 c() 함수가 생각하는 것은 당신에게 달려 있습니다.
이것이 클래스 내에서 함수를 호출하는 방법, 즉 private: public: 서로 작업하는 방법, 클래스에 데이터를 전달하고 클래스에서 결과를 얻는 방법의 요점입니다. 지금은 여기입니다!
그러나 또한 귀하의 기능은 아무 것도 계산하지 않습니다.