MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1497 1...149014911492149314941495149614971498149915001501150215031504...1953 新しいコメント MarsNet 2021.06.09 05:00 #14961 HELLO PEOPLE !ヘルプPLEASEは、インフォーマを持って、それが削除される必要があります...スワップ、手数料なしの純利益をカウントするようにできますか?ありがとうございました。 ファイル: Indicate_orders.mq4 12 kb Screenshot_1.jpg 170 kb Alexey Viktorov 2021.06.09 06:16 #14962 ANDREY:皆さんこんにちは! mql4のfor()文について質問です。この演算子のヘッダは、ある変数の値を徐々に増加または減少させるfor(int A=14; A>=0;A--) orfor(int A=0; A<14;A++) orfor(int A=0; A<14;A=+2) 与えられた例1、2において、A変数の増加、減少のサイズは常に同じと仮定して います。質問:A変数がタイムフレームの値(1(分),5,15,30,60,240,1440)の場合、この変数の増加または減少のサイズが等しくないことは明らかである。この場合、変数Aを1から始めて、反復毎に必要な分だけを一律にインクリメントするようにfor ヘッダーをフォーマットするにはどうしたらよいでしょうか。変数Aを使った例は特殊なケースです。一般に、ループヘッダ内の変数を希望する間隔で不均一に変化させる必要がある場合、どのようにループをフォーマットすればよいのでしょうか。 それとも、このような場合に使用する他の演算子があるのでしょうか?しかし、他の演算子はforと 比較して非常にかさばるように思います。 for 文の助けを借りて、 そのヘッダと 正確に私の問題を解決するために私を助けてください。 なぜなら、 for 文の本体の中で私の問題を解決するには、 もちろんif文を使うこともできますが、非常に面倒で、7つの正しい値をフィルタリングするために、for 文は1440回の反復をしなければ ならないからです。 ありがとうございます。 ここにエラーがあります。 for(int A=0; A<14;A+=2) となるはずです。 一番簡単に思いつくのは、ピリオドを配列に入れることです ENUM_TIMEFRAMES per[] = {PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1}; /********************Script program start function*******************/ void OnStart() { for(int i = 0; i < ArraySize(per); i++) { Print(EnumToString(per[i])); } }/******************************************************************/ /*****************************End program****************************/ Tretyakov Rostyslav 2021.06.09 06:37 #14963 Alexey Viktorov:最も単純に思いつくのは、配列でピリオドをスコア化することです ありがとう、私も使えたよ) ANDREY 2021.06.09 06:41 #14964 Alexey Viktorov:ここにエラーがあります。 for(int A=0; A<14;A+=2) となるはずです。一番簡単に思いつくのは、ピリオドを配列に格納することです。 ご指摘ありがとうございます。思っていたよりずっとシンプルに仕上がりました。 ひとつだけわからないことがあります。配列の名前は per です。そして、ENUM_TIMEFRAMESは、変数型の識別子ですか?mql4 Referenceには、そのような識別子は見当たりません。しかありません。 列挙 Перечисления - Целые типы - Типы данных - Основы языка - Справочник MQL4 docs.mql4.com Перечисления - Целые типы - Типы данных - Основы языка - Справочник MQL4 Tretyakov Rostyslav 2021.06.09 07:07 #14965 ANDREY:ご教示いただきありがとうございました。思っていたよりずっと簡単なことがわかりました。 ただひとつ、理解できなかったことがあります。配列の名前 per.そして、ENUM_TIMEFRAMESは、変数型の識別子ですか?mql4 Referenceには、そのような識別子は見当たりません。しかありません。 列挙 これ Периоды графиков - Константы графиков - Константы, перечисления и структуры - Справочник MQL4 docs.mql4.com Периоды графиков - Константы графиков - Константы, перечисления и структуры - Справочник MQL4 ANDREY 2021.06.09 07:17 #14966 MakarFX:これ mql 5の情報を送っていただいたということでよろしいでしょうか?それとも、この情報はmql 4にも適用されるのでしょうか? Tretyakov Rostyslav 2021.06.09 07:19 #14967 ANDREY:mql 5の情報を送っていただいたということでよろしいでしょうか?それとも、この情報はmql 4にも適用されるのでしょうか? 修正しました。 ANDREY 2021.06.09 07:22 #14968 MakarFX: 修正しました。 ありがとうございます。 Alexey Viktorov 2021.06.09 08:39 #14969 ANDREY:ありがとうございます。 ちょっとしたアドバイス:ENUM_TIMEFRAMESに すぐに慣れて、分数という数値 表現は忘れてください。 まずPERIOD_W1 、10080よりも情報量が多く、1週間であることが明確です。 次に、mql5では期間が分数に対応しておらず、mql5への移行時に不要な問題になることはないでしょうし、避けられないでしょう。 まあ、どうしても期間内の分数が必要ということであれば int PeriodSeconds( ENUM_TIMEFRAMES period=PERIOD_CURRENT // период графика ); Print(PeriodSeconds(PERIOD_W1)/60); // = 10080 jarikn 2021.06.09 10:59 #14970 みんな、インジケータにアラートを付けるのを手伝ってくれ。 #property copyright "Subu" #property link "http://www.google.com" #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red #property indicator_width1 2 #property indicator_width2 2 #property indicator_chart_window double UpArrow[]; double DownArrow[]; extern int ShiftArrow = -2; extern bool FilterBullBearCandle = false; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0, DRAW_ARROW, EMPTY,2); SetIndexArrow(0, 233); SetIndexBuffer(0, UpArrow); SetIndexEmptyValue(0,0.0); SetIndexShift(0,ShiftArrow); SetIndexStyle(1, DRAW_ARROW, EMPTY,2); SetIndexArrow(1, 234); SetIndexBuffer(1, DownArrow); SetIndexEmptyValue(1,0.0); SetIndexShift(1,ShiftArrow); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit, i, counter; if(counted_bars<0) return(-1); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- for(i = 0; i <= limit; i++) { DownArrow[i] = 0; UpArrow[i] = 0; if(High[i+2]>High[i+1] && Low[i+2]>Low[i+1] && High[i+2]>High[i+3] && Low[i+2]>Low[i+3]) if( Open[i+1]>Close[i+1] && Close[i+2] > Close[i+1]) if(FilterBullBearCandle) { if( Open[i+2]>Close[i+2]) DownArrow[i] = High[i+2] +0.0003;//Low[i+2] + (High[i+2]-Low[i+2]); } else DownArrow[i] = High[i+2] +0.0003;//Low[i+2] + (High[i+2]-Low[i+2]); if(High[i+2]<High[i+1] && Low[i+2]<Low[i+1] && High[i+2]<High[i+3] && Low[i+2]<Low[i+3]) if( Open[i+1]<Close[i+1] && Close[i+2] < Close[i+1]) if(FilterBullBearCandle) { if( Open[i+2]<Close[i+2] ) UpArrow[i] = Low[i+2] - 0.0003;//High[i+2] - (High[i+2]-Low[i+2]); } else UpArrow[i] = Low[i+2] - 0.0003;//High[i+2] - (High[i+2]-Low[i+2]); } //---- return(0); } 1...149014911492149314941495149614971498149915001501150215031504...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さんこんにちは!
mql4のfor()文について質問です。この演算子のヘッダは、ある変数の値を徐々に増加または減少させる
for(int A=14; A>=0;A--) orfor(int A=0; A<14;A++) orfor(int A=0; A<14;A=+2) 与えられた例1、2において、A変数の増加、減少のサイズは常に同じと仮定して います。
質問:A変数がタイムフレームの値(1(分),5,15,30,60,240,1440)の場合、この変数の増加または減少のサイズが等しくないことは明らかである。この場合、変数Aを1から始めて、反復毎に必要な分だけを一律にインクリメントするようにfor ヘッダーをフォーマットするにはどうしたらよいでしょうか。
変数Aを使った例は特殊なケースです。一般に、ループヘッダ内の変数を希望する間隔で不均一に変化させる必要がある場合、どのようにループをフォーマットすればよいのでしょうか。
それとも、このような場合に使用する他の演算子があるのでしょうか?しかし、他の演算子はforと 比較して非常にかさばるように思います。 for 文の助けを借りて、 そのヘッダと 正確に私の問題を解決するために私を助けてください。 なぜなら、 for 文の本体の中で私の問題を解決するには、 もちろんif文を使うこともできますが、非常に面倒で、7つの正しい値をフィルタリングするために、for 文は1440回の反復をしなければ ならないからです。
ありがとうございます。
ここにエラーがあります。 for(int A=0; A<14;A+=2) となるはずです。
一番簡単に思いつくのは、ピリオドを配列に入れることです
最も単純に思いつくのは、配列でピリオドをスコア化することです
ありがとう、私も使えたよ)
ここにエラーがあります。 for(int A=0; A<14;A+=2) となるはずです。
一番簡単に思いつくのは、ピリオドを配列に格納することです。
ご指摘ありがとうございます。思っていたよりずっとシンプルに仕上がりました。
ひとつだけわからないことがあります。配列の名前は per です。そして、ENUM_TIMEFRAMESは、変数型の識別子ですか?mql4 Referenceには、そのような識別子は見当たりません。しかありません。
ご教示いただきありがとうございました。思っていたよりずっと簡単なことがわかりました。
ただひとつ、理解できなかったことがあります。配列の名前 per.そして、ENUM_TIMEFRAMESは、変数型の識別子ですか?mql4 Referenceには、そのような識別子は見当たりません。しかありません。
これ
これ
mql 5の情報を送っていただいたということでよろしいでしょうか?それとも、この情報はmql 4にも適用されるのでしょうか?
mql 5の情報を送っていただいたということでよろしいでしょうか?それとも、この情報はmql 4にも適用されるのでしょうか?
修正しました。
ありがとうございます。
ありがとうございます。
ちょっとしたアドバイス:ENUM_TIMEFRAMESに すぐに慣れて、分数という数値 表現は忘れてください。
まずPERIOD_W1 、10080よりも情報量が多く、1週間であることが明確です。
次に、mql5では期間が分数に対応しておらず、mql5への移行時に不要な問題になることはないでしょうし、避けられないでしょう。
まあ、どうしても期間内の分数が必要ということであれば