3가지 함수가 있습니다:( int GetCrossingMa , int GetStochSignal 및 intGetSignal() )
int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다. 이 값은 기본이 아닌 함수( int GetCrossingMa및int GetStochSignal ) 적절한 신호를 가져옵니다. 다른 기능에서 동일한 데이터를 받지 않기 위해 이렇게 하고 싶습니다. 제 생각에는 같은 차를 2개 이상의 기능으로 계산하는 것은 합리적이지 않습니다. 한 번 계산하고 모든 것이 더 쉽습니다. 왜 이것에 추가 자원을 낭비합니까?
3가지 함수가 있습니다:( int GetCrossingMa , int GetStochSignal 및 intGetSignal() )
int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다. 이 값은 기본이 아닌 함수( int GetCrossingMa및int GetStochSignal ) 적절한 신호를 가져옵니다. 다른 기능에서 동일한 데이터를 받지 않기 위해 이렇게 하고 싶습니다. 제 생각에는 같은 차를 2개 이상의 기능으로 계산하는 것은 합리적이지 않습니다. 한 번 계산하면 더 쉽습니다. 왜 이것에 추가 자원을 낭비합니까?
function int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 는 크로스오버 신호를 얻습니다.
int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 함수 는 스토캐스틱에서 신호를 받습니다.
void GetMomentumSignal() 함수 는 운동량 값을 가져옵니다.
int GetSignal() 함수는 앞의 3가지 함수 뿐만 아니라 공통 신호를 받게 되는데 문제는 이것이다. int GetSignal() 함수 는 말하자면 가장 중요하고 그 안에서 메인 시그널을 얻기 때문에 틱( i_maFast1 , i_maFast2 , i _maSlow1 , i_maSlow2 )의 모든 값과 확률론( stochD1 , stochD2 , stochK1 , stochK2 )
코드 최적화 측면에서 올바른 일을 하고 있습니까?
예, 하지만 GetSignal() 함수 에서 수신된 모든 매개변수 는 해당 함수에 대한 참조로 전달됩니다.
하지만 이 지역에서
컴파일하는 동안 오류가 발생합니다.
왜요?
이것은 우리가 필요로 하는 바에서 신호를 검색하는 변형일 수 있습니다.
//+---------------------------------------------------------------------------------------+//| Проверка пересечения скользящих средних |//+---------------------------------------------------------------------------------------+int GetCrossingMa ( int fi_Bar = 1 )
{
double i_maFast1 = iMA ( Symbol (), i_TF, i_maFastPeriod, i_maFastShift, i_maFastMethod, 0 , fi_Bar), // Вычисляем быстрые скользящие..
i_maFast2 = iMA ( Symbol (), i_TF, i_maFastPeriod, i_maFastShift, i_maFastMethod, 0 , fi_Bar + 1 ), //..средние
i_maSlow1 = iMA ( Symbol (), i_TF, i_maSlowPeriod, i_maSlowShift, i_maSlowMethod, 0 , fi_Bar), // Вычисляем медленные скользящие..
i_maSlow2 = iMA ( Symbol (), i_TF, i_maSlowPeriod, i_maSlowShift, i_maSlowMethod, 0 , fi_Bar + 1 ); //..средние//----if (i_maFast2 < i_maSlow2) if (i_maFast1 > i_maSlow1) // Если быстрая скользящая пересекла медленную снизу вверх..return (CROSSINGTOUP); //.. значит, - пересечение вверхif (i_maFast2 > i_maSlow2) if (i_maFast1 < i_maSlow1) // Если быстрая скользящая средняя пересекла медленную сверху вниз..return (CROSSINGTODOWN); //..значит, - пересечение вниз//----return (CROSSINGWAIT); // Ожидаем пересечения
}
//+---------------------------------------------------------------------------------------+//| Получение сигнала от Стохастика |//+---------------------------------------------------------------------------------------+int GetStochSignal ( int fi_Bar = 1 )
{
double stochD1 = iStochastic ( Symbol (), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0 , 0 , 1 , fi_Bar), // Вычисляем значения сигнальной линии..
stochD2 = iStochastic ( Symbol (), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0 , 0 , 1 , fi_Bar + 1 ), //..стохастика
stochK1 = iStochastic ( Symbol (), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0 , 0 , 0 , fi_Bar), // Вычисляем значения главной линии..
stochK2 = iStochastic ( Symbol (), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0 , 0 , 0 , fi_Bar + 1 ); //..стохастика//----if (stochD2 < stochK2) if (stochD1 > stochK1) // Если сигнальная линия пересекла главную снизу вверх..return (CROSSINGTOUP); //..значит, - пересечение вверхif (stochD2 > stochK2) if (stochD1 < stochK1) // Если сигнальная линия пересекла главную сверху вниз..return (CROSSINGTODOWN); // ..значит, - пересечение вниз
}
//----return (CROSSINGWAIT); // Ожидаем пересечения
}
//+---------------------------------------------------------------------------------------+//| Получение сигнала от Моментума |//+---------------------------------------------------------------------------------------+double GetMomentumSignal ( int fi_Bar = 0 )
{ return ( iMomentum ( Symbol (), i_TF, i_momPeriod, 0 , fi_Bar));}
//+---------------------------------------------------------------------------------------+//| Получение общего сигнала для входа в рынок |//+---------------------------------------------------------------------------------------+int GetSignal ( int fi_Bar = 1 )
{
int li_Signal;
//----double ld_SignalMomentum = GetMomentumSignal (fi_Bar);
int li_SignalStoch = GetStochSignal (fi_Bar),
li_CrossingMA = GetCrossingMa (fi_Bar);
//----return (li_Signal);
}
그리고 마지막 GetSignal() 함수에서 모든 신호를 (자체적으로) "추가"합니다.
PS 표시기에서 신호를 수신하는 데 "얇은" 순간이 있습니다. 예를 들어, maSlow가 maFast 위/아래에 있다는 사실을 수정하거나 교차하는 순간을 "잡을" 수 있습니다. 접근 방식과 코드가 다릅니다.
3가지 함수가 있습니다:( int GetCrossingMa , int GetStochSignal 및 intGetSignal() )
int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다. 이 값은 기본이 아닌 함수( int GetCrossingMa및int GetStochSignal ) 적절한 신호를 가져옵니다. 다른 기능에서 동일한 데이터를 받지 않기 위해 이렇게 하고 싶습니다. 제 생각에는 같은 차를 2개 이상의 기능으로 계산하는 것은 합리적이지 않습니다. 한 번 계산하고 모든 것이 더 쉽습니다. 왜 이것에 추가 자원을 낭비합니까?
설명은 명확하지만 행동은 그렇지 않습니다. 다음은 다음과 같습니다. " int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다 . " 버전의 작업은 "의심스러운" 것입니다. 그러한 조치가 필요합니다.
이 코드:
for ( int i= 1 ;i<= Bars ;i++)
{
double i_maFast1 = iMA ( Symbol (),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod, 0 ,i); // Вычисляем быстрые скользящие..double i_maFast2 = iMA ( Symbol (),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod, 0 ,i+ 1 ); //..средниеdouble i_maSlow1 = iMA ( Symbol (),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod, 0 ,i); // Вычисляем медленные скользящие..double i_maSlow2 = iMA ( Symbol (),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod, 0 ,i+ 1 ); //..средниеdouble stochD1 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 1 ,i); // Вычисляем значения сигнальной линии..double stochD2 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 1 ,i+ 1 ); //..стохастикаdouble stochK1 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 0 ,i); // Вычисляем значения главной линии..double stochK2 = iStochastic ( Symbol (),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing, 0 , 0 , 0 ,i+ 1 ); //..стохастика
}
full P.... 여기서 무슨 일이 일어나고 있는지 아십니까??? -전체 "막대 행"을 살펴 보는 것은 쓸모가 없으며주기가 끝나면 값이 변수에 남아 있습니다 ... 그런 다음 스스로 추측하십시오.
왼쪽 코드를 자세히 살펴보는 것을 좋아하지 않지만 double 뒤에 함수에 &(!)가 있는 이유가 바로 눈에 들어왔습니다. 이것은 오류를 제공합니다!
글쎄요, 모두 논리적입니다. 이것은 참조로 매개변수를 전달하는 것을 의미합니다.
코드를 칠하지 않기 위해 간단히 설명하겠습니다.
3가지 함수가 있습니다:( int GetCrossingMa , int GetStochSignal 및 int GetSignal() )
int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다. 이 값은 기본이 아닌 함수( int GetCrossingMa 및 int GetStochSignal ) 적절한 신호를 가져옵니다. 다른 기능에서 동일한 데이터를 받지 않기 위해 이렇게 하고 싶습니다. 제 생각에는 같은 차를 2개 이상의 기능으로 계산하는 것은 합리적이지 않습니다. 한 번 계산하고 모든 것이 더 쉽습니다. 왜 이것에 추가 자원을 낭비합니까?
글쎄요, 모두 논리적입니다. 이것은 참조로 매개변수를 전달하는 것을 의미합니다.
코드를 칠하지 않기 위해 간단히 설명하겠습니다.
3가지 함수가 있습니다:( int GetCrossingMa , int GetStochSignal 및 int GetSignal() )
int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다. 이 값은 기본이 아닌 함수( int GetCrossingMa 및 int GetStochSignal ) 적절한 신호를 가져옵니다. 다른 기능에서 동일한 데이터를 받지 않기 위해 이렇게 하고 싶습니다. 제 생각에는 같은 차를 2개 이상의 기능으로 계산하는 것은 합리적이지 않습니다. 한 번 계산하면 더 쉽습니다. 왜 이것에 추가 자원을 낭비합니까?
MKL4 이외의 언어로 프로그래밍한 적이 있습니까?
내 테스트 훈련 원시 올빼미는 다음과 같습니다.
function int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 는 크로스오버 신호를 얻습니다.
int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 함수 는 스토캐스틱에서 신호를 받습니다.
void GetMomentumSignal() 함수 는 운동량 값을 가져옵니다.
int GetSignal() 함수는 앞의 3가지 함수 뿐만 아니라 공통 신호를 받게 되는데 문제는 이것이다. int GetSignal() 함수 는 말하자면 가장 중요하고 그 안에서 메인 시그널을 얻기 때문에 틱( i_maFast1 , i_maFast2 , i _maSlow1 , i_maSlow2 )의 모든 값과 확률론( stochD1 , stochD2 , stochK1 , stochK2 )
코드 최적화 측면에서 올바른 일을 하고 있습니까?
예, 하지만 GetSignal() 함수 에서 수신된 모든 매개변수 는 해당 함수에 대한 참조로 전달됩니다.
하지만 이 지역에서
컴파일하는 동안 오류가 발생합니다.
이것은 우리가 필요로 하는 바에서 신호를 검색하는 변형일 수 있습니다.
그리고 마지막 GetSignal() 함수에서 모든 신호를 (자체적으로) "추가"합니다.
PS 표시기에서 신호를 수신하는 데 "얇은" 순간이 있습니다. 예를 들어, maSlow가 maFast 위/아래에 있다는 사실을 수정하거나 교차하는 순간을 "잡을" 수 있습니다. 접근 방식과 코드가 다릅니다.
MKL4 이외의 언어로 프로그래밍한 적이 있습니까?
글쎄요, 모두 논리적입니다. 이것은 참조로 매개변수를 전달하는 것을 의미합니다.
코드를 칠하지 않기 위해 간단히 설명하겠습니다.
3가지 함수가 있습니다:( int GetCrossingMa , int GetStochSignal 및 int GetSignal() )
int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다. 이 값은 기본이 아닌 함수( int GetCrossingMa 및 int GetStochSignal ) 적절한 신호를 가져옵니다. 다른 기능에서 동일한 데이터를 받지 않기 위해 이렇게 하고 싶습니다. 제 생각에는 같은 차를 2개 이상의 기능으로 계산하는 것은 합리적이지 않습니다. 한 번 계산하고 모든 것이 더 쉽습니다. 왜 이것에 추가 자원을 낭비합니까?
설명은 명확하지만 행동은 그렇지 않습니다.
다음은 다음과 같습니다. " int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다 . " 버전의 작업은 "의심스러운" 것입니다. 그러한 조치가 필요합니다.
이 코드:
full P.... 여기서 무슨 일이 일어나고 있는지 아십니까??? -전체 "막대 행"을 살펴 보는 것은 쓸모가 없으며주기가 끝나면 값이 변수에 남아 있습니다 ... 그런 다음 스스로 추측하십시오.
약간의 진주와 PHP 비트. 그러나 그는 다른 언어에 진지하게 접근하지 않았습니다. 필요가 없었습니다. 상관이 있나?
네. 그것은 가지고 있습니다. 이 경우 " 내 의견으로는" 모든 것을 제거하십시오 (즉, 없어야 함) "합리적 이지 않음".
당신은 그것을 올바른 방법으로합니다! "추가 자원 지출 "을 포함 합니다.
교과서와 부두 외에도 BASE와 ABC 를 주의 깊게 읽으십시오. 모든 것이 정리되어 있습니다!
설명은 명확하지만 행동은 그렇지 않습니다.
다음은 다음과 같습니다. " int GetSignal() 함수에서 틱 및 기타 표시기의 값을 얻습니다 . " 버전의 작업은 "의심스러운" 것입니다. 그러한 조치가 필요합니다.
이 코드:
full P.... 여기서 무슨 일이 일어나고 있는지 아십니까??? -전체 "막대 행"을 살펴 보는 것은 쓸모가 없으며주기가 끝나면 값이 변수에 남아 있습니다 ... 그런 다음 스스로 추측하십시오.
물론 이해합니다. 빠르고 느린 마스카라의 값과 신호선 스토캐스틱은 특정 TF의 각 막대가 닫힐 때마다 시간의 매 순간에 발견됩니다. 그런 다음 교차 지점이 그려집니다. 그렇다면 무엇이 논리적이지 않습니까?
네. 그것은 가지고 있습니다. 이 경우 " 내 의견으로는" 모든 것을 제거하십시오 (즉, 없어야 함) "합리적 이지 않음".
당신은 그것을 올바른 방법으로합니다! "이를 위해 추가 리소스 낭비 "를 포함 합니다.
교과서와 부두 외에도 BASE와 ABC 를 주의 깊게 읽으십시오. 모든 것이 정리되어 있습니다!
그래서 읽고 또 읽었습니다.
그리고 " 이 경우 모든 것을 제거하십시오 (즉, 없어야 함)"는 무엇을 의미합니까? 무엇을 청소할 것인가?
그래서 읽고 또 읽었습니다.
그리고 " 이 경우 모든 것을 제거하십시오 (즉, 없어야 함)"는 무엇을 의미합니까? 무엇을 청소할 것인가?
" 같은 데이터를 다른 기능으로 받지 않도록 하고 싶습니다. 같은 타자기를 2개 이상의 기능으로 계산하는 것은 합당하지 않습니다. 한 번만 계산하면 끝입니다. 왜 여기에 추가 리소스를 사용합니까?"
문서에 쓰여진 대로 하고 바퀴를 재발명할 필요가 없습니다.
그리고 이 주기는 어떻습니까?
단계를 직접 수행하십시오. 종료하면 어떻게 되며 다음에 무엇을 합니까? 브래드가 완성되었습니다.
교과서에서와 같이 - 거래 기준의 트리거링을 결정하기 위한 이 기능의 모든 거래 신호 는 순차적입니다(다른 기능에서 다른 신호를 래핑한 다음 이러한 거래 기준의 트리거링을 확인할 때만 작업할 수 있음), 다음 조건 그들의 방아쇠.
여기에서 읽으십시오:
" 소프트웨어 솔루션
초보자는 어디서부터 시작해야 할까요?마지막 프랙탈의 가격을 찾는 방법은 무엇입니까?
두 MA의 교차 신호를 얻는 방법은 무엇입니까?
필요한 불일치가 주어지면 MA의 교차를 확인하는 방법은 무엇입니까? "