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

 
Igor Volodin :

따라서 SymbolInfoDouble 함수 (symToWorkmodify, SYMBOL_POINT ) 의 값인 점으로 나눌 수 없습니다.   0일 수 있습니다.
이는 다른 시장 기능에도 적용됩니다.

예를 들어, 2010년 챔피언십 계산에서 AccountInfoInteger(ACCOUNT_LEVERAGE) 를 사용했기 때문에 일부 Expert Advisors는 이 함수가 OnInit에서 0을 반환했을 때 0 나누기 오류로 충돌했습니다.

참조를 보면 SymbolInfoDouble(), SymbolInfoInteger() 에 오류가 있는지 확인해야 합니다.
 
Vladimir Gribachev :

그렇게 심하다면

다시 한 번, 나는 stoplevel이 0일 때의 상황에 대한 주제가 주어졌다는 사실에 주의를 기울입니다. 당신은 stoplevel 값이 0보다 큰 테스트 결과를 제공했습니다.

글쎄, Andrey F. Zelinsky 가 올바르게 지적했듯이 모든 것이 전혀 나쁘다면

그런 다음 130번째 오류에 대한 검사를 할당하고 중지에 +1을 추가할 수 있습니다. 그러나 이것은 일반적으로 넌센스입니다.
오류 130을 확인하는 것은 프로그램의 다른 오류와 마찬가지로 일반적인 관행입니다. 그러나 중지에 1을 추가하는 것은 첫째, 도움이 되지 않으며 둘째, 잘못된 결정입니다.
 
Ihor Herasko :

다시 한 번, 스톱 레벨이 0일 때의 상황을 주제로 다룬다는 사실에 주목합니다. 스톱 레벨 값이 0보다 큰 테스트 결과를 제공했습니다.

MetaQuotes-Demo 서버 stoplevel = 0의 위치를 보여주세요.

stoplevel = 0인 경우에도 최소 손절매 수준은 스프레드 값과 같습니다.

스프레드도 = 0이면 그런 중개인을 보여주면 그곳에서 전리품을 자르러 갈 것입니다.

오류 130을 확인하는 것은 프로그램의 다른 오류와 마찬가지로 일반적인 관행입니다. 그러나 중지에 1을 추가하는 것은 첫째, 도움이 되지 않으며 둘째, 잘못된 결정입니다.

누가 좋았다고.

인증 코드를 게시했습니다. 인증을 위해 올빼미에 입력했습니다. 중재자가 이 검사가 작동하는지 확인하는 서버에서 보여줬습니다.

시스템을 조롱하고 topikstarter가 원하는 솔루션을 찾지 않으면 "우리의 두뇌를 날려 버리자 !!!"라는 이름으로 새 주제를 만들어야합니다.

추신. Topicaster는 시장에서 테스트를 통과하기 위해 솔루션이 필요했습니다. 중재자는 알프스나 다른 곳이 아닌 자신의 서버에서 테스트합니다.

 
Vladimir Gribachev :

스프레드도 = 0이면 그런 브로커를 보여주세요. 저는 그곳에서 전리품을 자르러 갈 것입니다.

가지마 커미션 있을거야
 

:-) 웃으면서 읽었다


나는 서버가 0을 반환하면 어떻게 해야할지 묻지 않았습니다. 자존심을 낮추십시오. 한 사람에게 구체적으로 이야기하는 것입니다. 그는 이해할 것입니다. 또는 이해하지 못하지만 그것은 중요하지 않습니다.

소통을 위한 글이 아니라, 자신의 제품을 시장에 내놓는 프로그래머의 구체적인 사례를 위해, 한 제품도 팔지 않은 사람에게서 무엇이 필요한지, 무엇이 필요한지 필요하지 않습니다.

주제와 우리는 시장에서 확인하고 있습니다.

EA가 무엇을 확인하고 오류를 처리해야 하는지에 대한 것이 아닙니다. - 이것으로 모든 것이 괜찮습니다.

 
Vladislav Andruschenko :

서버가 0을 반환하면 무엇을해야하는지 묻지 않았습니다.

그런 다음 주제 주제에서 자신을 더 명확하게 표현해야 합니다.

이제 브로커의 90%에서 스프레드와 minstop이 유동적이며 0을 제공 합니다.

 
Ihor Herasko :

그런 다음 주제 주제에서 자신을 더 명확하게 표현해야 합니다.

나는 시장 오류를 피하는 방법에 대해 물었습니다. 서버가 0을 반환하고 매크로를 확인할 때 중재자가 손절매 = 1을 설정하지만 어드바이저는 최소 정지가 0이기 때문에 교체할 수 없습니다. 부동입니다.

고문이 오류 130 을 반환하고 손절매가 잘못되었다고 말하고 변경하는 것이 분명하지만 이 진행은 시장에서 작동하지 않습니다.

내 게시물은 다음과 같이 진행되었습니다.

안녕하세요 여러분, 친구들 입니다!

시장의 이러한 기능이 있습니다 . 최소 정류장에 대한 모든 값을 확인해야 합니다.

변수 값이 min stop보다 작으면 오류 130 이 발생하지 않도록 min stop을 할당합니다.

이제 브로커의 90%에서 스프레드와 minstop이 유동적이며 0을 제공합니다.

모든 변수에 최소 정지 값을 할당하는 코드 구성이 있습니다.

 int OnInitLevels( string symToWorkmodify)
  {
   if (lot< SymbolInfoDouble (symToWorkmodify, SYMBOL_VOLUME_MIN ))lots= SymbolInfoDouble (symToWorkmodify, SYMBOL_VOLUME_MIN ); else
   if (lot> SymbolInfoDouble (symToWorkmodify, SYMBOL_VOLUME_MAX ))lots= SymbolInfoDouble (symToWorkmodify, SYMBOL_VOLUME_MAX ); else lots=lot;
   if (StopLoss> 0 && StopLoss< SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ))StopLosss=( int ) SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ); else StopLosss=StopLoss;
   if (TakeProfit> 0 && TakeProfit< SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ))TakeProfits=( int ) SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ); else TakeProfits=TakeProfit;
   if (TrailingStop> 0 && TrailingStop< SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ))TrallingStops=( int ) SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ); else TrallingStops=TrailingStop;
   if (TakeProfitALL> 0 && TakeProfitALL< SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ))TakeProfitsAver=( int ) SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ); else TakeProfitsAver=( int )TakeProfitALL;
   if (TrailingStop> 0 && TrailingStop< SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ))TrallingStops=( int ) SymbolInfoInteger (symToWorkmodify, SYMBOL_TRADE_STOPS_LEVEL ); else TrallingStops=TrailingStop;
   return ( 0 );
  }

그러나 이제는 모든 곳에서 min stop = 0이기 때문에 더 이상 시장에서 통과하지 않습니다.

누가 이 문제를 다루고 있습니까?

 
Vladimir Gribachev :

MetaQuotes-Demo 서버 stoplevel = 0의 위치를 보여주세요.

MetaQuotes 서버가 아니라 시장에 체크인할 때(주제의 첫 번째 게시물 참조):

그러나 이제는 모든 곳에서 min stop = 0이기 때문에 더 이상 시장에서 통과하지 않습니다.

블라디미르 그리바초프 :

stoplevel = 0인 경우에도 최소 손절매 수준은 스프레드 값과 같습니다.

사실이 아닙니다. 2~3개 퍼질 수도 있습니다. 아마도 당신은 그러한 상황에 직면하지 않았을 것입니다. 그러나 그것이 그들이 존재하지 않는다는 것을 의미하지는 않습니다. 내가 지정한 브로커의 상황은 정확히 동일합니다.

 
Ihor Herasko :

MetaQuotes 서버가 아니라 시장에 체크인할 때(주제의 첫 번째 게시물 참조):

사실이 아닙니다. 2~3개 퍼질 수도 있습니다. 아마도 당신은 그러한 상황에 직면하지 않았을 것입니다. 그러나 그것이 그들이 존재하지 않는다는 것을 의미하지는 않습니다. 내가 지정한 브로커의 상황은 정확히 동일합니다.

문제는 스프레드의 1-2-3에 대해 엄격한 최소 정지를 설정하는 것이 핑계라는 것입니다. 그래서 작동하지 않습니다

플로팅 스톱 문제에 대한 실질적인 해결책이 필요합니다.

위대한 Andrey는 여기에서 이미 해결책이 있으며 우리는 그것에 대해 생각해야 한다고 말했습니다. 그리고 그가 제시하지 않은 해결책은 그가 떠 있을 때 정지 분을 결정하는 일종의 초능력을 가지고 있다는 것을 알 수 있습니다. 그가 그것을 하는 방법을 말하지 않는 이유, 그는 숨기고, 알고 있지만 숨기고 있습니다. 아아. 아니면 그냥 말하지 마세요.

 

나는 당신이 결국 질문에 대해 결정해야한다고 생각합니다)) 그 동안 당신은 증언에 혼란스러워합니다.

я не спрашивал что делать если сервер возвращает 0

그리고 우편을 통해:

서버가 0을 반환하면 시장 오류를 해결하는 방법에 대해 질문했습니다.