포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 514

 
Mr.Profit :

안녕하세요!

Expert Advisor를 편집하려고 할 때 "MetaEditor를 찾을 수 없음"을 처리하는 방법은 무엇입니까? 메타 트레이더 빌드 600.

오래된 빌드에서 그런 갈퀴를 기억하지 못하는 것 ...

이것은 이것이 관찰되는 컴퓨터가 다소 저전력이고 지속적으로 50-75% 로드된다는 사실 때문일 수 있습니다. 7개의 MT4 인스턴스가 회전하고 있지만 정상적인 조건(TeamViewer를 통한 액세스 및 MetaEditor 시작 시도와 같은 추가 외부 부하가 없는 경우)에서는 성능이 충분하며 백그라운드에서 실행되는 작업 관리자는 15-20분 동안 평균 CPU를 표시합니다. 사용량 <=45-50%.

이 갈퀴는 100%의 경우에 발생하지 않으며, 특별한 인내와 끈기를 보여주었지만 MetaEditor는 여전히 5-10-25회에서 시작합니다. 그러나 MetaEditor를 시작하는 데 실제로 30분이 걸립니다.

이러한 질문이 있으면 610번째 빌드에 대한 토론이 있는 스레드 로 이동해야 합니다. 개발자가 근처에 있습니다.
 
r772ra :



고마워.

울타리가 쌓이지 않은 동안 알려주세요.

더 빨리 할 수 있었던 것은 무엇입니까?

 input int     Slippage   = 10 ;   // установим значение проскальзывания 
extern string ___START_SETUP_ = "---ОСНОВА---" ;  
input double StartLot   = 0.02 ; 
extern double LotMultiplicator = 1.3 ;
extern int N_LotMult = 2 ;
extern string ___STEP_SETUP_BLOK_ = "--- БЛОК УСЛОВИЙ СЕТКИ ---" ;
extern int Mode_Step = 1 ;
extern int Step = 5 ;
extern int StepUv_Step = 5 ;
extern string ___CLOSE_SETUP_BLOK_ = "--- БЛОК УСТАНОВОК ЗАКРЫТИЯ ---" ;
extern int TakeProfit = 40 ;


double z,y, lot=StartLot, count, step=Step;

  
void OnTick ()
  {  
   
     int i_buy= 0 ; int i_sell= 0 ;
     for ( int i= 0 ;i< OrdersTotal ();i++){
         if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== true && OrderSymbol ()== Symbol ()){
               switch ( OrderType ()){ // Есть ли открыте ордера
                 case OP_BUY :
                    i_buy++;
                 break ;
                 case OP_SELL :
                    i_sell++;
                 break ;
               }
               
              y = int (( OrderOpenPrice ()- Ask )/ Point ); 
              z = OrderLots ();
              
              count++;            
          }   
     }
    
     if (LotMultiplicator > 1 && count > N_LotMult) lot = z + z/LotMultiplicator;    
     if (Mode_Step== 1 ) step = Step + count*StepUv_Step;

     if ((i_buy== 0 && i_sell== 0 ) || y >= step) //--- нет открытых ордеров, открываем
         OrderSend ( Symbol (), OP_BUY ,lot, Ask ,Slippage, 0 , Ask +TakeProfit* Point (), WindowExpertName ()+ " " +( string ) 0 , 0 , 0 , clrBlue );
     
       count= 0 ;
   
 
Zolotai :


고마워.

울타리가 쌓이지 않은 동안 알려주세요.

더 빨리 할 수 있었던 것은 무엇입니까?


마지막으로 코드를 올바르게 붙여넣는 방법을 배우십시오! CTRL+ALT+M 또는 SRC.
 
evillive :
마지막으로 코드를 올바르게 붙여넣는 방법을 배우십시오! CTRL+ALT+M 또는 SRC.

준비가 된.
 
Zolotai :


고마워.

울타리가 쌓이지 않은 동안 알려주세요.

무엇을 더 빨리 할 수 있었습니까?


그리고 컴파일 오류는 없나요? 그리고 실행 오류도 없나요?

먼저 결과로 얻고자 하는 것을 설명하십시오. 그렇지 않으면 코드의 일부 위치에 대한 질문이 있습니다.

 y = int (( OrderOpenPrice ()- Ask )/ Point ); //подставьте в уравнение реальные цены
if ((i_buy== 0 && i_sell== 0 ) || y >= step) // --- нет открытых ордеров, открываем открывает позицию всегда когда y >= step, а это будет практически всегда по формуле выше, за исключением коридора шириной в "step"
 
evillive :

그리고 컴파일 오류가 없습니까? 그리고 실행 오류도 없나요?

먼저 결과로 얻고자 하는 것을 설명하십시오. 그렇지 않으면 코드의 일부 위치에 대한 질문이 있습니다.




무언가를 단순화하는 것이 가능합니까? 아마도 몇 가지 추가 변수가 있을 것입니다... 이제 나는 단지 한 단계를 통한 오프닝, 로트의 증가, 그리고 그것이 전부입니다. Tp는 아직 필요하지 않습니다. 나는 알고 싶다. 조금 더 간단하고 적은 코드로 만들 수 있습니까?
 
그리고 무엇, 많이? 거기에는 단순화 할 것이 없으며 반대로 악화시킬 필요가 있습니다)))
 
evillive :
그리고 무엇, 많이? 거기에는 단순화 할 것이 없으며 반대로 악화시킬 필요가 있습니다)))

고마워. 기능을 말하지 마십시오. 평균에서 마지막으로 첫 번째 순서가 됩니다(정지 및 테이크 설정). 그런 다음 첫 번째 항목과 끝에서 두 번째 항목 등입니다. 중간으로 가자...
 
나는 모든 취향에 대해 평균, 마틴, 안티 마틴과 같은 코드 기반에 충분한 그리더가 있다고 확신합니다.
 
evillive :
나는 모든 취향에 대해 평균, 마틴, 안티 마틴과 같은 코드 기반에 충분한 그리더가 있다고 확신합니다.

예, 하지만 정말. 다른 사람의 코드를 샅샅이 뒤져야 합니다. 내가 이해하지 못하고 많은 시간이 걸릴 것입니다. 그것을 알아내려면 =(