コーディングのヘルプ - ページ 522

 

皆さん、こんにちは。

インジケータの 値をforループで計算する方法が正しいかどうか知りたいのですが(利用可能なすべてのバーを通して)。

int OnCalculate(...)

{

//...

ArraySetAsSeries(SignalLine,false)。

//...

for(int i=0; i<Bars; i++)

{

double ma=iMA(NULL,0,MaPeriod,0,MaMethod,MaPrice,i);

//...

SignalLine=ma;

//...

}

//...

return rates_total

}

追伸:論理的には、この単純なケースでは、iMAオブジェクトによってMAレプリケーションを表現し、プロットしたいと思います。しかし、ループをどのように設定すればよいのかがよくわかりません。内蔵のMT4で計算したものと比べて、少し違いがあります。どうしてでしょうか?

ありがとうございます。

 
har:
こんにちは、皆さん

インジケータの値をforループで(利用可能なすべてのバーを通して)計算する方法が正しいかどうか知りたいのです。

int OnCalculate(...)

{

//...

ArraySetAsSeries(SignalLine,false)。

//...

for(int i=0; i<Bars; i++)

{

double ma=iMA(NULL,0,MaPeriod,0,MaMethod,MaPrice,i);

//...

SignalLine=ma;

//...

}

//...

return rates_total

}

追伸:論理的には、この単純なケースでは、iMAオブジェクトによってMA複製を表現し、プロットしたいのです。しかし、ループをどのように設定すればよいのかがよくわかりません。内蔵のMT4で計算したものと比べて、少し違いがあります。どうしてでしょうか?

感謝

iMA()を使用する場合、順序は関係ありません。

しかし、正しい方法はfor(int i=Bars-1; i>=0; i--) - そうすれば、多くのケースでエラーを避けることが できます。

 

mladenさん、ありがとうございます。ArraySetAsSeries(SignalLine,false)を設定すると、以下のように反復することになりますね。

for (int i = 0; i < Bars; i++)

逆にArraySetAsSeries(SignalLine,true)とした場合は

for (int = Bars - 1; i >= 0; i--)

これで良いのでしょうか?

 
har:
mladenさん、ありがとうございます。これは、ArraySetAsSeries()関数を使用した場合、配列を逆に反復する必要があるためですよね? ありがとうございます。

新しい値が来ると、SignalLineの 要素0は新しい値 で上書きされます。

SignalLineがバッファの 場合は、 ArraySetAsSeries(SignalLine,false) を使用しないようにすればよいでしょう。

 

mladenさん、mr toolsさん、Igoradさん、こんにちは。

あなたの知恵を共有し、助けを提供してくれたことに心から感謝します。

私は長い妊娠の後、再びあなたの助けを求めているので、あなたの注意を得ることを願っています。あなたの指標T3 adaptive ma _ica.mq4 は、視覚的に良いが、時間の非可用性のために手動で従うのは難しい取引のための私のお気に入りの指標であり、私はその指標の矢印でエキスパートアドバイザーをコーディングで私を助けてほしいトレーリング、ベップ、ロットサイズと一緒にSL、TPなどの通常のEA設備と注文を取って販売されています。

MladenとIgoradは忙しいはずです - 彼らが助けることができる場合、私は才能があり、そうでない場合は助けるために喜んで誰かがこれで私を助けることができます。これは、インジケータT3 adaptive maが配置されているページです"https://c.mql5.com/forextsd/forum/167/t3_adaptive_ma_i-ca_2.01_alerts_nmc.mq4

私はまた、T3 cciと他のインディーズと要求するかもしれませんが、各インディーズは、使用真または偽のオプションと1つのEAで別々に働いています。ルーカス矢印と曲線指標ベースのEAに興味を持っている人の間で - まだそれは、価格のターンの実際の曲線を分析する上で改善が必要です、そのMAに基づいているので、価格は分析されていませんが、そのすべての外国為替のIT化、他の誰もが選択によって百万長者になります。

私はそれをコーディングしようとしたが、私はプログラマではないので、すべてが無駄に残って、それゆえ私はヘルプリクエストを上げるhere.Withoutコーディングスキルは間違いなくそのハードは、初心者や非技術者のためにコーディングすることが難しいのスーパー脳とT3適応のような非常に洗練された指標を付与するためにフォーラムfriends.Iヘルプで早い時期にライブ取引のためにそれを望みます.Hard。

夢は大きく、しかし手にしたものは小さい。

 

ああokkk...ありがとうございます。

C++ではこのような問題はなかったのですが・・・。

 

こんにちは、Mladen

あなたの投稿#5220の一つ上の投稿-#5118を見てください。

あなたのような明確な手を持つことは、私にとって最高の贈り物になるでしょう。

 
har:
ああ、わかったよ...ありがとうございます。C++ではこの種の問題はなかったのですが・・・。

私はいつもC/C++のようなモードで配列を扱うので、それらの配列のインデックスは0(最も古い)バーからBars-1(最も新しい)バーまでとなります。もし、最新のバーに対してインデックス0を使用すると、常に0番目の要素を書き換えることになる

C/C++の方法で使用する場合は、配列を使用し、サイズがBarsと等しいかどうかをチェック し、等しくない場合はBarsのサイズにリサイズし、Bars-i-1をインデックスとして要素に値を割り当てます。

もしそれがバッファであれば、インデックスの付け方はC/C++の方法とは逆になり、そのループでは何も変更する必要はありません - ただ、配列をシリーズとしてfalseに設定する部分を削除してください。

 

うん、見たよ! 私も分かりました。とにかく、MQLとC++の小さな違いだけです。私が見た限りでは、MQLにはC言語が多く含まれています。でも、私は間違いなくMQLが好きです。

私のインジケータが完成したら(そして私が有用かどうか理解できたら)、皆さんにお教えしたいと思います。

 
har:
そうだったんですか! 私もそう思っていました。とにかく、MQLとC++のちょっとした違いです。MQLには、私が見た限りでは、C言語がたくさんあります。しかし、私は間違いなくMQLが好きです 私は、準備ができたら(そして、私が有用かどうか理解できたら)私のインジケータを共有し、皆さんに手を差し伸べたいと思います。

ex4はP-codeです。実行速度は C/C++の同等品に比べ100倍以上遅い。

できれば、重要な部分はC/C++のDLLで書くと、もっと速くなる。