초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 284

 
barabashkakvn :
"시장 감시"의 일련 번호 또는 현재 가격?

"시장 감시"의 일련 번호.

SymbolInfoString을 사용하여 기호의 문자열 설명 을 얻는 방법을 이해하지만 숫자(:

 
Crucian :

"시장 감시"의 일련 번호.

처음에

 int    SymbolsTotal (
   bool   selected       // true – только символы в MarketWatch
   );

그 다음에

 string    SymbolName (
   int    pos,           // номер в списке
   bool   selected       // true – только символы в MarketWatch
   );

일단 SymbolName == 귀하의 기호가 되면 해당 pos 를 알 수 있습니다.

 
barabashkakvn :

처음에

그 다음에

일단 SymbolName == 귀하의 기호가 되면 해당 pos 를 알 수 있습니다.

고맙습니다!

그러나 어떤 이유로 작동하지 않습니다. ros는 항상 = 0입니다. 아마도 내가 뭔가 잘못하고 있는 것일 수 있습니다. 아침에 알아낼 것입니다. :).

 
Crucian :

고맙습니다!

그러나 어떤 이유로 작동하지 않습니다. ros는 항상 = 0입니다. 아마도 내가 뭔가 잘못하고 있는 것일 수 있습니다. 아침에 알아낼 것입니다. :).

SymbolName 에서 pos를 전달하고 strung 매개변수의 출력을 확인합니다.
 
Crucian :

고맙습니다!

그러나 어떤 이유로 작동하지 않습니다. ros는 항상 = 0입니다. 아마도 내가 뭔가 잘못하고 있는 것일 수 있습니다. 아침에 알아낼 것입니다. :).

 //+------------------------------------------------------------------+
   int PositionsSymbolInList( string sy) {
       for ( int i= 0 ; i< SymbolsTotal ( false ); i++) {
         string symbol_name= SymbolName (i, false );
         if (sy==symbol_name) return i;
         }
       return - 1 ;
   }
//+------------------------------------------------------------------+
 
Crucian :

고맙습니다!

그러나 어떤 이유로 작동하지 않습니다. ros는 항상 = 0입니다. 아마도 내가 뭔가 잘못하고 있는 것일 수 있습니다. 아침에 알아낼 것입니다. :).

 //+------------------------------------------------------------------+
int IndexSymbolInMarketWatch( string sy)
  {
   for ( int i= SymbolsTotal ( true )-1; i>= 0 ; i--)
     {
       if ( SymbolName (i, true )==sy)
         return (i);
     }
   return (- 1 );
  }
//+------------------------------------------------------------------+
 
artmedia70 :

감사합니다. 귀하의 코드는 작동하지만 어떤 이유로 paladin800 코드는 작동하지 않습니다(.

그러나 숫자에는 순서가 없습니다. 예를 들어 EUR=21, GBP=28, CHF=36, JPY=40, EUR/JPY=16입니다. 그것은해야한다?

 
Crucian :

감사합니다. 귀하의 코드는 작동하지만 어떤 이유로 paladin800 코드는 작동하지 않습니다(.

그러나 숫자에는 순서가 없습니다. 예를 들어 EUR=21, GBP=28, CHF=36, JPY=40, EUR/JPY=16입니다. 그것은해야한다?

 SymbolsTotal ( false )

이것은 사용 가능한 기호 목록에서 검색하는 것입니다. true인 경우 Market Watch에서 선택한 기호만 검색됩니다.

사용 가능한 문자 목록에 있는 순서 - 해당 인덱스가 반환됩니다. 반면 MarketWatch의 목록에서 가져온 경우(true인 경우) 인덱스는 Market Watch의 기호 정렬(마우스로 끌 수 있음)에 따라 달라지며 항상 편리한 것은 아닙니다. 사용자 핸들".

 

다른 질문.

컴파일할 때 MetaEditor는 경고를 발행하기 시작했습니다.

' OrderSend '의 반환 값을 확인해야 합니다 Bollinger_Bands_strategy_4.mq5 690 7
(" OrderSend "의 반환 값을 확인해야 함)

요청을 보낸 후 결과를 확인합니다.

           OrderSend (mrequest,mresult);
             if (mresult.retcode== 10009 || mresult.retcode== 10008 )
              { 
             
               Print ( "Set pending order SellStop"   );
               ModificationPosition= 0 ;
            } else
              {
               Print (ResultRetcodeDescription(mresult.retcode));
               return ;
              }

아니면 이것으로 충분하지 않습니까? MetaEditor가 원하는 것은 무엇입니까?

 
Crucian :

다른 질문.

컴파일할 때 MetaEditor는 경고를 발행하기 시작했습니다.

'OrderSend'의 반환 값을 확인해야 합니다 Bollinger_Bands_strategy_4.mq5 690 7
(" OrderSend "의 반환 값을 확인해야 함)

요청을 보낸 후 결과를 확인합니다.

아니면 이것으로 충분하지 않습니까? MetaEditor가 원하는 것은 무엇입니까?

 if ( OrderSend (...))

또는

 bool res= OrderSend (...);

아니, 내가 틀렸어. 이미 자고 있습니다. 이것은 클래스의 내 기능에서 습관이 아닙니다 ... 이것은 상위 5 개에서와 같이 mql4 용이지만 xs ... :)

 int ticket= OrderSend ()
사유: