정말 감사합니다! 나는 양초의 특성(더 많이, 더 적게 등)을 비교하기 위해 이것을 필요로 했습니다. 나사를 조이고 작동합니다. 나는 그가 어떻게 문자열 데이터 유형을 그런 식으로 비교하는지 이해할 수 없습니까? 또는 double을 string으로 변환하면 숫자를 문자열로 변환하지 않습니까? :-디
추신. 인디케이터에서는 안되고 스크립트에서만... 문제는 차트의 프로그램에서는 막대 특성이 소수점 5자리로 전송되는데 High[i]를 호출하면 소수점 4자리만 나온다는 것입니다. 밖으로.
쓰기:
Alert("doubletostr 높음 = ", DoubleToStr(높음[1],5)); if (DoubleToStr(High[2],5)>(DoubleToStr(High[3],5))) { Alert("더보기"); } if (DoubleToStr(High[2],5)<(DoubleToStr(High[3],5))) { Alert("덜");
}
쟁기는 결과를 다섯 자리로 쓰고 더 많거나 적게 계산합니다. 문제는 지표의 문자열 배열이 차트에 표시되지 않는다는 것입니다. 그래서...
정말 감사합니다! 나는 양초의 특성(더 많이, 더 적게 등)을 비교하기 위해 이것을 필요로 했습니다. 나사를 조이고 작동합니다. 나는 그가 어떻게 문자열 데이터 유형을 그런 식으로 비교하는지 이해할 수 없습니까? 또는 double을 string으로 변환하면 숫자를 문자열로 변환하지 않습니까? :-디
추신. 인디케이터에서는 안되고 스크립트에서만... 문제는 차트의 프로그램에서는 막대 특성이 소수점 5자리로 전송되는데 High[i]를 호출하면 소수점 4자리만 나온다는 것입니다. 밖으로.
쓰기:
Alert("doubletostr 높음 = ", DoubleToStr(높음[1],5));
if (DoubleToStr(High[2],5)>(DoubleToStr(High[3],5)))
{
Alert("더보기");
}
if (DoubleToStr(High[2],5)<(DoubleToStr(High[3],5)))
{
Alert("덜");
}
쟁기는 결과를 다섯 자리로 쓰고 더 많거나 적게 계산합니다. 문제는 지표의 문자열 배열이 차트에 표시되지 않는다는 것입니다. 그래서...
...쓰기:
Alert("Normalizedouble 높음 = ", NormalizeDouble(High[1],5));
쟁기질하지 않음 - 결과 - > 1.1234
나는 개발자를 이해하지 못합니다. 왜 그렇게 복잡하게 만드나요? 그래프에 너무 많은 기호가 표시되면 호출된 함수의 5개 기호를 긁지 않는 이유는 무엇입니까? 간단한 탈출구가 있습니까?
더 흥미로운:
번역하다
Alert("iFractals doubletostr= ", DoubleToStr(iFractals(0,0,MODE_UPPER,2), Digits ));
쓰기: 1.32169 - 확인
StrToDouble을 사용하여 숫자 값으로 다시 변환:
Alert("iFractals StrToDoubledoubletostr= ", StrToDouble(DoubleToStr(iFractals(0,0,MODE_UPPER,2),Digits)));
결과: 1.3217
Jackie Chan이 칩을 이해하지 못하는 밈이 있어야 합니다.)
그리고 Alert는 실제로 무엇을 제공합니까?
쓰여진 0.01 그러나 실제로는 0...0100입니다.
더 흥미로운:
번역하다
Alert("iFractals doubletostr= ", DoubleToStr(iFractals(0,0,MODE_UPPER,2),Digits));
쓰기: 1.32169 - 확인
StrToDouble을 사용하여 숫자 값으로 다시 변환:
Alert("iFractals StrToDoubledoubletostr= ", StrToDouble(DoubleToStr(iFractals(0,0,MODE_UPPER,2),Digits)));
결과: 1.3217
Jackie Chan이 칩을 이해하지 못하는 밈이 있어야 합니다.)
DoubleToStr()은 원하는 정밀도로 메시지를 표시하는 데 사용됩니다. 표준 Print() , Alert() 등은 4자리 정밀도로 인쇄합니다.
필요한 정밀도로 숫자를 보려면 계산이 아닌 DoubleToStr()을 사용하십시오.
앞뒤로 번역 할 필요가 없습니다 ... ;)
쓰여진 0.01 그러나 실제로는 0...0100입니다.
출력은 100 * point = 100 * 0.00001 = 0.001pp입니다(5 자리 의 경우)
위에서 lBUY 값이 변경되었습니다. 따라서 내가 볼 때 조건은 다음과 같습니다.
실행되지 않습니다. 따라서 lBUY 의 가치는 그대로 유지됩니다.
변수 j는 함수의 맨 처음에 음수 값으로 명시적으로 초기화되어야 합니다. 시도 해봐. 더 이상 아무것도 보지 않았습니다.
흠. 지금까지는 동일합니다. 여기 우리가 가진 것이 있습니다:
DoubleToStr()은 원하는 정밀도로 메시지를 표시하는 데 사용됩니다. 4자리 정밀도로 표준 Print(), Alert() 등을 출력합니다.
필요한 정밀도로 숫자를 보려면 계산이 아닌 DoubleToStr()을 사용하십시오.
앞뒤로 번역 할 필요가 없습니다 ... ;)
이것은 이해할 수 있습니다 ... 지금 ...) 그러나 요점은 어떻게 든 계산을 위해 다섯 번째 숫자를 선택해야한다는 것입니다 (
그리고 DoubleToStr()이 이에 적합하지 않다면 일반적으로 이 가능성이 이 언어에서 제공되지 않습니까? 오, 그것은 매우 이상합니다. 개발자들이 이것을 예상하지 못했습니까?
흠. 지금까지는 동일합니다. 여기 우리가 가진 것이 있습니다:
이것은 이해할 수 있습니다 ... 지금 ...) 그러나 요점은 어떻게 든 계산을 위해 다섯 번째 숫자를 선택해야한다는 것입니다 (
그리고 DoubleToStr()이 이에 적합하지 않다면 일반적으로 이 가능성이 이 언어에서 제공되지 않습니까? 오, 그것은 매우 이상합니다. 개발자들이 이것을 예상하지 못했습니까?
프로그래머님! 어드바이저와 지표를 결합하는 방법을 알려주십시오.
예를 들어, 자체 알고리즘으로 거래하는 간단한 mo_bidir.mq4 봇을 사용했는데 해당 알고리즘에 따라 거래를 계속 열려면 이 봇이 필요하지만 3x MA 신호 후에는 -
예를 들어 신호에 따르면 - 3개의 이동 평균 :
FastEMA>MediumEMA>SlowEMA( 경향 위로 ) - 봇 구매
FastEMA<MediumEMA<SlowEMA( 경향 아래로 ) – 봇 팔다
Inp_Signal_ThreeEMA_FastPeriod = 8;
Inp_Signal_ThreeEMA_MediumPeriod = 38;
Inp_Signal_ThreeEMA_SlowPeriod = 48;
또한 어드바이저가 5분 차트에서 계속 거래하고 지표가 일일 또는 4시간 시간대의 신호를 제공하여 봇 설정에서 시간대를 변경할 수 있도록 해야 합니다.