エラー、バグ、質問 - ページ 1466

 
Комбинатор:
skype:login_contact?chat

ほうがいい)

skype:login_contact?callの場合

 
Alexandr Bryzgalov:

ほうがいい)

skype:login_contact?callの場合

いつも電話がかかってくるような気がする。 プロフィールの自動ダイヤルなので、チャットに変更した方がいい。
 
ウェブ端末が アカウントを紛失した。3-4日前に本当のアカウントを登録しましたが、何も問題ありませんでした。と思って見てみたら、アカウントがない。全くありません。ログインやパスワードを要求されず、MQLフォーラムのユーザープロファイルの「取引口座」タブにも何も表示されない...
 

上下のレベルの行を介してインジケータ確率 最後の2つの入力で見つけたい、3つの入力が正常に表示され、その値を保存し、第四は正しく動作しません下のゾーンを離れるときにゼロにリセットして、エラーを教えてください

//--- находим индекс бара вход в верхняя зону
   for(n=0; n<(Bars-1);n++)
     {
       if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)<up_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) >up_level )
    //     break;
      UpLevel_1=n+1;
         
     }
//--- находим индекс бара второго ближайшего входа верхний уровень
  // for(n= UpLevel_1+1; n<(Bars-1);n++)
     {
      if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)<up_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) >up_level )
      //   break;
      UpLevel_2=n+1;
      UpperPrice_2=iHigh(Symbol(),PERIOD_CURRENT,UpLevel_2);
     
     }
//--- находим индекс бара первого ближайшего входа нижний уровень
  for(n=0; n<(Bars-1);n++)
     {
     if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)>dw_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) <dw_level )  
         break;
      DwLevel_1=n+1;
      LowerPrice_1=iLow(Symbol(),PERIOD_CURRENT,DwLevel_1);
     }
//--- находим индекс бара второго ближайшего входа нижний уровень
   for(n=DwLevel_1+1; n<(Bars-1);n++)
     {
       if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)>dw_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) <dw_level )
         break;
      DwLevel_2=n+1;
      LowerPrice_2=iLow(Symbol(),PERIOD_CURRENT,DwLevel_2);
      Comment("вход верхняя зона" + DoubleToStr(UpLevel_1,0)+ "\n" + // работает правельно показания сохраняет
              "предыдущий вход верхняя зона" + DoubleToStr(UpLevel_2,0)+ "\n" + // работает правельно показания сохраняет
              " вход нижняя зона" + DoubleToStr(DwLevel_1,0)+ "\n" +  //работает неправельно обнуляет показания когда выходит из нижней зоны
              " предыдущий вход нижняя зона" + DoubleToStr(DwLevel_2,0)); // работает правельно показания сохраняет
     }
 
Mikhail Lebedev:

私は、上下レベル線を通じてインジケータストキャスティック最後の2つの入力で見つけたい、3つの入力が正常に表示され、その値を保存し、4番目は正しく動作しませんボトムゾーンを離れるときにゼロにリセットされ、何が間違っているか教えてください。

一例を挙げると、簡単なスクリプトを作ってみました。

//+------------------------------------------------------------------+
//|                                         FindStochasticSignal.mq4 |
//|              Copyright 2015, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int      PeriodK=5;                       // Period %K Stochastic
int periodK=(PeriodK<1)?1:PeriodK;
input int      PeriodD=3;                       // Period %D Stochastic
int periodD=(PeriodD<1)?1:PeriodD;
input int      SlowingStc=3;                    // Slowing Stochastic
int slowingStc=(SlowingStc<1)?1:SlowingStc;
input ENUM_MA_METHOD MA_Method=MODE_SMA;        // MA Method Stochastic
input ENUM_STO_PRICE AppledPrice=STO_LOWHIGH;   // Appled Price Stochastic
input double LevelUP=70.0;                      // Up level Stochastic
input double LevelDN=30.0;                      // Down level Stochastic
input int      NumberCross=4;       // Number of Cross stochastics level
int numberCross=(NumberCross<1)?1:NumberCross;
//--- Arrays
double MassiveCrossUP[][2];
double MassiveCrossDN[][2];
MqlRates rates[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int bars=iBars(Symbol(),Period());
   if(CopyRates(Symbol(),PERIOD_CURRENT,1,bars-1,rates)>0) {
      ArraySetAsSeries(rates,true);
      int nup=0, ndn=0;
      ArrayResize(MassiveCrossUP,nup,numberCross);
      ArrayResize(MassiveCrossDN,ndn,numberCross);
      for(int i=1; i<Bars; i++) {
         double StochMain0=GetDataSTO(Symbol(),Period(),periodK,periodD,slowingStc,MA_Method,AppledPrice,MODE_MAIN,i);
         double StochMain1=GetDataSTO(Symbol(),Period(),periodK,periodD,slowingStc,MA_Method,AppledPrice,MODE_MAIN,i+1);
         if(nup>numberCross && ndn>numberCross) break;
         if(StochMain0<LevelUP && StochMain1>=LevelUP) {
            nup++;
            if(nup<=numberCross) {
               ArrayResize(MassiveCrossUP,nup);
               MassiveCrossUP[nup-1][0]=int(rates[i].time);
               MassiveCrossUP[nup-1][1]=rates[i].high;
               }
            }
         if(StochMain0>LevelDN && StochMain1<=LevelDN) {
            ndn++;
            if(ndn<=numberCross) {
               ArrayResize(MassiveCrossDN,ndn);
               MassiveCrossDN[ndn-1][0]=int(rates[i].time);
               MassiveCrossDN[ndn-1][1]=rates[i].low;
               }
            }
         }
      }
   //---
   string text_up_crossing="Пересечения сверху-вниз:\n", text_dn_crossing="Пересечения снизу-вверх:\n";
   for(int i=0; i<ArrayRange(MassiveCrossUP,0); i++) {
      string date_cross=TimeToString(int(MassiveCrossUP[i][0]));
      string value_cross=DoubleToString(MassiveCrossUP[i][1],Digits());
      string txt_i="\n"+IntegerToString(i+1)+"-е пересечение уровня "+DoubleToString(LevelUP,1)+", время бара "+date_cross+", цена High свечи: "+value_cross;
      text_up_crossing+=txt_i;
      }
   text_up_crossing+="\n====================\n";
   for(int i=0; i<ArrayRange(MassiveCrossDN,0); i++) {
      string date_cross=TimeToString(int(MassiveCrossDN[i][0]));
      string value_cross=DoubleToString(MassiveCrossDN[i][1],Digits());
      string txt_i="\n"+IntegerToString(i+1)+"-е пересечение уровня "+DoubleToString(LevelDN,1)+", время бара "+date_cross+", цена Low свечи: "+value_cross;
      text_dn_crossing+=txt_i;
      }
   Comment(text_up_crossing+text_dn_crossing);
  }
//+------------------------------------------------------------------+
double GetDataSTO(string sy, int timeframe, int k_period, int d_period, int slowing, ENUM_MA_METHOD ma_method, ENUM_STO_PRICE price_field, int mode, int pos) {
   return(iStochastic(sy,timeframe,k_period,d_period,slowing,ma_method,price_field,mode,pos));
}
//+------------------------------------------------------------------+
 
スクリプトをありがとう、今のところ1年生にとっては高等数学のようだ、私はまだ配列の扱い方を学んでいない。 私のコードに間違いを見つけた、ループで他のバーデータを挿入しなければならなかった、すべてがそれがすべきように動作した
for(n=1; n<(Bars-2);n++)
 

新しいチャートのウィンドウを 半分 以上開くことができません。Market Watchウィンドウで任意の商品を右クリックし、「Chart Window」コマンドを選択すると、チャートが不完全に開いてしまいます。

グラフを半分の大きさで表示

どうすれば克服できるのか?

 
Karputov Vladimir:

新しいチャートのウィンドウを 半分以上 開くことができないのですが。

きっと開発者が直してくれるでしょう。

とりあえず、どんな楽器でも、崩れた状態のチャートをもう一枚用意しておくことが必要です。つまり、USDJPYを開き、手動で展開し、手動で最小化するのです。その後、任意のチャートを開くことができ、フルウィンドウで表示されます。

すでにご存じの方も多いでしょう。

 

MT4の最新ビルドでポータブルモードを使用すると、MetaEditorを起動 することができません。サービスデスクに問い合わせましたが、理解できる回答は得られませんでした。

MT4があるフォルダでexe自体を実行すると、WindowsのAppDataフォルダにMetaEditorが環境とともにロードされ、ターミナルで「エキスパート変更」を押すと、同じことが起こり、以前は、ポータブルモードでターミナルを起動したフォルダからロードされていました。

 

MT4テスターの空のExpert Advisorを始値を 使用して1回実行したログ。

112972 tick events (113071 bars, 225205 bar states) processed in 0:00:00.016 (total time 0:00:05.039)

ログを見ると、EA自体がゼロタイムで履歴を通過していることが分かります。ヒストリカルデータ(100Kバー強)を用意するのに5秒かかります。こんなことは今までなかったことです。

100%の確率で動作します。MT4 build 950、Windows7 SP1 x64。

この病気にならないような極端な体型をアドバイスしていただけませんか?DOWNGRADEが必要です。