[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 265

 
vasabu2012 :

얘들아, 나는 Kim을 몰라, 아마도 아는 사람이 여전히이 스레드에서 대답 할 것입니다.

나는 매우 감사 할 것입니다!

여기 그가 Kim Igor V 입니다. 그리고 KimIV의 유용한 기능들
 

전문가에게 질문: 마지막으로 닫은 데이터를 가져와야 합니다.
주문 번호를 셀 수 없기 때문에
여러 고문이 일하고 모두 불협화음에 모든 것을 넣고 닫습니다.
하나의 계정으로 주문합니다. 각 고문은 고유한 마법을 가지고 있습니다.
질문은 터미널에서 마지막으로 마감된 주문의 데이터에 관한 것입니까?

누가 답을 알고 있습니까? 답변해 주세요!!!

 
vasabu2012 :
전문가에게 질문: 마지막으로 닫은 데이터를 가져와야 합니다.
주문 번호를 셀 수 없기 때문에
여러 고문이 일하고 모두 불협화음에 모든 것을 넣고 닫습니다.
하나의 계정으로 주문합니다. 각 고문은 고유한 마법을 가지고 있습니다.
질문은 터미널에서 마지막으로 마감된 주문의 데이터에 관한 것입니까?

물론 저는 코펜하겐은 아니지만 마지막을 찾으신다면 시간내서 찾으세요...
 
구체적으로 어떻게?
 
고문이 데모뿐만 아니라 작동하도록 하는 방법은 무엇입니까?
파일:
sovetnik.ex4  31 kb
 
sergio7 :
고문이 데모뿐만 아니라 작동하도록 하는 방법은 무엇입니까?
당신이 여기에 게시한 것 - 아무것도
 
sergio7 :
고문이 데모뿐만 아니라 작동하도록 하는 방법은 무엇입니까?

원본이 아닙니다! ex4가 아니라 mq4여야 합니다!
 
paladin80 :
여기에 게시한 것 - 아니요


다른 스레드의 동일한 공격자:

고문이 데모에서만 작동하지 않도록 도와주세요.
첨부 파일:
tpyokfcx.ex4 (30.27KB)
 

나는 TarasBy 가 작성한 라이브러리를 마스터하기로 결정했습니다. 시작: https://www.mql5.com/ru/code/10659

몇 가지 질문이 생겼습니다. 꾸준하겠습니다. 예를 들어:

 //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|  Автор : TarasBY, taras_bulba@tut.by                                              |
//+-----------------------------------------------------------------------------------+
//|        Получаем торговую информацию по символу                                    |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void fGet_MarketInfo ( string fs_Symbol, int fi_Ticket = 0 )
{
//----
         if (fs_Symbol != bs_Symbol || fi_Ticket < 0 )
         {
                   if (fi_Ticket > 0 )
                  {
                     bs_Symbol = OrderSymbol();
                  }
                   else
                  {
                     bs_Symbol = fs_Symbol;
                  }
                   if (bs_Symbol == Symbol ())
                  {
                      bi_SymDigits = Digits ;
                      bd_SymPoint = Point ;
                  }
                   else
                  {
                      bi_SymDigits = MarketInfo (fs_Symbol, MODE_DIGITS);
                      bd_SymPoint = MarketInfo (fs_Symbol, MODE_POINT);
                  }
         if (bd_SymPoint == 0.0 )
        {
           bd_SymPoint = fGet_Point (fs_Symbol);
        }
                  bd_ProfitMIN = NDP (ProfitMIN_Pips);
         }
         if (fi_Ticket > 0 )
         {
            fGet_OrderDetails (fi_Ticket);
         }
     //---- Получаем текущие цены по инструменту
    RefreshRates();
    bda_Price[ 0 ] = NDD (fGet_TradePrice ( 0 , bb_RealTrade, bs_Symbol));
    bda_Price[ 1 ] = NDD (fGet_TradePrice ( 1 , bb_RealTrade, bs_Symbol));
    bd_Spread = NDD (bda_Price[ 1 ] - bda_Price[ 0 ]);
//----
}

함수 자체의 매개변수에서 다음을 볼 수 있습니다.

fi_Ticket = 0

일반적으로 이러한 함수는 주문을 가져온 후에 호출되며, 이는 티켓이 있음을 의미합니다. 그렇다면 왜 기본값을 0 으로 지정합니까?

다음 내용이 훨씬 더 흥미롭습니다.

 if (fs_Symbol != bs_Symbol || fi_Ticket < 0 )
{
   if (fi_Ticket > 0 )
   {
      bs_Symbol = OrderSymbol();
   }
    else
   {
     bs_Symbol = fs_Symbol;
                  }
                   if (bs_Symbol == Symbol ())
                  {
                      bi_SymDigits = Digits ;
                      bd_SymPoint = Point ;
                  }

fs_Symbol 변수는 즉시 bs_Symbol 과 비교됩니다.

fGet_MarketInfo () 함수 자체가 호출 되는 위의 bs_Symbol은 초기화되지 않았습니다 . 그리고 일반적으로 왜 이것이 bs_Symbol 입니까?

또한 조건:

 if (fs_Symbol != bs_Symbol || fi_Ticket < 0 )

조건에서 fi_Ticket < 0 이면 더...

 if (fi_Ticket > 0 )
{
   bs_Symbol = OrderSymbol();
}

이것은 이미 조건과 모순됩니다. 처음에 코드가 작동하려면 fi_Ticket < 0 조건을 충족해야 하고 이 조건 내에서 ticket > 0 을 충족해야 합니다. 논리는 어디에 있습니까?