MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1388

 
Artyom Trishkin:

試してみてください。

試してみること。第一印象は、10個必要なツールが3、4個搭載されている感じ
ストーリーは全員分をアップロードしています。
 
Valeriy Yastremskiy:
試してみること。第一印象は、3つか4つのツールがロードされているのですが、10個必要です
ストーリーは全てに搭載されています。

それじゃわからないよ~、久々に四角いものを開いてみたら

 

早速、アルゴリズムを確認するためにmt4を開きました。

テスターでは正常に動作しているのに、リアル口座にインストールしたら売買が逆転してしまうのはとても不思議です。コードはシンプルで、2つのインジケータ・バッファだけです。


 
MakarFX:
どうもありがとうございました。この部分のコードを作り直し、価格フィルタを有効にしたところ、エラーなく保留中の注文が設定されるようになりました。保留中の注文がまだぶら下がっている場合、これらの信号だけがスキップされます。意図したとおりに。今回もありがとうございました)))ちょっと質問なんですが、信号があったのに保留が設定されておらず、エラーも出ていないところがあります。つまり、この場所には適した条件がなかったから大丈夫、自信を持って生きていけるということか))) そして、この場所にも保留の注文はなかった...。
 
DanilaMactep:
どうもありがとうございました。この部分のコードを作り直し、価格フィルタを有効にしたところ、エラーなく保留中の注文が設定されるようになりました。保留中の注文がまだぶら下がっている場合、これらの信号だけがスキップされます。意図したとおりに。今回もありがとうございました)))ちょっと質問なんですが、信号があったのに保留が設定されておらず、エラーも出ていないところがあります。つまり、この場所には適当な条件がなく、大丈夫、安心して暮らせるということか)))そして、この場所にも保留命令はなかった...。
適切な条件がなく、それが普通であれば、それに耐えることができるのです。
 
Artyom Trishkin:

では、どうでしょう。久しぶりに四角いものを開いてみました。

間違っている、テスターが取る他の測定器のデータは現在のものだ。ただ、ここから(他の計器から)現在時刻との 差を計算することができます。現在時刻に近く、履歴が読み込まれていれば、テスター時刻に移行することができます。松葉づえです)。

 

質問:パネルの サイズが370で作成されて いますが、グラフを圧縮する際に200にリサイズするにはどうしたらいいですか?

#property strict

#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots   0

#include "PanelDialog.mqh"
//+------------------------------------------------------------------+
//| Global Variables                                                 |
//+------------------------------------------------------------------+
CPanelDialog ExtDialog;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit(void)
  {
//--- create application dialog
   if(!ExtDialog.Create(0,"Spread",0,12,12,250,370))
     return(INIT_FAILED);
//--- run application
   if(!ExtDialog.Run())
     return(INIT_FAILED);
//--- ok
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy application dialog
   ExtDialog.Destroy(reason);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
//---
 
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
   ExtDialog.ChartEvent(id,lparam,dparam,sparam);
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko:

質問:パネルのサイズが370で作成されていますが、グラフを圧縮する際に200にリサイズするにはどうしたらいいですか?

また、グラフの圧縮をどのように定義していますか?
 
MakarFX:
また、グラフの圧縮をどのように定義していますか?
   if(id==CHARTEVENT_CHART_CHANGE) {
      // ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS); // Высота графика
   }
 
Vitaly Muzichenko:

高さを圧縮した場合

   int ChartHigh=(ChartGetDouble(0,CHART_PRICE_MAX,0)-ChartGetDouble(0,CHART_PRICE_MIN,0))/Point; //высота графика в пунктах
   if(ChartHigh>500)  
      ExtDialog.Create(0,"Spread",0,12,12,250,200)
   else
      ExtDialog.Create(0,"Spread",0,12,12,250,370)

幅方向に圧縮する場合

   if(ChartGetInteger(0,CHART_SCALE,0)>2) 
      ExtDialog.Create(0,"Spread",0,12,12,250,200)
   else
      ExtDialog.Create(0,"Spread",0,12,12,250,370)
幅を指定する場合は、 CHART_VISIBLE_BARS も使用できます。