インジケータを無償で作成します - ページ 98 1...919293949596979899100101102103104105...129 新しいコメント A-V-K 2020.10.09 07:19 #971 Aleksei Stepanenko:私はほんの少ししかお手伝いできません、絶対に無料です。インジケーターの下部には、2つの機能があります。コメントには、インジケータ自体の値と、最後のトレンドライン 上の現在のポイントの値が表示されます。図解してください。 アレクセイ、ありがとうございます。良い一日をお過ごしください。 Aleksei Stepanenko 2020.10.09 08:08 #972 A-V-K: アレクセイ、ありがとうございます。良い一日をお過ごしください。 . Tretyakov Rostyslav 2020.10.09 16:35 #973 こんにちは。 次のようなインジケータを書きました。 //+------------------------------------------------------------------+ //| MTF_H&L.mq4 | //+------------------------------------------------------------------+ #property copyright "Copyright 2020" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_width1 1 #property indicator_color1 clrTeal #property indicator_type1 DRAW_LINE #property indicator_width2 1 #property indicator_color2 clrCrimson #property indicator_type2 DRAW_LINE //--- input ENUM_TIMEFRAMES period01 = PERIOD_D1; input ENUM_TIMEFRAMES period02 = PERIOD_M15; input int percount = 10; //Ограничение истории double Buffer1[]; double Buffer2[]; int index1=-1; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- SetIndexBuffer(0, Buffer1, INDICATOR_DATA); SetIndexBuffer(1, Buffer2, INDICATOR_DATA); //--- IndicatorDigits(Digits); 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[]) { //--- int i, limit, barcount; barcount=period01/Period()*percount; if(barcount != 0) limit = barcount; else limit = rates_total - 2; for(i=limit;i>=0;i--) { if(TimeSeconds(time[i])==0) index1=iBarShift(Symbol(), period02, time[i], false); if(TimeHour(time[i])==0&&TimeMinute(time[i])<period02) { Buffer1[i]=iOpen(NULL,period02,index1); Buffer2[i]=iOpen(NULL,period02,index1); } else { Buffer1[i]=iHigh(NULL,period02,index1); if(Buffer1[i]<Buffer1[i+1]){ Buffer1[i]=Buffer1[i+1];} Buffer2[i]=iLow(NULL,period02,index1); if(Buffer2[i]>Buffer2[i+1]){ Buffer2[i]=Buffer2[i+1];} } } //--- return(rates_total); } //+------------------------------------------------------------------+ インジケーターの修正、またはその方法を教えてください。 1) 基準点「period01」を設定し、新しい期間の始まりに「iOpen」でインジケータを開始させる方法がわかりません。 2)「iHighest」の使い方が分からないので、そんな「松葉づえ」を使わなくてもいいのでは? if(Buffer1[i]<Buffer1[i+1]){ Buffer1[i]=Buffer1[i+1];} よろしくお願いします。 Алексей Тарабанов 2020.10.09 19:38 #974 MakarFX:こんにちは。次のようなインジケータを書きました。インジケーターの修正、またはその方法を教えてください。1) 基準点「period01」を設定し、新しい期間の始まりに「iOpen」でインジケータを開始させる方法がわかりません。2)「iHighest」の使い方が分からないので、そんな「松葉づえ」を使わなくてもいいのでは?よろしくお願いします。 なぜ書いたのですか? Tretyakov Rostyslav 2020.10.09 19:58 #975 Алексей Тарабанов:なぜ書いたのですか? パターンを探している... を地下に移動させると、このようになります。 Aleksei Stepanenko 2020.10.09 20:53 #976 MakarFX:ごきげんよう。マカーさん、ごきげんよう。ここの初値はいくらですか? 最初の小節の極値をすぐに取ること。このように。if(i==limit || TimeDay(time[i])!=TimeDay(time[i+1])) { Buffer1[i]=iHigh(NULL,period02,index1); Buffer2[i]=iLow(NULL,period02,index1); } else { if(iHigh(NULL,period02,index1)-Buffer1[i+1]>0) { Buffer1[i]=iHigh(NULL,period02,index1); } else { Buffer1[i]=Buffer1[i+1]; } if(Buffer2[i+1]-iLow(NULL,period02,index1)>0) { Buffer2[i]=iLow(NULL,period02,index1); } else { Buffer2[i]=Buffer2[i+1]; } } それとも、私の考え方が間違っているのでしょうか? Tretyakov Rostyslav 2020.10.09 21:21 #977 Aleksei Stepanenko:マカーさん、ごきげんよう。ここの初値はいくらですか? 最初の小節の極値をすぐに取ること。このように。 それとも、私が勘違いしていたのでしょうか? を書きました。 1) 新しい期間の始まりに「iOpen」でインディケータが始まるように、「period01」基準点を設定する方法がわかりません。 最初のバーの極値は正しく、"else "の後にあなたのコードを取るために、すぐに取る。ありがとうございます。 しかし、ここで if(i==limit || TimeDay(time[i])!=TimeDay(time[i+1])) なぜなら、それは一日の始まりにリンクされており、私は "期間01 "選択 - H1;H4; などが必要であるため、それはフィットしない。 Aleksei Stepanenko 2020.10.09 21:40 #978 あるいは、現在の日付を時間枠の秒 数で割って、その結果の値を前回の値と比較する方法もあります。 int part=0; int OnCalculate(......) { for(......) { if(time[i]/PeriodSeconds(period01)>part) { part=time[i]/PeriodSeconds(period01); Buffer1[i]=iHigh(NULL,period02,index1); Buffer2[i]=iLow(NULL,period02,index1); } else ....... スタートはチャートと同期していないかもしれませんが、タイミングバーは正しくカウントされます。最初のスタートをどう同期させるか、考えてみてはいかがでしょうか。 などです。 if(time[i]%PeriodSeconds(period01)==0) Tretyakov Rostyslav 2020.10.10 09:11 #979 Aleksei Stepanenko:あるいは、現在の日付を時間枠の秒数で割って、その結果の値を前回の値と比較する方法もあります。スタートはチャートと同期していないかもしれませんが、タイミングバーは正しくカウントされます。最初のスタートをどう同期させるか、考えてみてはいかがでしょうか。などです。 ありがとうございます、やってみます。 Aleksei Stepanenko 2020.10.10 09:47 #980 どういたしまして。短めのエントリーです。 Buffer1[i]=MathMax(iHigh(NULL,period02,index1),Buffer1[i+1]); Buffer2[i]=MathMin(iLow(NULL,period02,index1),Buffer2[i+1]); 1...919293949596979899100101102103104105...129 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はほんの少ししかお手伝いできません、絶対に無料です。
インジケーターの下部には、2つの機能があります。コメントには、インジケータ自体の値と、最後のトレンドライン 上の現在のポイントの値が表示されます。
図解してください。
アレクセイ、ありがとうございます。良い一日をお過ごしください。
こんにちは。
次のようなインジケータを書きました。
インジケーターの修正、またはその方法を教えてください。
1) 基準点「period01」を設定し、新しい期間の始まりに「iOpen」でインジケータを開始させる方法がわかりません。
2)「iHighest」の使い方が分からないので、そんな「松葉づえ」を使わなくてもいいのでは?
よろしくお願いします。
こんにちは。
次のようなインジケータを書きました。
インジケーターの修正、またはその方法を教えてください。
1) 基準点「period01」を設定し、新しい期間の始まりに「iOpen」でインジケータを開始させる方法がわかりません。
2)「iHighest」の使い方が分からないので、そんな「松葉づえ」を使わなくてもいいのでは?
よろしくお願いします。
なぜ書いたのですか?
なぜ書いたのですか?
パターンを探している...
を地下に移動させると、このようになります。
ごきげんよう。
マカーさん、ごきげんよう。
ここの初値はいくらですか? 最初の小節の極値をすぐに取ること。このように。
それとも、私の考え方が間違っているのでしょうか?マカーさん、ごきげんよう。
ここの初値はいくらですか? 最初の小節の極値をすぐに取ること。このように。
それとも、私が勘違いしていたのでしょうか?を書きました。
1) 新しい期間の始まりに「iOpen」でインディケータが始まるように、「period01」基準点を設定する方法がわかりません。
最初のバーの極値は正しく、"else "の後にあなたのコードを取るために、すぐに取る。ありがとうございます。
しかし、ここで
なぜなら、それは一日の始まりにリンクされており、私は "期間01 "選択 - H1;H4; などが必要であるため、それはフィットしない。
あるいは、現在の日付を時間枠の秒 数で割って、その結果の値を前回の値と比較する方法もあります。
スタートはチャートと同期していないかもしれませんが、タイミングバーは正しくカウントされます。最初のスタートをどう同期させるか、考えてみてはいかがでしょうか。
などです。
あるいは、現在の日付を時間枠の秒数で割って、その結果の値を前回の値と比較する方法もあります。
スタートはチャートと同期していないかもしれませんが、タイミングバーは正しくカウントされます。最初のスタートをどう同期させるか、考えてみてはいかがでしょうか。
などです。
どういたしまして。短めのエントリーです。