시장에 게시된 Expert Advisors에서 최소 스톱을 확인합니다. - 페이지 2

 
Vladislav Andruschenko :

동의합니다. 제어권을 주지는 않지만 유형별로 이것이 어떻게 요구되는지 알고 있습니다. 중지를 설정하고 싶습니다. 설정을 합니다.

그리고 메시지의 출력에 대해 - 감사합니다 그것에 대해 생각하겠습니다.

나는 모든 어드바이저에서 두 옵션을 모두 사용합니다. 매개 변수의 손절매 가 0으로 설정되면 Expert Advisor에서 계산하고 0보다 크게 설정하면 정확성을 확인하고 이미 설정된 값을 설정합니다. 손절매가 전혀 사용되지 않는 Expert Advisors는 예외가 될 수 있습니다.
 
Vitalii Ananev :
나는 모든 어드바이저에서 두 옵션을 모두 사용합니다. 매개 변수의 손절매 가 0으로 설정되면 Expert Advisor에서 계산하고 0보다 크게 설정하면 정확성을 확인하고 이미 설정된 값으로 설정합니다. 손절매가 전혀 사용되지 않는 Expert Advisors는 예외가 될 수 있습니다.

예, 하지만 그러한 칩은 서버의 stopmin = 0인 경우 매크로의 정확성으로 작동하지 않습니다.

이전에는 이 수표를 받았습니다.

이제 시장의 중재자는 특별히 손절매 1을 설정했습니다. minstop = 0이고 오류 130이 나옵니다. 제품은 시장에 출시되지 않습니다. ...

 
Vladislav Andruschenko :

예, 이것은 시장을 위한 것입니다. 그러나 모든 브로커에 대한 보편성은 없습니다.

그것은 시장에서 받아들여지는 것으로 판명되었습니다 - 당신은 3번의 스프레드를 위해 최소 정지를 해야 합니다,

그러나 사실 이것은 잘못된 것입니다. 브로커가 minstop = 1 스프레드를 가지고 있다면 사용자는 3 스프레드 미만을 넣을 수 없기 때문입니다.

매복.

그리고 그런 작은 중지를 두는 요점이 무엇입니까? 무작위 노이즈 움직임으로 픽업됩니다.
 
Vitalii Ananev :
그리고 그런 작은 중지를 두는 요점이 무엇입니까? 무작위 노이즈 움직임으로 픽업됩니다.
그것은 사용자가 무엇을 넣었는지에 관한 것이 아니라 손절매가 1포인트가 아니라는 것이 분명합니다. 시장에서 확인하는 것입니다. 구체적으로 손절매 = 1을 넣습니다.
 
Vladislav Andruschenko :

예, 하지만 그러한 칩은 서버의 stopmin = 0인 경우 매크로의 정확성으로 작동하지 않습니다.

이전에는 이 수표를 받았습니다.

이제 시장의 중재자는 특별히 손절매 1을 설정했습니다. minstop = 0이고 오류 130이 나옵니다. 제품은 시장에 출시되지 않습니다. ...

정확성을 확인한다는 것은 위에서 첫 번째 옵션에 대해 말한 것을 의미했습니다. 최소 정지 거리에 대한 자신의 값을 설정하십시오.
 
Vladislav Andruschenko :

예, 이것은 시장을 위한 것입니다. 그러나 모든 브로커에 대한 보편성은 없습니다.

그것은 시장에서 받아들여지는 것으로 판명되었습니다 - 당신은 3번의 스프레드를 위해 최소 정지를 해야 합니다,

그러나 사실 이것은 잘못된 것입니다. 브로커가 minstop = 1 스프레드를 가지고 있다면 사용자는 3 스프레드 미만을 넣을 수 없기 때문입니다.

매복.

stop-level이 0이 아닌 값을 반환했는지 확인한 다음 사용하고 0을 반환하면 Ask-Bid

 
Alexander Bereznyak :

stop-level이 0이 아닌 값을 반환했는지 확인한 다음 사용하고 0을 반환하면 Ask-Bid

그러나 항상 그런 것은 아닙니다. 최소 정지 = 스프레드,

확인해야 할 사항은 명확합니다. :-) 확인합니다

 
Vitalii Ananev :
정확성을 확인한다는 것은 위에서 첫 번째 옵션에 대해 말한 것을 의미했습니다. 최소 정지 거리에 대한 자신의 값을 설정합니다.
하늘에 손가락을 찌르거나 악기의 거래 조건을주의 깊게 확인하는 것입니다.
 
Vladislav Andruschenko :

고맙습니다. 저와 같은 디자인을 가지고 계시지만

죄송합니다. 귀하의 코드에서 StopLevel 변수의 값에 대해 말하는 곳을 보지 못했습니다. 결과로 나온 코드에서는 그러한 변수의 값이 변경되지 않습니다. 스톱 및 이익 가치에 변화가 있습니다. 결과적으로 한 번 증가하면 이러한 값을 초기 값으로 가져오는 것이 불가능합니다. 따라서 정지 수준이 이미 오래전에 감소한 상태에서 큰 정지, 이익을 얻을 것입니다.

그냥 스프레드 * 2로 min stop = 0을 곱한 것뿐인데 많은 브로커들에게 알려진 것처럼 min stop = 3 spread, 왜 2를 만드셨나요?

많은 브로커(수십, 수백)에 대한 정보가 없습니다. 내가 거래해야 하는 브로커와 함께(고객이 거기에 계정을 가지고 있기 때문에) 스프레드의 그림 2를 볼 수 있습니다. 어딘가에 또 다른 가치가 있을지도 모릅니다.

제 생각에는 이것은 중개인이 정보를 제공하는 근본적으로 잘못된 접근입니다. 정지 수준 제한을 얻기 위한 표준 메커니즘이 있습니다. 친절하시고 이용해주세요. 그런 다음 요청에 따라 0을 얻지만 실제로는 0이 아닙니다. 그런 다음 필요에 따라 스프레드의 크기에 따라 매 틱마다 이미 변경합니다. 따라서 Stop Level 값을 올바르게 표시하는 브로커에만 실계좌를 개설합니다.

나는 모든 틱에서 최소 정지를 확인합니다.

OnInitLevels라는 함수명을 바탕으로 결론을 내렸습니다. 단일 작업과 연결됩니다.
 
Vladislav Andruschenko :
그것은 사용자가 무엇을 넣었는지에 관한 것이 아니라 손절매가 1포인트가 아니라는 것이 분명합니다. 시장에서 확인하는 것입니다. 구체적으로 손절매 = 1을 넣습니다.

내가 그랬어

   if ((StopLimit< 10 && StopLimit!= 0 )  || (StopLoss< 10 && StopLoss!= 0 ))
   {
       Alert ( "Error in parameters. Too small size of a parametr of 'Stop loss' or 'Stop Loss limit'" );
       return ( INIT_PARAMETERS_INCORRECT );
   }

어드바이저는 3가지 방법으로 스톱을 조정할 수 있습니다. 수동으로 손절매(StopLoss)를 설정하거나 0으로 설정하십시오.

StopLoss가 0이면 그 크기는 시장 상황 에 따라 계산되지만 StopLimit 변수에 의해 제한됩니다.

그리고 OnInit()에서 이러한 매개변수는 정확성을 검사합니다. 10포인트 미만으로 정지를 설정하는 것은 의미가 없기 때문입니다.