初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1240

 
テスターで最適化可能なパラメータを増やすには?もしかしたら、MQLやPythonなどで仮想的な方法があるかもしれませんね?何か方向性を示してください、お願いします...。
 
Vladimir M.:
テスターで最適化されたパラメータを増やすにはどうしたらよいですか?もしかしたら、MQLやPythonなどで仮想的な方法があるかもしれませんね?何かヒントをください、お願いします...。

OnTester()

 
Vladimir Karputov:

参考までに例を挙げますと!何回目?意味がよくわからないのに、自分で作った建前を使うのはやめましょう。標準的な構成要素を使用する - それがどのように機能するかを把握する。その後は、自分の建前をゴミ箱に捨ててください。


そして、'MQL Wizard'を使ってテンプレートを生成します。

コード

と結果


ウラジミール、唖者と聾者の間で話そうとしているような気がするんだ。

  1. MQL Wizard」 テンプレートを使用しました。
  2. なぜ、私の造語にこだわるのですか?特に私のニーズに合わせて、あなたより悪くありませんよ

if(rates_total - prev_calculated > 1)

rates_total = ХХХ (ХХХ = 1000とする), prev_calculated = 0, rates_total - prev_calculated (1000 - 0 = 1000) 1より大きい!インジケータを実行するとき、ХХХ = 1000, prev_calculated = 0, rates_total - ХХХ = 1000, prev_calculated = 0を実行する。この条件が功を奏したのです

次のページ

if(prev_calculated == 0)

インジケータを起動すると、prev_calculated = 0 になります。この条件が功を奏したのです

そして、あなたのとどう違うのか説明してください。

      Buffer1[i]=open[i];
      Buffer2[i]=high[i];
      Buffer3[i]=low[i];
      Buffer4[i]=close[i];

うちから

            barsBuffer1[0] = newCandles_Open[i];
            barsBuffer2[0] = newCandles_High[i];
            barsBuffer3[0] = newCandles_Low[i];
            barsBuffer4[0] = newCandles_Close[i];

ArraySetAsSeriesが trueに設定されていることを考えると......?

なぜ、あなたの燭台はレンダリングされているのに、私の燭台はレンダリングされていないのですか?

もう2週間くらい前から説明してくれって言ってるんだけどな~。ドキュメントを読むために私を送る必要はありませんほとんど暗記しています。なぜなのか、教えてください。説明するか、わからないと言うか、答えたくないと言うか!?

おいおい、このスレッドのタイトルを忘れたのか?

 
Сергей Таболин:


これはどうでしょう?バッファのゼロインデックスにすべてのインデックスが割り当てられていますね。

            barsBuffer1[i] = newCandles_Open[i];
            barsBuffer2[i] = newCandles_High[i];
            barsBuffer3[i] = newCandles_Low[i];
            barsBuffer4[i] = newCandles_Close[i];
 
Сергей Таболин:


それを教えるために、私は何度も例を挙げているのに、あなたは壁に頭を打ちつけているのです。

最後に:デザインはゴミ箱に捨てて、標準のものを使ってください。そして、あなたのルールに従って、(例えば、チャートの右端の5本のローソク足を)どのように描けばよいかを尋ねればよいのです。しかし、その前に、構成物をゴミ箱に捨て、postfix incrementの 代わりにprefixincrementを 使うのをやめなければなりません...。

 
Сергей Таболин:


//+------------------------------------------------------------------+
//|                                                 Draw Candles.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_plots   1
//--- plot USDJPY
#property indicator_label1  "USDJPY"
#property indicator_type1   DRAW_CANDLES
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- input parameters
input int      Input1=9;
//--- indicator buffers
double   Buffer1[];
double   Buffer2[];
double   Buffer3[];
double   Buffer4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
   SetIndexBuffer(1,Buffer2,INDICATOR_DATA);
   SetIndexBuffer(2,Buffer3,INDICATOR_DATA);
   SetIndexBuffer(3,Buffer4,INDICATOR_DATA);
//--- the 0 (empty) value will mot participate in drawing
   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(rates_total<10)
      return(0);
//---
   int limit=prev_calculated-5;
   if(prev_calculated==0)
     {
      limit=rates_total-5;
      for(int j=0; j<limit; j++)
        {
         Buffer1[j]=0.0;
         Buffer2[j]=0.0;
         Buffer3[j]=0.0;
         Buffer4[j]=0.0;
        }
     }
   for(int i=limit; i<rates_total; i++)
     {
      if(i<rates_total-5)
        {
         //--- затираем всё, что левее пяти свеч (сюда попадаем при рождении нового бара)
         Buffer1[i]=0.0;
         Buffer2[i]=0.0;
         Buffer3[i]=0.0;
         Buffer4[i]=0.0;
         continue;
        }
      //--- четыре левые свечи будут перерисовываться на каждом тике - это не оптимально,
      //--- но пригодится в будущем (если для них потом подсовывать тики)
      //--- пятая свеча (она же самая правая на графике) реагирует онлайн на изменение текущих цен
      Buffer1[i]=open[i];
      Buffer2[i]=high[i];
      Buffer3[i]=low[i];
      Buffer4[i]=close[i];
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

結果


ファイル:
 
Vladimir Karputov:

それを教えるために、私は何度も例を挙げているのに、あなたは壁に頭を打ちつけているのです。

最後に:デザインはゴミ箱に捨てて、標準のものを使ってください。そして、あなたのルールに従って、(例えば、チャートの右端の5本のローソク足を)どのように描けばよいかを尋ねればよいのです。しかし、構成要素を捨てたり、postfix incrementの 代わりにprefixincrementを 使わなくなる前ではダメだ ...

何か恨みでもあるんですか?理解できないから?私はこのループをよく使いますが、例えば

for(int i PositionsTotal(); i-- > 0)

と、全く問題ありません.........。

 
Alexey Viktorov:

彼のどこが嫌なんですか?理解できないから?私などは、このサイクルをよく使っています

for(int i PositionsTotal(); i-- > 0)

と、全く問題ありません.........。

慌てて回答するのではなく、読んでみてはいかがでしょうか?あなたは(ほとんどの人がそうであるように)postfixを使用しています。そして、あなたの例は後付けです。考えるより、ただ答えを急いではいけないのです。

 
Youri Lazurenko:
CPU負荷が100%で、数分作業した後にコンピュータがクラッシュする(プロセッサはphenom II x4 955(4コア、3.2GHz)、クーラーは余裕のあるもの)。2回目にして、これ以上リスクを冒すのはやめようと思ったんです。これはどう解釈したらいいのでしょうか。

Aida64やLinxでパソコンをチェック - CPUやメモリのテストに問題がなく、温度も正常範囲内であれば、HDDをチェックします。一般的には電源のようですが、長い間交換されていないのであれば、それが問題である可能性が高いと思われます。2台目のPhenomsでは端末が正常に動作しています。

 
こんにちは、同僚たち、1つのボールで水平ダッシュの形でそのようなシンボルがあるかどうか知っていますか、私はそれを見つけることができません:-)。
理由: