MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1857

 
Порт-моне тв 의 시작 시간을 얻는 방법과 두 번째 및 후속 주문의 시작 가격을 얻는 방법은 다음과 같습니다. OpenOrderPrice()와 유사하게 첫 번째 가격도 반환합니다.

모든 것을 수집(또는 기억/알기)하고 개장 시간별로 정렬합니다. 즉, 개장 시간은 변하지 않습니다 :-)

조언자의 논리가 1개 이상의 주문(예: 그리드)의 존재를 암시하는 경우 기꺼이 암기해야 합니다. 또는 속도를 늦추고 재채기할 때마다 모든 것을 분류합니다.

 
Mykhailo Turovskyi # :
말해봐, 히스토리의 이익은 파란색 원으로 표시됩니다. 이것은 이미 커미션과 스왑을 뺀 것입니까?
아니요.
 
Порт-моне тв 의 시작 시간을 얻는 방법과 두 번째 및 후속 주문의 시작 가격을 얻는 방법은 다음과 같습니다. OpenOrderPrice()와 유사하게 첫 번째 가격도 반환합니다.

OrderSelect() 함수에 의해 어떤 주문이 선택될 것인지, 당신은 그 주문의 시간과 가격을 얻을 것입니다.

 
Mihail Matkovskij # :

내가 아는 한 문서에는 이에 대한 언급이 없습니다. 따라서 안전하게 플레이하는 것이 좋습니다. 확실히 악화되지 않습니다.

이 절차에 CPU 시간이 많이 걸린다는 불만이 있었습니다.

마이클 마트코프스키   # :

SL과 TP에 관해서는   합의. 그래서 그들은   확실히   숫자 값에 따라 정규화 합니다.

여기에서는 어쨌든 저자의 생각을 인식할 필요가 있다.

 
Andrey Sokolov # :

이 절차에 CPU 시간이 많이 걸린다는 불만이 있었습니다.

계산된 SL 및 TP의 정규화에는 2배 더 많은 시간이 걸립니다. 그러나 이것이 최적화에 강력한 영향을 미친다고 말하지는 않겠습니다. 로봇 테스트에는 더욱 그렇습니다.

여기에서는 어쨌든 저자의 생각을 인식할 필요가 있다.

문서는 계산된 수준을 정규화하기 위해 흑백으로 말합니다! 그리고 "작가의 생각"은 무엇입니까? SL과 TP를 정규화하지 않는 이유는 무엇입니까? 명백한 사실이 있기 때문에 나는 당신과 논쟁하지 않을 것입니다!

 
Порт-моне тв 의 시작 시간을 얻는 방법과 두 번째 및 후속 주문의 시작 가격을 얻는 방법은 다음과 같습니다. OpenOrderPrice()와 유사하게 첫 번째 가격도 반환합니다.

이것이 질문인 경우 첫 번째 티켓을 받고 티켓이 != 첫 번째인 첫 번째 및 이후의 티켓을 선택합니다.

 
Mihail Matkovskij # :

계산된 SL과 TP를 정규화하는 데 두 배의 시간이 걸립니다. 그러나 이것이 최적화에 강력한 영향을 미친다고 말하지는 않겠습니다. 로봇 테스트에는 더욱 그렇습니다.

영향, 그리고 이 포럼에서 주어진 절차의 단순화에 대한 질문이 있었습니다.

정상화되지 않은 가격으로 수신되어 오류가 발생한 경우는 모르겠습니다.

도움말에서:

마이클 마트코프스키   # :

그리고 "작가의 생각"은 무엇입니까? SL과 TP를 정규화하지 않는 이유는 무엇입니까? 명백한 사실이 있기 때문에 나는 당신과 논쟁하지 않을 것입니다!

아이디어는 반올림 수 있습니다. 이론적으로 이것은 이런 식으로 수행되지 않지만 이 방법은 더 작은 자릿수로 반올림하는 경우 가격이 SL 및 TP에 대해 정확하다면 작동할 것입니다. 이에 따르면 어떤 경우에도 의도한 것이 무엇인지 알아낼 필요가 있습니다.

 
Urman Ru 도형을 얻다   이 표시기의 버퍼에서. 가장 높고 낮지만 표준은 아니지만 왼쪽은 i-2, 오른쪽은 0이므로 결과를 덮어쓰지 않습니다.

이 표시기의 코드에 대략적으로 추가하여 직접 해결하려고 했지만 작동하지 않습니다. 컴파일되고 오류가 없지만.

아마도 iCustom과 표시기의 핸들을 통해 필요할까요?

문제를 식별하려고 시도한 후 정확히 작동하지 않는 것을 더 자세히 설명하면 답변을 받을 확률이 훨씬 높아집니다.

 
Mihail Matkovskij # :

계산된 SL 및 TP의 정규화에는 2배 더 많은 시간이 걸립니다. 그러나 이것이 최적화에 강력한 영향을 미친다고 말하지는 않겠습니다. 로봇 테스트에는 더욱 그렇습니다.

더욱이 어떤 사람들은 다음과 같은 간단한 검사를 무시합니다.

 if (name == NULL )
   return ;

CPU 시간이 많이 걸릴 것이라고 믿습니다 :)

그러나 실제로 ObjectCreate 및 ObjectDelete와 같은 기능은 CPU 시간이 걸립니다. 프로그래머가 유효한 그래픽 개체 배열을 가지고 있고 모든 틱마다 삭제되고 다시 생성된다면 이에 대해 확실히 조치를 취해야 합니다. 간단한 확인 및 계산은 시간상 무시할 수 있습니다. 따라서 많은 프로그래머가 단순히 잘못된 위치를 찾고 있습니다.

 
Andrey Sokolov # :

영향, 그리고 이 포럼에서 주어진 절차의 단순화에 대한 질문이 있었습니다.

나는 그것이 누구에게 또는 무엇에 영향을 미치는지 모릅니다. NormaizeDouble에 문제가 발생한 적이 없습니다. 그런 점에서 모든 코드는 응용 프로그램의 속도에 영향을 줍니다. 그러나 모든 것이 매우 중요한 경우 OnTick 또는 OnCalculate 처리기를 비워 둘 수 있습니다. 그러면 응용 프로그램이 일반적으로 날아갑니다. :) 또는 어셈블러에서 함수를 다시 작성하고 DLL로 컴파일하고 응용 프로그램에 연결하십시오.

정상화되지 않은 가격으로 수신되어 오류가 발생한 경우는 모르겠습니다.

그러나 문서는 알고 있습니다! 그리고 당신은 문서의 조언을 무시합니다. 당신이 원하는대로. 그것은 당신에게 달려 있습니다. 제 생각에는 모든 것이 분명하며 이것에 대해 당신과 논쟁하지 않을 것입니다. 다시 한 번 반복합니다!

아이디어는 반올림 수 있습니다.

반올림은 없지만 소수점 이하 2자리 이상은 모두 잘라냅니다.

 NormalizeDouble ((Ask1+StopLoss*Point1), 2 )

작가의 의도는 나도 모르겠다. 하지만 난 필요하지 않습니다. 나는 그가 스스로 해결할 것이라고 생각합니다.