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

 
agat8430 :


그럼, 해킹된 가문비나무처럼 보이지 않도록 코드를 편집하는 방법을 알려주세요. 모든 것을 이해할 수 있습니다. 초보자를 위한 지점에 왔습니다. 그리고 포럼에서 처음으로. 그리고 나는 아름다운 대답을 가지고 있습니다.

"천재에게는 천재적인 답이 있다"


변수 이름을 "읽을 수 있는" 것으로 지정합니다.
 
hoz :


아니, 중지 없이. 한 장만 올렸습니다. 다음은 손익분기점 함수입니다.

라인은 계산된 정류장이 이미 존재하는 정류장과 같으면 수정이 없을 것임을 분명히 보여줍니다! 권리? 그래서 시험은 원래? 하지만 수정 함수가 시작되기 전 다음 조건을 입력할 때까지 오류 1이 지속적으로 발생했습니다.

그렇기 때문에 .... 이것이 내가 이해하고 싶은 것입니다. 내가 모든 것을 철저히 설명했듯이.

내 기능은 SL 및 TP 설정, 사용으로 이전, 시도 및 오류 검사가 있는 후행 위치 및 주문과 같은 모든 수정에 사용됩니다.

그리고 처음 에는 위치 선택, 조건 및 예방 조치 만 처방하면 됩니다. 기능은 다음과 같습니다.

 void ModifyOrder( int ticket, double price, double stoploss, double takeprofit, datetime e, color arrow_color)
{
   int ModifyCnt = 0 , err;
   while (ModifyCnt < 3 )
  {
     if (OrderModify(ticket, NormalizeDouble (price, Digits ), NormalizeDouble (stoploss, Digits ),
     NormalizeDouble (takeprofit, Digits ), 0 ,arrow_color))
    ModifyCnt = 3 ;
     else err = GetLastError ();
     if (err > 0 )
    { 
       Print (ModifyCnt, " #" ,ticket, " Error modifing order: (" , err , ") " , ErrorDescription(err));
       Sleep ( 5000 ); RefreshRates(); ModifyCnt++;
} } }
작고 원격!
[Deleted]  


고맙습니다! 나는 확실히 읽을 것이다.

세상은 좋은 사람들이 없는 것이 아닙니다.

[Deleted]  
hoz :

변수 이름을 "읽을 수 있는" 것으로 지정합니다.


나는 고문 일반 마틴 "Ilan"이 있습니다. 나는 그가 모든 미결 주문을 수정하지 않기를 바랍니다. 하지만 T/P의 이니셜과 라스트 오더만 저를 위한 어시스턴트를 만들고 싶습니다. 당신은 도움을 줄 수 있습니다. 여기 그의 코드가 있습니다

  /* Так и до бана не далеко */
[Deleted]  

안녕하세요 여러분. 나는 이미 형성된 막대 (즉, 막대 1 번)에서 별도의 창에서 표시기 값을 가져옵니다. 첫 번째 눈금에서 막대 0 번에서 한 번 계산합니다. 모든 것이 빠르고 올바르게 작동합니다. 켜십시오 잠시 동안 다시 표시등이 계속 제대로 작동하지만 컴퓨터가 꺼진 시간의 값이 없습니다. 그냥 빈 곳입니다. 컴퓨터를 끄기 전과 켠 후 표시기 값이 있지만 TF에서 TF로 앞뒤로 전환하기만 하면 모든 "누락된" 값이 나타납니다. 지표는 표준 - CCI, AO 등 포럼에서 코드를 가져 와서 동봉합니다. 틀린 부분과 이해하지 못하는 부분을 설명하십시오.



      Код №1
        ------


int start()
  {  
              
//--------------------------------------------------------------------
   Fun_New_Bar();                               // Обращение к ф-ии
   if (New_Bar==false)                          // Если бар не новый..
      return;                                   // ..то уходим
//--------------------------------------------------------------------    
        
    int counted_bars=IndicatorCounted(),
       limit;  
       
    if(counted_bars>0)
      counted_bars--;
   
      limit=Bars-counted_bars;

   for(int i=0;i<limit;i++)
       
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
   }     
//-------------------------------
   return(0);
 
  }
   
//+------------------------------------------------------------------+  
void Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }
//--------------------------------------------------------------------  



        Код №2
        ------


int start()
{  
     if (NewBar() == true)
  {  
         
    int counted_bars=IndicatorCounted(),
       limit;  
       
    if(counted_bars>0)
      counted_bars--;
   
      limit=Bars-counted_bars;

   for(int i=0;i<limit;i++)
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
   }     
//-------------------------------           
  }    

   return(0); 
}
   
//+------------------------------------------------------------------+    
bool NewBar()
{
   static datetime lastbar = 0;
   datetime curbar = Time[0];
   if(lastbar!=curbar)
   {
      lastbar=curbar;
      return (true);
   }
   else
   {
      return(false);
   }
}


      
          Код №3
          ------


//--- buffers
double ExtMapBuffer1[];
//--- for one bar
datetime Last,New;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtMapBuffer1);
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    New=Time[0]; 
      
     if(Last!=New)     
   {
  
  int counted_bars=IndicatorCounted(),
       limit;  
       
    if(counted_bars>0)
      counted_bars--;
   
      limit=Bars-counted_bars;
//----
   for(int i=0;i<limit;i++)
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
   }     
//-------------------------------             
   
    Last=New;
   }     
//----
   return(0);
  }
//+------------------------------------------------------------------+




       Код №4
       ------


int start()
  {
      if(last>=Time[0]) return;
  
    int counted_bars=IndicatorCounted(),
       limit;  
       
    if(counted_bars>0)
      counted_bars--;
   
      limit=Bars-counted_bars;
//----
   for(int i=0;i<limit;i++)
       
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
        
//-------------------------------              
       
      last=Time[0];      
   } 
//----
   return(0);
  }
//+------------------------------------------------------------------+

 
borilunad :

내 기능은 SL 및 TP 설정, 사용으로 이전, 시도 및 오류 검사가 있는 후행 위치 및 주문과 같은 모든 수정에 사용됩니다.

그리고 처음에는 위치, 조건 및 예방 조치 선택만 처방하면 됩니다. 기능은 다음과 같습니다.

작고 원격!


우와, 고마워요. 꼭 봐야 할 작품!
 
agat8430 :


나는 고문 일반 마틴 "Ilan"이 있습니다. 나는 그가 모든 미결 주문을 수정하지 않기를 바랍니다. 하지만 T/P의 이니셜과 라스트 오더만 저를 위한 어시스턴트를 만들고 싶습니다. 당신은 도움을 줄 수 있습니다. 여기 그의 코드가 있습니다

일반적으로 마법과 기호는 제외하고 닫힌 주문을 "제거"해야 합니다. 그런 다음 수정할 초기 및 마지막 주문을 선택합니다.

주문 선택 (g_pos_300, SELECT_BY_POS, MODE_TRADES)이 있습니다. - 마지막 주문입니다.

그리고 OrderSelect(0, SELECT_BY_POS, MODE_TRADES); - 이것은 첫 번째 주문이 될 것입니다.

언어에 대한 질문이 있는 이 지점에서 귀하의 질문에 답변했습니다. 봇은 여기서 재작업되지 않습니다. 그러나 위의 모든 것은 언어에 대한 약간의 이해가 있는 전문가에게 포함시키기 위한 것입니다. 도움이 되었기를 바랍니다...

 
agat8430 :


나는 고문 평범한 마틴 "Ilan"이 있습니다. 나는 그가 모든 미결 주문을 수정하지 않기를 바랍니다. 하지만 T/P의 이니셜과 라스트 오더만 저를 위한 어시스턴트를 만들고 싶습니다. 당신은 도움을 줄 수 있습니다. 여기 그의 코드가 있습니다

올바른 위치를 잡으려면 거의 모든 가능한 경우에 Kim의 "유용한 기능"을 사용하십시오!

https://www.mql5.com/ru/forum/131859

 
hoz :

일반적으로 마법과 기호는 제외하고 닫힌 주문을 "제거"해야 합니다. 그런 다음 수정할 초기 및 마지막 주문을 선택합니다.

OrderSelect(g_pos_300, SELECT_BY_POS, MODE_TRADES)가 있습니다. - 마지막 주문입니다.

그리고 OrderSelect(0, SELECT_BY_POS, MODE_TRADES); - 이것은 첫 번째 주문이 될 것입니다.

언어에 대한 질문이 있는 이 지점에서 귀하의 질문에 답변했습니다. 봇은 여기서 재작업되지 않습니다. 그러나 위의 모든 것은 언어에 대한 약간의 이해가 있는 전문가에게 포함시키기 위한 것입니다. 도움이 되었기를 바랍니다...

죄송합니다. 작동하지 않습니다! 처음도 아니고 마지막도 아니다!
 
MK07 :

안녕하세요 여러분. 나는 이미 형성된 막대 (즉, 막대 1 번)에서 별도의 창에서 표시기 값을 가져옵니다. 첫 번째 눈금에서 막대 0 번에서 한 번 계산합니다. 모든 것이 빠르고 올바르게 작동합니다. 켜십시오 잠시 동안 다시 표시등이 계속 제대로 작동하지만 컴퓨터가 꺼진 시간의 값이 없습니다. 그냥 빈 곳입니다. 컴퓨터를 끄기 전과 켠 후에 표시기 값이 있습니다. 그러나 TF에서 TF로 앞뒤로 전환하기만 하면 됩니다. 모든 "누락된" 값이 나타납니다. 표시기는 표준입니다(CCI, AO 등). . 포럼에서 코드를 가져 와서 첨부합니다. 설명, 내가 잘못한 부분과 이해하지 못하는 부분을 부탁드립니다.

코드 #1

        ------


int start()
  {  
              
//--------------------------------------------------------------------
   Fun_New_Bar();                               // Обращение к ф-ии
   if (New_Bar== false )                           // Если бар не новый..
       return ;                                   // ..то уходим
//--------------------------------------------------------------------    
        
     int counted_bars=IndicatorCounted(),
       limit;  
       
     if (counted_bars> 0 )
      counted_bars--;
   
      limit= Bars -counted_bars;

   for ( int i= 0 ;i<limit;i++)
       
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
   }     
//-------------------------------
   return ( 0 );

  }
   
//+------------------------------------------------------------------+  
void Fun_New_Bar()                               // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time= 0 ;                   // Время текущего бара
   New_Bar= false ;                               // Нового бара нет
   if (New_Time!=Time[ 0 ])                         // Сравниваем время
     {
      New_Time=Time[ 0 ];                         // Теперь время такое
      New_Bar= true ;                             // Поймался новый бар
     }
  }

//--------------------------------------------------------------------  

        Код № 2
        ------


int start()
{  
     if (NewBar() == true )
  {  
         
     int counted_bars=IndicatorCounted(),
       limit;  
       
     if (counted_bars> 0 )
      counted_bars--;
   
      limit= Bars -counted_bars;

   for ( int i= 0 ;i<limit;i++)
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
   }     
//-------------------------------           
  }    

   return ( 0 ); 
}
   
//+------------------------------------------------------------------+    
bool NewBar()
{
   static datetime lastbar = 0 ;
   datetime curbar = Time[ 0 ];
   if (lastbar!=curbar)
   {
      lastbar=curbar;
       return ( true );
   }
   else
   {
       return ( false );
   }

}

         Код № 3
          ------


//--- buffers
double ExtMapBuffer1[];
//--- for one bar
datetime Last,New;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_HISTOGRAM );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    New=Time[ 0 ]; 
      
     if (Last!=New)     
   {
  
   int counted_bars=IndicatorCounted(),
       limit;  
       
     if (counted_bars> 0 )
      counted_bars--;
   
      limit= Bars -counted_bars;
//----
   for ( int i= 0 ;i<limit;i++)
//-------------------------------      

   { 

       Код № 4
       ------


int start()
  {
       if (last>=Time[ 0 ]) return ;
  
     int counted_bars=IndicatorCounted(),
       limit;  
       
     if (counted_bars> 0 )
      counted_bars--;
   
      limit= Bars -counted_bars;
//----
   for ( int i= 0 ;i<limit;i++)
       
//-------------------------------      
   { 
   
              
      КОД ИНДИКАТОРА
      
                               
        
//-------------------------------              
       
      last=Time[ 0 ];      
   } 
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

위의 SRC 버튼을 사용 하여 코드를 붙여넣으 세요! 아무도 이렇게 파지 않을 것입니다. 나는 당신을 위해 그것을 넣어. 당신은 당신의 게시물에서 똑같이 할 수 있습니다.