거래 환경에서 작업할 때 일반적인 실수와 이를 제거하는 방법 - 페이지 8

 
fxsaber :

그들이 말했듯이 조리법은 보편적입니다.

  1. 우리는 ID가 0인 시장 주문을 만났습니다. 즉시 종료합니다.
  2. MT5-OrderSend는 항상 0이 아닌 Result.deal을 반환하도록 다시 작성됩니다. 소스는 KB로 게시되었습니다.
  3. 각 OrderSend 또는 Sleep이 항목 1로 전송된 후.
이 접근 방식을 사용하면 모든(절대적인 100%) 차량이 제설됩니다.

그게 내가 말하는 거 아니야?

때때로 사람들은 정보에 대해 이상한 인식을 가지고 있습니다. :)

ID가 0인 주문으로 즉시 종료되지 않고 동일한 틱(특정 지정된 기대치)에서 처리됩니다.

나머지는 내가 말한 모든 것입니다. 바닥이 보이네요 :)

 

그들의 TK의 적절성에 대해 생각하기 위해. MT4에서 매일 일어나는 실제 상황

  1. 열려 있는 것이 없습니다.
  2. BuyLimit을 설정한 다음 OrderSend를 설정하지 않았습니다.
  3. 얼마 후, 3개의 BUY 포지션과 BuyLimit을 찾습니다.
  4. 얼마 후, 2개의 BUY 포지션과 BuyLimit을 찾습니다.
  5. 잠시 후 5개의 BUY 포지션을 찾습니다.
  6. 얼마 후, 1개의 BUY 포지션을 찾습니다.
  7. 잠시 후 p.1.

이것이 가장 간단합니다. 따라서 제안된 템플릿 에는

 // Находит позицию соответствующего типа
bool PositionsScan( const string Symb, const ENUM_POSITION_TYPE Type );
글쎄, 쓸 차량의 안정성 수준과 누구를 위해 - 모두가 스스로 결정합니다.
 
fxsaber :

  1. 열려 있는 것이 없습니다.
  2. BuyLimit을 설정한 다음 OrderSend를 설정하지 않았습니다.
  3. 얼마 후, 3개의 BUY 포지션과 BuyLimit을 찾습니다.
  4. 얼마 후, 2개의 BUY 포지션과 BuyLimit을 찾습니다.
  5. 잠시 후 5개의 BUY 포지션을 찾습니다.
  6. 잠시 후 1 BUY 위치를 찾습니다.
  7. 잠시 후 p.1.

따라서 BuyLimit - 고문이 설정합니다. 나머지는 수동으로 수행됩니다.

모든 차량은 자신의 차량과 다른 차량을 구별할 수 있습니다.

그들의 입장에 대한 대화였습니다.

 
Artyom Trishkin :

따라서 BuyLimit - 고문이 설정합니다. 나머지는 수동으로 수행됩니다.

모든 차량은 자신의 차량과 다른 차량을 구별할 수 있습니다.

그들의 입장에 대한 대화였습니다.

수동으로 또는 다른 고문이 수행한 작업은 없습니다. 하나의 BuyLimit만 설정됩니다. 언급된 모든 BUY 포지션은 BuyLimit과 동일한 마법을 가지고 있습니다.

 
fxsaber :

수동으로 또는 다른 고문이 수행한 작업은 없습니다. 하나의 BuyLimit만 설정됩니다. 언급된 모든 BUY 포지션은 BuyLimit과 동일한 마법을 가지고 있습니다.

그래서 - 부분 실행.

 
Artyom Trishkin :

그래서 - 부분 실행.

딱 이것.

 
fxsaber :

버그가 있는 코드 게시를 중단하도록 KB에 영향을 미치면 그만한 가치가 있다고 생각합니다.

 
Artyom Trishkin :

ID가 0인 주문으로 즉시 종료되지 않고 동일한 틱(특정 지정된 기대치)에서 처리됩니다.

예, 즉시 떠나는 것은 잘못된 결정 입니다.

 
이 주제와 관련이 없는 댓글은 " MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 "으로 이동되었습니다.
 
Ivan Ivanov :


2018.02.20 15:20:35.845 주문 거래 #66745055 시장에서 0.01 / 0.01 EURUSDeur 매수 완료 610.625ms

2018.02.20 15:20:35.935 거래 거래 #5461453 1.23403에서 0.01 EURUSDeur 구매 완료(주문 #66745055 기준)

2018.02.20 15:20:35.845 TestBUY (EURUSDeur,M15) retcode=10009 거래=0 주문=66745055

요청이 완료된 경우(10009) 거래=0인 이유

안녕하세요!

모두에게, 그리고 무엇보다도 fxsaber에게 비슷한 질문이 있습니다.
언뜻 보기에 질문은 원시적이지만 나는 그것에 대한 답을 찾을 수 없다.
여기 https://www.mql5.com/ru/forum/6343/page939 "검색해 보세요. fxsaber는 한때 이 문제로 어려움을 겪었습니다. 무슨 일이 일어났는지 모르겠지만 관심이 없었습니다." 그래서 나는 당신에게 묻기로 결정했습니다.

질문은 ~이야. 위치를 열고 다음과 같이 MqlTradeResult 의 내용을 인쇄하고 싶습니다.

         MqlTradeRequest request={ 0 };
         MqlTradeResult   result={ 0 };
        
        request.action   = TRADE_ACTION_DEAL ;     // type of trade operation
        request.symbol   = Pair1;                 // symbol
        request.volume   = lots;                 // volume of lot
        request.type     = oper;                 // order type
        request.price    = priceOpen;             // price for opening
        request.deviation= Slippage;             // allowed deviation from the price
        request.magic    = magic;   
 //============================================================     
         if ( OrderSend (request,result))       
         Print ( "retcode = " + IntegerToString (result.retcode) + "; " );        
         Print ( "deal = " + IntegerToString (result.deal) + "; " );
         Print ( "order = " + IntegerToString (result.order) + "; " ); 
         Print ( "volume = " + DoubleToString (result.volume) + "; " );  
         Print ( "price = " + DoubleToString (result.price) + "; " );

retcode, 주문 및 볼륨이 출력되는 반면 거래 및 가격은 항상 0입니다.
내가 뭘 잘못하고 있고 어떻게 결과 구조의 내용에 접근할 수 있는지 알려주실 수 있나요?

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2018.10.29
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...