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

 
barabashkakvn:

MQL5インジケーターが正しく、経済的に計算されるようになりました。

ばんざーい!!!うまくいった!ありがとうございました。変数 "price[i]"を最大値に変更するには?私の理解が正しければ、現在の価格を 要求するものです。

MQL4の "iHigh "のような、ラインを超えた極端な異常値を見るためのものが必要です。

 
1218152019:
プラットフォームuTrader TP 上の実際の取引口座に 売買シグナルロボットをバインドする方法をアドバイスしてください、問題は、ログインウィンドウでサブスクリプションを作るときに取引口座のユーザ名が唯一のデジタルであることができることをコメントをポップアップ表示することです。

しないんです。

Как подписаться на Торговые Сигналы
Как подписаться на Торговые Сигналы
  • 2012.10.09
  • MetaQuotes Software Corp.
  • www.mql5.com
Новая версия сервиса «Сигналы» на MQL5.com теперь интегрирована с торговой платформой MetaTrader 5 и позволяет трейдерам подключаться к любому сигналу, выставленному продавцом. Это означает, что вы выбираете заинтересовавшего вас поставщика торговых сигналов, подписываетесь на него – и все его сделки с этого момента повторяются на вашем счете.
 
forexman77:

万歳!!!!うまくいった!ありがとうございました。変数 "price[i]"を最大値に置き換えるにはどうしたらいいですか?私の理解が正しければ、現在の価格を 要求するものです。

MQL4の "iHigh "のような、ラインを超えた極端な異常値を見るためのものが必要です。

インジケータをチャートに貼り付けたら、タブをクリックします。そこには、インジケータを計算するための様々な価格バリエーション(Open、Close...)のドロップダウンリストがあります。
 
barabashkakvn:
インディケータをチャートに貼り付ける際、タブをクリックすると、インディケータが計算される様々な価格バリエーション(Open、Close...)のドロップダウンリストが表示されます。

計算機能では、前のものと置き換えます。

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[])
  {
とし、price[i]をhigh[i]に置き換えた。効果があるようです。効くんです。
 
forexman77:

関数では、古いものの代わりに置くことを計算します。

で、price[i]をhigh[i]に置き換えています。効果があるようです。効果あり!
この場合、インジケーターコードでHighにハードワイヤーをかけることになります。しかし、それも正しいのです。がんばってください。
 
barabashkakvn:
その場合、インジケーターコードでHighにハードワイヤーをかけることになります。でも、それは正しいことなんです。がんばってください。
今回もありがとうございましたMQL5は、MQL4よりもはるかに複雑な言語です。
 

ArrayMaximum関数で 取得したバーの時間またはインデックスを取得する必要がある。

なんとか最大値、バーの総数を確保しました。そうすると、はっきりしないんです。

double High[];
int i=0;
int k=12;
CopyHigh(_Symbol,_Period,i,k,High);
double Maxi=High[ArrayMaximum(High)]//получено значение максимума 
Alert("Maxi=",Maxi);
int e=ArraySize(High);//получено общее кол-во баров  
Alert("e=",e);
Документация по MQL5: Операции с массивами / ArrayMaximum
Документация по MQL5: Операции с массивами / ArrayMaximum
  • www.mql5.com
Операции с массивами / ArrayMaximum - Документация по MQL5
 
forexman77:

ArrayMaximum関数で 取得したバーの時間またはインデックスを取得する必要がある。

なんとか最大値、バーの総数を確保しました。しかし、さらにその先には、明確なものがない。

ArrayMaximumの ヘルプ(https://www.mql5.com/ru/docs/array/arraymaximum)をお読みください。

バーのインデックスは既に取得済みです。

Документация по MQL5: Операции с массивами / ArrayMaximum
Документация по MQL5: Операции с массивами / ArrayMaximum
  • www.mql5.com
Операции с массивами / ArrayMaximum - Документация по MQL5
 
barabashkakvn:

ArrayMaximumに関する ヘルプを読む https://www.mql5.com/ru/docs/array/arraymaximum

すでにバーインデックスを取得しているんですね。

ありがとうございました。インデックスが抽出されました。今は正しい時刻を知ることができない。これにはCopyTimeという関数を使っています。

インデックス要素の時刻を取得する他の方法があるのでは?

double High[];
datetime Time[];
int i=0;
int k=31;
CopyHigh(_Symbol,_Period,i,k,High);
double Maxi=High[ArrayMaximum(High)];
int s=ArrayMaximum(High,i,k);
int start = s;// индекс бара
int count = 1; // количество баров
CopyTime(_Symbol,_Period,s,count,Time);
Alert("Time=",Time[0]);
Alert("s=",s);
Alert("Maxi=",Maxi);
 
forexman77:

ありがとうございました。インデックスが抽出されました。今、私は彼の正しい時間を得ることができません。


Alert("Time=",Time[s]);
理由: