シンプルなCCIとMAフィルターEA - ページ 3

 
RaptorUK:
CCIの使用は、それが「再描画」することを意味します ... バーの間に何度も100を越えて行ったり来たりするかもしれないので、注意してください。
ありがとうございます。)
 

MT4に付属しているCCIカスタムインジケータのコードを以下のように修正しました。

//I added this global input variable

extern int AppliedPrice = 1; //1 means open price, and 5 means typical. see https://docs.mql4.com/constants/prices


//within the start() function, I changed this

MovBuffer[i] = iMA(NULL, 0, CCIPeriod, 0, MODE_SMA, AppliedPrice, i);

これをコモディティ・チャネル・インデックス・インディケーター(コードにアクセスできないもの)と一緒にチャートに落としてみると。どちらもtypicalは同じ値を出しましたが、openは違う値を出しました!!!

どなたかお分かりになる方いらっしゃいますか?

タポ

 
tapo:

MT4に付属しているCCIカスタムインジケータのコードを以下のように修正しました。

これをコモディティ・チャネル・インデックス・インディケーター(コードにアクセスできないもの)と一緒にチャートに落としてみると。どちらもtypicalは同じ値を出しましたが、openは違う値を出しました!!!

どなたかお分かりになる方いらっしゃいますか?

タポ

これらのスクリーンショットをお持ちですか?
 
diostar:
これらのスクリーンショットをお持ちですか?


http://i39.tinypic.com/2e1vvav.png

http://i41.tinypic.com/21o55e1.png

 

こんにちは。

コードを整理して、純粋なCCIトリガーとローソクの終値に基づくポジションを開くコードだけを残しました。なぜこのポジションが開かれたのか、どなたか説明していただけませんか?EAがCCIトリガーを取るためにローソク足が閉じるのを待たなかったからでしょうか?もしそうなら、どのようにそれを修正すればいいのでしょうか?

http://i40.tinypic.com/znmmue.png

回答

tapo

 

なぜか添付ファイルが取れませんでした。以下がそのEAです。

http://www.4shared.com/folder/uzm1fNWV/_online.html

なぜこのような挙動になるのか、見ていただけませんか?

 
tapo:

なぜか添付ファイルが取れませんでした。以下がそのEAです。

http://www.4shared.com/folder/uzm1fNWV/_online.html

なぜこのような動作をするのか、見ていただけませんか?

CCIの値は1本目と2本目を見ていないのですか? 注文が出されたローソクはその時0本目でした ... そのCCI値が最終的に127であることは問題ではありません ....

else if (CCI1[ 2 ] > 100 && CCI1[ 1 ] < 100)
 
CCI1[1] & CCI1[2]は100以下なので、売りは起きないはずです ... これを印刷するprint文を追加し、Strategy Testerで 再実行すれば、何が起きているか分かります ...
 
aptorUK:
CCI1[1] & CCI1[2] は共に100以下なので、売りは起こらないはずです ... これを表示するprint文を追加し、Strategy Testerで再実行すれば、何が起こっているのかが分かります ... ...

Raptorさん、こんにちは。

私はこのラインを追加しました。

Print(CCI1[2] + " | " + CCI1[1]);

本番ではショート1回、ロング1回が発動しました。1つ目のポジションは、CCIが100を下回るローソク足が閉じた後に建てられました。2つ目のポジションは、CCIが-100を超えたまさにそのローソク足で建てられました。私はEAが常に1番目のように動作することを期待しているのですが、なぜこのように不機嫌になるのでしょうか?

以下は、印刷結果です。

2011.11.07 06:22:09 cci eurusd,m1: 122.97015370 | 71.61246612

2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875 (この行は正しい値がマッハで出ていません!)

 

私はこの例では何も間違っていることはありません。

あなたのコードは、買いおよび売りのためのものです

if (CCI1[2] < -100 && CCI1[1] > -100)  //  for BUY
   {

if (CCI1[2] > 100 && CCI1[1] < 100)   // for SELL
   {

これらの値は、これらの範囲内にある ... ...

2011.11.07 06:22:09 CCI EURUSD,M1: 122.97015370 | 71.61246612 <------- for SELL

2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875<------ for BUY

コードが動作しているときに問題を発見した場合、ストラテジーテスターを 使用して、画像を投稿した問題箇所を再実行します。