MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1774

 
Mihail Matkovskij # :

위에 제가 다 썼습니다. 메시지를 주의 깊게 읽으십시오. 당신의 임무는 어려운 것이 아닙니다. 작업에 집중하고 포럼에서 당신이 성공할 것이라고 논쟁하지 않는다면. 행운을 빕니다.

"논쟁" - 선생님이 채팅에 들어갔습니다. 미안하지만, 당신은 케이스에 쓰는 것보다 HR을 더 많이 내세우고 있습니다. 아니, 지나갈 거야, 나도 13살 때 그랬어.
 
Выше я всё написал

무엇을 썼습니까? 어레이에 대해? 내가 먼저 한거야, 아니면 지표의 정의를 말하는거야? 아니면 두 개의 주문을 열고 첫 번째 주문의 TF를 두 번째 주문에 배치하는 방법에 대한 것입니까? 이것은 많은 측면 문제로 이어지는 우아한 솔루션입니다.

 
Nerd Trader # :
"논쟁" - 선생님이 채팅에 들어갔습니다. 미안하지만, 당신은 케이스에 쓰는 것보다 HR을 더 많이 내세우고 있습니다. 아니, 지나갈 거야, 나도 13살 때 그랬어.

그것은 나의 중요성이나 다른 것에 관한 것이 아니라 당신이 소유하지 않은 프로그래밍을 아는 것의 중요성에 관한 것입니다. 예를 들어 당신이 대학에서 공부하고 수업시간에 이런 행동을 했다면 적어도 그 선생님은 당신을 질책하거나 쫓아냈을 것입니다. 여기에서 CSF에 대해 이야기할 수 있을까요?... :)

당신은 지식 이 없습니다   당신이 초보자이기 때문이 아니라 당신의 무지 때문입니다... 당신이 다시 한번 조언자가 지표와 다르다는 말을 들을 때 당신은 계속해서 당신의 "차이점이 무엇인가"를 반복하게 될 것입니다. :)

작성: "지표가 거래를 엽니다" 및 "봇에 거래 기간이 필요합니다". 질문에 논리가 없기 때문에 아무도 그런 질문에 대답하지 않을 것입니다. 그러나 나는 대답하려고 노력했다. 그 때문에 그는 많은 불평과 모욕을 받았습니다. "고마워요" 대신에 그게 뭐야?
 
Nerd Trader 원격 서버 에서 작동합니다. 소켓에서는 가능하지만 나에게는 여전히 어렵습니다.

마법으로 암호화합니다. 나는 기사에서 암호화 및 암호 해독의 전체 절차를 설명했습니다.

 
Artyom Trishkin # :

마법으로 암호화합니다. 나는 기사에서 암호화 및 암호 해독의 전체 절차를 설명했습니다.

30분 동안 찾을 때마다 링크 제공) 인코딩에 대한 좋은 접근 방식.

 
Valeriy Yastremskiy # :

30분 동안 찾을 때마다 링크 제공) 인코딩에 대한 좋은 접근 방식.

기억이 안나네요 :)

나도 30분 찾아볼게...

 
Nerd Trader # :

봇이 원격 서버에서 실행 중이기 때문에 작동하지 않습니다. 그래서 댓글에 TF를 작성하면 모든 것이 잘 될 것이지만 볼륨의 일부를 닫을 때 티켓으로 덮어씁니다.

다른 시간대의 주문에 대해 개별 매직 넘버를 만드십시오. 부분 폐쇄의 경우 이 숫자는 변경되지 않습니다.

 //+-----------------------------------------------------------------------------+
//|  Описание : Автоматическая генерация магического номера                     |
//|             Generate Magic Number                                           |
//|             Магический номер генерируется в зависимости от инструмента      |
//|             и таймфрейма                                                    |
//+-----------------------------------------------------------------------------+
int GenerateMagicNumber( int mn)
  {
   int       GenerateMN = 0 ;
   int       SymNumber = 0 ;
   int       PMinuts = _Period ;
// 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946
   if ( StringFind ( _Symbol , "BTC" , 0 )>= 0 )   //1
      SymNumber = 5 ;
   if ( StringFind ( _Symbol , "ETH" , 0 )>= 0 )   //2
      SymNumber = 8 ;
   if ( StringFind ( _Symbol , "BCH" , 0 )>= 0 )   //3
      SymNumber = 13 ;
   if ( StringFind ( _Symbol , "LTC" , 0 )>= 0 )   //4
      SymNumber = 21 ;
   if ( StringFind ( _Symbol , "XRP" , 0 )>= 0 )   //5
      SymNumber = 34 ;
   if ( StringFind ( _Symbol , "SOL" , 0 )>= 0 )   //6
      SymNumber = 55 ;
   if ( StringFind ( _Symbol , "LINK" , 0 )>= 0 ) //7
      SymNumber = 89 ;
   if ( StringFind ( _Symbol , "XLM" , 0 )>= 0 )   //8
      SymNumber = 144 ;
   if ( StringFind ( _Symbol , "TRX" , 0 )>= 0 )   //9
      SymNumber = 233 ;
   if ( StringFind ( _Symbol , "ATOM" , 0 )>= 0 ) //10
      SymNumber = 377 ;
   if ( StringFind ( _Symbol , "XMR" , 0 )>= 0 )   //11
      SymNumber = 610 ;
   if ( StringFind ( _Symbol , "ADA" , 0 )>= 0 )   //12
      SymNumber = 987 ;
   if ( StringFind ( _Symbol , "DOT" , 0 )>= 0 )   //13
      SymNumber = 1597 ;
   if ( StringFind ( _Symbol , "DOGE" , 0 )>= 0 ) //14
      SymNumber = 2584 ;

   GenerateMN = ( int )(SymNumber+PMinuts+mn);

   return ( int )(GenerateMN);
  }
//--- End ---
 
Volodymyr Zubov # :

다른 시간대의 주문에 대해 개별 매직 넘버를 만드십시오. 부분 폐쇄의 경우 이 숫자는 변경되지 않습니다.

주문/위치에서 이미 읽을 수 있는 경우 마술에서 기호를 암호화하는 이유는 무엇입니까? 그리고 왜 SymNumber에 그러한 값이 있습니까?

 
Volodymyr Zubov # :

다른 시간대의 주문에 대해 개별 매직 넘버를 만드십시오. 부분 폐쇄의 경우 이 숫자는 변경되지 않습니다.

StringFind에 감사드립니다. 그러나 나는 그것을 더 쉽게 만들 것입니다.

 int GenerateMagicNumber( int mn)
  {
   int       GenerateMN = 0 ;
   int       PMinuts = _Period ;

   GenerateMN = ( int )(PMinuts+mn);

   return ( int )(GenerateMN);
  }

그리고 나서 주문 도구는 OrderSymbol()을 통해 그것을 받았을 것입니다.

 

안녕하세요!

로트 크기에 대한 조건이 충족된 후 신호(예: 매수) 수신 시 반대 주문(매도)을 개설해야 합니다.

코드를 함께 넣어:

 // Получим значение индикатора
   dMA = iMA ( Symbol (), 0 ,PeriodMA, MovingShift, MODE_SMA , PRICE_CLOSE , 0 ); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
       if (CountOrders()== 0 )
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
       if (bSignalBuy() == true )
         vOrderOpenBuy();
         
         if ((bSignalBuy() == true ) &&(GetLotSize()>LotControl))
         vOrderOpenSell();
// Если появился сигнал на продажу, то откроем ордер на продажу
       if (bSignalSell() == true )
         vOrderOpenSell();
  
         if ((bSignalSell() == true ) &&(GetLotSize()>LotControl))
         vOrderOpenBuy();
     }

그러나 조건이 발생하면

(GetLotSize()>LotControl)

두 개의 반대 방향의 주문이 동시에 열립니다. "치료"하는 방법?