どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 959

 
rapid_minus:

こんにちは。

私のExpert Advisorのコードにエラーがないか探していたところ、混乱に遭遇しました。OnTick()関数内のif()演算子のテストが一度だけ機能し、その後のティックやバーでは機能しないのです。

なぜ?添付のコードのどこがおかしいのでしょうか?

さて、どこで変数が再割り当てされているのか、探してみましょう。まず、ClsS = false; が実行される場所を探します。
 
AlexeyVik:
さて、どこで変数が再割り当てされているのか、探してみましょう。まず、ClsS = false; が実行される場所を探します。
グローバル変数 に ClsS = false を設定。あはは!わかりました!falseをtrueに変更します。確認しよう...
 

WORKING!ありがとうございました。

さらに調べてきます。いつもありがとうございます。

 
また、助けてください...。開閉条件を確認すると、与えられた条件に従って表示されるのですが、さらに進むと、アラートに「存在しない」と書かれてしまいます。こちらも何か見落としがあるのでしょうか?
//----------------------------------------------------------------------------------- 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:

mインジケータでプログラム的に行うにはどうしたらいいですか?

ヘルパーでどう聞けばいいかわからない。

どなたか、具体的なリンクやキーワードを教えてください。

ChartGetInteger() および CHART_WINDOW_IS_VISIBLE プロパティを 参照してください。

 

皆さん、こんにちは! さて、ここでいきなりですが......質問です。スタート機能をご紹介します。質問、なぜ新しいバーが できるたびに変数Nが2倍になるのですか?各新しいバーで、それは新しい信号が到着したときだけそれを行う必要がありますが?

開発者は何を言っているんだ?

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);    
     }
 

こんにちは。

もしかしたら、すでにこの問題に遭遇して、原因と解決策を知っている人がいるかもしれません。

このアドバイザーはテスター上で明確に動作し、現在の相場上で有効にすると、基準によって開かれたポジションは次のLOSSINGティックで閉じます(プラスティックは影響しません)。外的干渉を受けたという印象が全面に出ています。ここで問題になりそうなことは何でしょうか?ありがとうございます。

 
rapid_minus:

こんにちは。

もしかしたら、すでにこの問題に遭遇して、原因と解決策を知っている人がいるかもしれません。

このアドバイザーはテスター上で明確に動作し、現在の相場上で有効にすると、基準によって開かれたポジションは次のLOSSINGティックで閉じます(プラスティックは影響しません)。外的干渉を受けたという印象が全面に出ています。ここで問題になりそうなことは何でしょうか?ありがとうございます。

暗号がなければ、超能力者しか助けられない。どこかに支店があるはずだ。そこで質問すべきなのです。
 
まあ確かに外部からの干渉があれば、サイキックだけに。
 
Vinin:
暗号がなければ超能力者しか助けられない。どこかに支店があったはずだ。そこで質問してください

ユーモアのあるジョーク」は必ずプラスに働く!

コードが大きすぎて、ここに全部を掲載することはできません。しかし、それはSleptsovのExpert Advisorをテンプレートにして書かれたものである。取引基準の指標や条件を自分で挿入しているだけです。その理由は、何らかの予備的なコード設定にあると思いますが、オリジナルと全く同じです。