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

 
rapid_minus :

안녕하세요!

내 Expert Advisor의 코드에서 오류를 찾고 있었는데 오해가 생겼습니다. OnTick() 함수의 if() 문을 테스트할 때 OnTick() 함수가 한 번만 작동하면 다음 눈금과 막대에서는 작동하지 않습니다.

왜요? 첨부된 코드에 대한 설명으로 옳지 않은 것은?

변수가 재할당되는 위치를 잘 보십시오. 우선 ClsS = false인 위치를 찾으십시오. 그리고 완료되었습니다.
 
AlexeyVik :
변수가 재할당되는 위치를 잘 찾으십시오. 우선 ClsS = false인 위치를 찾으십시오. 그리고 완료되었습니다.
ClsS = 전역 변수 에서 false입니다. 아하! 이해함 - 거짓을 참으로 바꿉니다. 점검 해보자...
 

공장! 감사하다!

더 확인하러 가겠습니다. 다시 한번 감사합니다.

 
다시 도움을 요청합니다...개봉/폐쇄 기준을 확인해보니 지정된 조건에 따른 모습을 보여주는데, 더 나아가보니 경고가 존재하지 않는다고 합니다. 나도 여기서 뭔가 놓치고 있는 걸까?
 //----------------------------------------------------------------------------------- 8 -- Открытие ордеров

     while (Ticket== 0 )                                             // Цикл открытия ордеров
     {
       if (OpnB != true || OpnS != true )
         {
           Alert ( "Отсутствуют критерии открытия позиций" );
           return ;                                             // Выход из OnTick()
         }
       if (Total== 0 ) Alert ( "открытых ордеров нет" ); 

       if (Total== 0 && OpnB == true )                         // Если открытых ордеров нет и есть критерий открытия БАЙ...
       {

        SL = Bid - New_Stop(StopLoss)* Point ;                 // СЛ открытия
        TP = Bid + New_Stop(TakeProfit)* Point ;               // ТП открытия
         Alert ( "Попытка открыть БАЙ. Ожидание ответа..." );
        Ticket= OrderSend (Symb,OP_BUY,Lots,Ask, 2 ,SL,TP,Blue); // Открытие БАЙ
         if (Ticket> 0 )                                       // Если получилось...
         {
           Alert ( "Открыт ордер БАЙ №" ,Ticket);
         break ;                                               // Выход из while
         }
 
gince :

표시기에서 프로그래밍 방식으로 수행하는 방법은 무엇입니까?

어시스턴트에서 나는 물어보는 방법을 모릅니다.

누군가가 여기에 특정 링크나 키워드를 던질 수 있습니다.

차트 속성 ChartGetInteger () 및 CHART_WINDOW_IS_VISIBLE 보기

 

모두에게 좋은 하루! 그리고 이제 그 질문은 의외다..... 시작 기능을 소개합니다. 문제는 왜 각각 의 새로운 막대에서 변수 N이 두 배가 되는지입니다. 새로운 신호가 도착할 때만 이 작업을 수행해야 하지만 각각의 새 막대에서???

개발자는 이에 대해 무엇을 말할 것입니까???

 int start()
 { 
   int i,limit,K;
   int counted_bars=IndicatorCounted();

//  double R,P,N,Zscore,Nprof,Nloose;
//limit=Bars-100;

if (b!= Bars ){
b= Bars ;
//Sleep(3000);

double ldt_BeginDay = iTime ( NULL , PERIOD_D1 , 20 ); 
double limit1 = iBarShift ( NULL , 0 , ldt_BeginDay);

   if (counted_bars< 1 ) limit=limit1-counted_bars;
   else limit=limit1;

 for (i=limit; i>= 1 ; i--)   
      {
       double Profit=( iCustom ( NULL , 0 , "TDSEQUENTA v2015" , 5 , 8 , 12 , 0 ,i)); 
       double CurSignal=( iCustom ( NULL , 0 , "TDSEQUENTA v2015" , 5 , 8 , 12 , 6 ,i)); 
if (CurSignal!= 0 ){      
   /*   
if (curDay!=TimeDay(Time[i])) {
curDay=TimeDay(Time[i]);
double AAA=ProfitFactor;
}*/
      
   
       if ((Profit> 0 )&&(CurSignal!= 0 ))  {Nprof=Nprof+ 1 ;
       if (LastProfit<= 0 ) R=R+ 1 ;
                                                      SredP1=SredP1+Profit;
                                                      GrosProf=GrosProf+Profit;
                                                     } else Nprof=Nprof;
                                                     
       if ((Profit< 0 )&&(CurSignal!= 0 ))  { Nloose=Nloose+ 1 ;
       if (LastProfit>= 0 ) R=R+ 1 ;
                                                      SredL1=SredL1+(Profit*- 1 );                                                    
                                                      GrosLoose=GrosLoose+(Profit*- 1 );
                                                     } Nloose=Nloose;
       if (Nloose> 0 )SredL=SredL1/Nloose;
       if (Nprof> 0 ) SredP=SredP1/Nprof;
      
       // if (Profit>0) Sred=Sred+Profit; else Sred=Sred+(Profit*-1);                                                                                                                                                    
       N=Nprof+Nloose;
       P= 2 *Nprof*Nloose;
     // if (Body!=LastBody)N=N+1;   
     //   if (CurSignal!=0)K=K+1;
       
       // if (CumDel!=0)Volum=AD/CumDel;
       if (((Nprof+Nloose)> 5 )&&(SredL!= 0 )) MO=( 1 +(SredP/SredL))*((Nprof/(Nprof+Nloose))- 1 ); //MO
       //////////стандартное отклонение//////////
       if ((N> 0 )&&(LastProfit!=Profit))Sred1=Sred1+((Profit-(Sred/N))*(Profit-(Sred/N)));
       if ((N> 2 )&&(LastProfit!=Profit)) Sred2= sqrt (Sred1/(N- 1 ));
       if ((Sred2> 0 )) Sharp=MO/Sred2;
       
       
       if (GrosLoose> 0 ) ProfitFactor=GrosProf/(GrosLoose); //ProfitFactor
       
       if ((N> 2 )&&(P> 5 )) Zscore=(N*(R- 0.5 )-P)/ sqrt ((P*(P-N))/(N- 1 )); // Zscore
       
       if ((SredL> 0 )&&(SredP> 0 )&&(P> 5 ))  Kelli=(( 1 -(Nprof/N))/(SredP/SredL))-(Nprof/N);
     //Buffer0[i+1]=ProfitFactor;
    }
    
   //  Buffer1[i]=Kelli-LastKelli;
     //Buffer2[i]=Zscore-LastZscore;
     Buffer2[i]=N;
       // if ((Profit1>0)) Buffer3[i]=1; else Buffer3[i]=0;
   //      if ((Profit1<0)) Buffer5[i]=1; else Buffer5[i]=0;
     // Buffer4[i]=Sharp;
         //Buffer5[i]=HC;
   //      Buffer6[i]=LC;
  
  
   /*
  if (Buffer2[i]>0){
                     if (Profit>0.000){
                                 if (CurSignal>0) Buffer3[i]=1;
                                 if (CurSignal<0) Buffer3[i]=-1;
                                   }
                     if (Profit<0.000){
                                 if (CurSignal>0) Buffer3[i]=-1;
                                 if (CurSignal<0) Buffer3[i]=1;
                                   }
                   } 
  if (Buffer2[i]<0){
                     if (Profit>0.000){
                                 if (CurSignal>0) Buffer3[i]=-1;
                                 if (CurSignal<0) Buffer3[i]=1;
                                   }
                     if (Profit<0.000){
                                 if (CurSignal>0) Buffer3[i]=1;
                                 if (CurSignal<0) Buffer3[i]=-1;
                                   }
                   }*/
 /*
  
        LastPF=ProfitFactor;
        LastMO=MO;
        LastZscore=Zscore;
        LastSTD=STD;
        LastKelli=Kelli;
        LastSharp=Sharp;
        LastVolume=Volum;
        LastProfit=Profit;
        LastPF=ProfitFactor;*/
       // Zscore=0;
        
        } 
    
     }
 return ( 0 );    
     }
 

안녕하세요!

누군가 이미 그러한 문제에 직면했고 원인과 해결책을 알고 있습니까?

EA는 테스터에서 잘 작동하며 현재 시세에서 활성화되면 기준에 따라 열린 위치가 다음 LOSS-GOING 틱에서 닫힙니다(플러스 틱은 영향을 미치지 않음). 외부 간섭의 완전한 인상. 여기서 문제가 될 수 있는 것은 무엇입니까? 고맙습니다.

 
rapid_minus :

안녕하세요!

누군가가 이미 그러한 문제에 직면했고 원인과 해결책을 알고 있습니까?

EA는 테스터에서 잘 작동하며 현재 시세에서 활성화되면 기준에 따라 열린 위치가 다음 LOSS-GOING 틱에서 닫힙니다(플러스 틱은 영향을 미치지 않음). 외부 간섭의 완전한 인상. 여기서 문제가 될 수 있는 것은 무엇입니까? 고맙습니다.

코드가 없으면 심령술사만이 도움이 될 것입니다. 어딘가에 실이 있었다. 질문해야지
 
음, 물론, 개입이 외부에서 온 경우에는 심령술사에게만 해당됩니다.
 
Vinin :
코드가 없으면 심령술사만이 도움이 될 것입니다. 어딘가에 실이 있었다. 질문해야지

"농담 유머"는 항상 플러스입니다!

코드가 너무 커서 여기에 전체를 게시할 수 없습니다. 그러나 그것은 Sleptsov의 기성 고문을 템플릿으로 사용하여 작성되었습니다. 나는 지표 더미와 거래 기준에 대한 내 자신의 조건만을 삽입했습니다. 그 이유는 아직 일부 예비 코드 설정에 있다고 생각하지만 원본과 완전히 동일합니다.