MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 669 1...662663664665666667668669670671672673674675676...1953 新しいコメント Artyom Trishkin 2018.10.17 20:16 #6681 psyman:私のトピックをきっかけとした皆さんのやり取りを読ませていただきましたが、この話題を引き起こした質問についてはどうでしょうか? SetIndexBuffer(1, tmp1) で配列を宣言しても、何も 起こりません。もちろん、同じループの中で配列のサイズを大きくすることもできますが、もっと簡単で効率的な方法を知りたいのです。そこで何をしたのか、何をしたかったのか、何ができたのか、コードを全部見せてください。 psyman 2018.10.17 20:27 #6682 ボラティリティに気をつけたい。そもそも最低でもOpen-Closeで、期間平均はSMAで行う。 //+------------------------------------------------------------------+ //| _null.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property strict #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 //--- plot OC #property indicator_label1 "O-C" #property indicator_type1 DRAW_LINE #property indicator_color1 clrSteelBlue #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- indicator buffers double ip1Buf[]; input int ip1=100; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { string s_name1; s_name1="O-C (" + IntegerToString(ip1) + ")"; IndicatorShortName(s_name1); SetIndexLabel(0, s_name1); //--- indicator buffers mapping SetIndexBuffer(0,ip1Buf); //--- 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; double tmp1[]; SetIndexBuffer(1, tmp1); Print("rates_total = ",rates_total); for(i=1; i<rates_total-1; i++) { tmp1[i]=close[i]; ip1Buf[i]=iMA(NULL,0,100,0,0,tmp1[i],0); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Artyom Trishkin 2018.10.17 20:33 #6683 psyman:ボラティリティに気をつけたい。まずは最低でもOpen-Closeで、期間平均はSMAで行います。 SetIndexBuffer(1, tmp1) なぜ OnInit() でないのか? なぜIndicatorBuffers(2)がないのか? なぜ、最適な計算をしないのか?すべてのティックに フルループがあります。 なぜiMAOnArray()ではなく、iMA()なのですか? psyman 2018.10.17 21:56 #6684 =なぜIndicatorBuffers(2)がないのか? #property strictは文句を言わないから、書き込まなかったのでしょう。 =なぜiMAOnArray()ではなくiMA()なのですか? 知識が足りないし、教科書には何も書いていない。 システムに関する知識の不足は深刻な制約となります。 =1目盛りごとにフルループ。 私はそれについて何も理解していません。理由を説明するか、それが行われている場所のリンクを教えてください。 最低1時間のTFがある。 Andrei Novichkov 2018.10.17 22:06 #6685 =На 各ティックが1サイクルと なる。 全く理解できないので、説明するか、どこでやっているのかリンクを教えてください。 私は最低1時間のTFを持っています。OnCalculateを呼び出すたびに、1からrates_totalまでのデータを精査するforループがあり、つまり同じ仕事をしています。これはもちろん、悪いことです。 Artyom Trishkin 2018.10.17 22:10 #6686 psyman:=なぜIndicatorBuffers(2)がないのか? #property strictは文句を言わないから、書き込まなかったのでしょう。 =なぜiMAOnArray()ではなくiMA()なのですか? 知識が足りないし、教科書には何も書いていない。 システムに関する知識の不足は深刻な制約となります。 =1目盛りごとにフルループ。 私はそれについて何も理解していない、私にそれを説明するか、それが行われる場所のリンクを教えてください。 最低1時間のTFがある。このスレッドの真ん中あたりにインジケーターのテンプレートを添付しておいたから、それを見つけて好きなように作ればいいんだよ。調べてみてください。あと、何だかんだと興味を持たれることが多いので、インジケーターのテンプレートを作ってこのスレッドに貼ることにしましたと書いています。 psyman 2018.10.18 02:53 #6687 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL4に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 アンドレイ・ノビチコフ さん 2018.10.17 22:06 OnCalculateを呼び出すたびに、1からrate_totalまでのデータを洗い出すforループがあり、つまり同じ仕事をしています。これは確かに悪いことだと思います。 悪いというなら、どうすればうまくできるのか教えてほしい。OnInitに計算を移しますか? psyman 2018.10.18 02:57 #6688 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム MQL4初心者のための質問、アルゴリズムやコードに関するヘルプとディスカッション アルチョム・トリシキン さん 2018.10.17 22:10 この枝の中のどこかに、インジケーターのテンプレートがありますから、それを見つけて、そこから直接好きなことをやってください。調べてみてください。仕組みに興味がある人が多いと書いたので、インジケーターのテンプレートを作ってこのスレッドに載せることにしました。インジケータ・テンプレート」という言葉と自分の名前を検索しても何も出てこず、「戦争と平和」の巻ですでにここに書きました。 投稿の中から、どんな言葉の組み合わせでもいいので、思い浮かべてみてください。 Roman Sharanov 2018.10.18 07:06 #6689 クラスインスタンスの配列を作成する方法は?ClassName* className[] を作成し、その上でArrayResizeを 行うが、メソッドへの 無効なポインタ アクセスは 行われない。 Vladimir Karputov 2018.10.18 07:20 #6690 Roman Sharanov: クラスインスタンスの配列を作成する方法は?ClassName* className[] を作成し、その上でArrayResizeを 行うが、メソッドへの 無効なポインタ アクセスは 行われない。CArrayObjに 例があります。 1...662663664665666667668669670671672673674675676...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私のトピックをきっかけとした皆さんのやり取りを読ませていただきましたが、この話題を引き起こした質問についてはどうでしょうか?
SetIndexBuffer(1, tmp1) で配列を宣言しても、何も 起こりません。もちろん、同じループの中で配列のサイズを大きくすることもできますが、もっと簡単で効率的な方法を知りたいのです。
そこで何をしたのか、何をしたかったのか、何ができたのか、コードを全部見せてください。
ボラティリティに気をつけたい。そもそも最低でもOpen-Closeで、期間平均はSMAで行う。
ボラティリティに気をつけたい。まずは最低でもOpen-Closeで、期間平均はSMAで行います。
SetIndexBuffer(1, tmp1) なぜ OnInit() でないのか?
なぜIndicatorBuffers(2)がないのか?
なぜ、最適な計算をしないのか?すべてのティックに フルループがあります。
なぜiMAOnArray()ではなく、iMA()なのですか?
=なぜIndicatorBuffers(2)がないのか?
#property strictは文句を言わないから、書き込まなかったのでしょう。
=なぜiMAOnArray()ではなくiMA()なのですか?
知識が足りないし、教科書には何も書いていない。
システムに関する知識の不足は深刻な制約となります。
=1目盛りごとにフルループ。
私はそれについて何も理解していません。理由を説明するか、それが行われている場所のリンクを教えてください。
最低1時間のTFがある。
全く理解できないので、説明するか、どこでやっているのかリンクを教えてください。
私は最低1時間のTFを持っています。
OnCalculateを呼び出すたびに、1からrates_totalまでのデータを精査するforループがあり、つまり同じ仕事をしています。これはもちろん、悪いことです。
=なぜIndicatorBuffers(2)がないのか?
#property strictは文句を言わないから、書き込まなかったのでしょう。
=なぜiMAOnArray()ではなくiMA()なのですか?
知識が足りないし、教科書には何も書いていない。
システムに関する知識の不足は深刻な制約となります。
=1目盛りごとにフルループ。
私はそれについて何も理解していない、私にそれを説明するか、それが行われる場所のリンクを教えてください。
最低1時間のTFがある。
このスレッドの真ん中あたりにインジケーターのテンプレートを添付しておいたから、それを見つけて好きなように作ればいいんだよ。調べてみてください。あと、何だかんだと興味を持たれることが多いので、インジケーターのテンプレートを作ってこのスレッドに貼ることにしましたと書いています。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL4に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。
アンドレイ・ノビチコフ さん 2018.10.17 22:06
OnCalculateを呼び出すたびに、1からrate_totalまでのデータを洗い出すforループがあり、つまり同じ仕事をしています。これは確かに悪いことだと思います。
悪いというなら、どうすればうまくできるのか教えてほしい。OnInitに計算を移しますか?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MQL4初心者のための質問、アルゴリズムやコードに関するヘルプとディスカッション
アルチョム・トリシキン さん 2018.10.17 22:10
この枝の中のどこかに、インジケーターのテンプレートがありますから、それを見つけて、そこから直接好きなことをやってください。調べてみてください。仕組みに興味がある人が多いと書いたので、インジケーターのテンプレートを作ってこのスレッドに載せることにしました。
インジケータ・テンプレート」という言葉と自分の名前を検索しても何も出てこず、「戦争と平和」の巻ですでにここに書きました。
投稿の中から、どんな言葉の組み合わせでもいいので、思い浮かべてみてください。
ClassName* className[] を作成し、その上でArrayResizeを 行うが、メソッドへの 無効なポインタ アクセスは 行われない。
クラスインスタンスの配列を作成する方法は?
ClassName* className[] を作成し、その上でArrayResizeを 行うが、メソッドへの 無効なポインタ アクセスは 行われない。
CArrayObjに 例があります。