오류, 버그, 질문 - 페이지 771

 
maryan.dirtyn :

그래서 나는 그것을한다))).6시 .. 그리고 나는 실수가 어디에 있는지 이해할 수 없다.

표준 라이브러리 사용을 꺼리는 것은 플래그와 전역 변수가 함수 내부에서 사용된다는 사실과 trade.mqh 및 기타 항목을 부분으로 구문 분석하는 것이 합리적이지 않기 때문입니다.

어떤 오류가 반환됩니까? )))
 
maryan.dirtyn :

MetaQuotes-데모

로그인: 1219233

EURUSD

나는 단지 파운드에 그것을 시도했다, 같은 이야기. 정류장이 없습니다. 나는 테스터에서 모든 것을 한다

655 빌드(도움이 되는 경우)

명시적 구조 초기화 작성:

   MqlTradeRequest request={ 0 };
   MqlTradeResult   result={ 0 };

이것이 없으면 구조체의 필드에 가비지가 남고 모든 필드를 채우지 않습니다.

 

고맙습니다..

이 형식으로 출시:

 void OnTick (){ if ( PositionsTotal ()< 1 )OPEN(); }

bool OPEN(){
             MqlTradeRequest request={ 0 };   ZeroMemory (request);
             MqlTradeResult   result={ 0 };   ZeroMemory (result);
             

             request.symbol       = _Symbol ;
             request.action       = TRADE_ACTION_DEAL ;
             request.type_filling = ORDER_FILLING_FOK ;
             request.deviation    = 100 ;
             request.volume       = NormalizeDouble ( 2 , 2 );
             request.type         = ORDER_TYPE_BUY ;
             request.price        = NormalizeDouble ( SymbolInfoDouble ( _Symbol , SYMBOL_ASK ), _Digits );
             request.tp           = NormalizeDouble ( SymbolInfoDouble ( _Symbol , SYMBOL_ASK ) + 500 * _Point , _Digits );
             request.sl           = NormalizeDouble ( SymbolInfoDouble ( _Symbol , SYMBOL_ASK ) - 500 * _Point , _Digits );

             OrderSend (request,result);     
                        
             if (result.retcode== 10009 || result.retcode== 10008 )   Print ( "Succsesful open" );
             else                                                Print ( "Error open: " , DoubleToString ( GetLastError (), 0 ), "  response code: " ,result.retcode);
    
   return ( true );}
 
ZeroMemory ()는 이미 중복되어 있습니다. 이전에는 ={0}을 통해 보다 경제적이고 간단한 제로화 작업이 있기 때문입니다.
 

이것을 다른 방법으로 확인하는 방법은 무엇입니까? 이 디자인은 제대로 작동하지 않습니다

 if ( PositionGetDouble ( POSITION_PRICE_OPEN )!= PositionGetDouble ( POSITION_SL )){ ... }
 

OnTrade의 매개변수는 언제 사용할 수 있습니까? 그런 정원은 울타리가 있어야합니다 ...

최소한 어떤 매개변수가 될지 알아야 합니다. 그렇지 않으면 챔피언십을 위해 무리를 다시 해야 합니다.((

 
pronych :

OnTrade의 매개변수는 언제 사용할 수 있습니까? 그런 정원은 울타리가 있어야합니다 ...

최소한 어떤 매개변수가 될지 알아야 합니다. 그렇지 않으면 챔피언십을 위해 무리를 다시 해야 합니다.((

오늘의 내일 빌드에 있을 것입니다. 다른 진입점 추가:

 void OnTradeTransaction( const MqlTradeTransaction& trans, const MqlTradeRequest & request, const MqlTradeResult & result)
  {
      
  }
 

수단, 가격, 로트, 거래 유형 등이어야 하는 것은 분명합니다.

지금은 거래 가격을 찾는 방법이 명확하지 않습니다.

제가 놓친 부분이 있을 수도 있고, 결석 기간이 있었는데...

 
Renat :

오늘의 빌드에있을 것입니다. 다른 진입점 추가:

매우 감사합니다. 드디어)))

기대하고 있습니다.

[삭제]  

친애하는 개발자 여러분! 터미널에 Ask 히스토리가 없기 때문에 Stop 주문 (Buy stop, Sell stop)을 Bid 가격에 연결하는 것이 합리적일 수 있습니다. 또는 사용자가 주문할 가격(입찰 또는 매도)을 선택합니다. 나는 외환에 대해 이야기하고 있습니다.