[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 640 1...633634635636637638639640641642643644645646647...1145 新しいコメント Craft 2010.06.22 19:22 #6391 配列のどこが悪いのかがわかりません(条件は単純で、平滑化したCCIの次のピークで買い/売りです)。 ストラテジーはエラーなくコンパイルされ、起動時にログに何も書き込まれませんが、注文は発注されません。 double c1b[]; ArrayResize(c1b,PeriodB); for(i=1;i<=PeriodB;i++) c1b[i]=iCCI(NULL,0,PeriodB,PRICE_TYPICAL,i); double c1b_1=iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i); double c1b_2=iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i+2); double c1b_3=iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i+3); double c1s[]; ArrayResize(c1b,PeriodS); for(i=1;i<=PeriodS;i++) c1s[i]=iCCI(NULL,0,PeriodS,PRICE_TYPICAL,i); double c1s_1=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i); double c1s_2=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i+2); double c1s_3=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i+3); if (c1s_1>c1s_2&&c1s_2<c1s_3) { // Opn_B=true; // Критерий откр. Buy Cls_S=true; // Критерий закр. Sell } if (c1b_1<c1b_2&&c1b_2>c1b_3) { // Opn_S=true; // Критерий откр. Sell Cls_B=true; // Критерий закр. Buy } Alexander 2010.06.22 20:48 #6392 double c1s[]; ArrayResize(c1b,PeriodS) ある配列を宣言して、別の配列を変更する。 Craft 2010.06.22 21:04 #6393 Roger: double c1s[]; ArrayResize(c1b,PeriodS) ある配列を宣言し、別の配列を変更する。 ありがとうございます、他に何か問題があるのでしょうか - 役に立ちませんでした。 Alexander 2010.06.22 21:12 #6394 配列はゼロの要素から始まるので,式 for(i=1;i<=PeriodS;i++) はゼロをスキップし、最後の1つには何も書き込まない。 を実行すると、ループの中でこの式だけが実行されます。 c1b[i]=iCCI(NULL,0,PeriodB,PRICE_TYPICAL,i)とする。 は無意味で、ループの後、i は最大値に等しいので、すべての値はゼロになります。 DDFedor 2010.06.22 21:19 #6395 Craft: なにかべつにわるい 正規化せずに2倍を比較するのは誤りです...は、このように試してみてください。 double c1b[]; ArrayResize(c1b,PeriodB); for(i=1;i<=PeriodB;i++) c1b[i]=iCCI(NULL,0,PeriodB,PRICE_TYPICAL,i); double c1b_1=iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i); double c1b_2=iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i+2); double c1b_3=iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i+3); double c1s[]; ArrayResize(c1b,PeriodS); for(i=1;i<=PeriodS;i++) c1s[i]=iCCI(NULL,0,PeriodS,PRICE_TYPICAL,i); double c1s_1=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i); double c1s_2=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i+2); double c1s_3=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i+3); if (NormalizeDouble(c1s_1,4)>NormalizeDouble(c1s_2,4)&&NormalizeDouble(c1s_2,4)<NormalizeDouble(c1s_3,4)) { // Opn_B=true; // Критерий откр. Buy Cls_S=true; // Критерий закр. Sell } if (NormalizeDouble(c1b_1,4)<NormalizeDouble(c1b_2,4)&&NormalizeDouble(c1b_2,4)>NormalizeDouble(c1b_3,4)) { // Opn_S=true; // Критерий откр. Sell Cls_B=true; // Критерий закр. Buy } Craft 2010.06.22 23:14 #6396 DDFedor: 正規化せずに2倍を比較するのは間違っている...。この方法で試してみてください。 ありがとうございます、兄弟、まだうまくいきません。 Craft 2010.06.22 23:17 #6397 Roger: 配列はゼロの要素から始まるので,式 for(i=1;i<=PeriodS;i++) はゼロをスキップし、最後の1つには何も書き込まない。 を実行すると、ループの中でこの式だけが実行されます。 c1b[i]=iCCI(NULL,0,PeriodB,PRICE_TYPICAL,i)とする。 は無意味で、ループの後、i は最大値に等しいので、すべての値はゼロになります。 じゃあ、どうすればいいんだ?for(i=0;i<=PeriodS;i++) を試してみたが、うまくいかなかった。 Alexander 2010.06.23 00:52 #6398 Craft: では、どうするのか? コードポイントごとに各変数にプリンタを置き、各ステップで何が起こっているかをログで確認する。 削除済み 2010.06.23 02:53 #6399 こんにちは、初心者の方にお聞きしたいのですが、デモを開くとき、Expert Advisorはopen関数にsymbol()と書くと注文が開くのですが、それをシンボル、例えばEURUSDに変更すると、エラーコード133が出て、確認しようとすると - if (MarketInfo(Symbol(),MODE_TRADEALLOWED)==true) と表示されるのです。 {Alert("!");}else{Alert("?");}。- と表示され、同時に133と表示されます。 何が問題なのでしょうか? オープン機能で特定のシンボルを指定しても、EAが取引を開始しませんが・・・。いろいろ試しました。 よろしくお願いします。私はフォーラムを混乱させるためにここにいないです)) 削除済み 2010.06.23 05:17 #6400 artmedia70: これが反転であって補正でないと言っている人は? すみません、すぐにお返事できず、ノートパソコンが完全に死んでしまいました。歯が痛くなくなるといいですね、怖いです。私の告白ですが、バボンのせいです、正常に動作しますし、インジケータNMAZZのせいです、どこでダウンロードしたか忘れましたが、1つのチャートではまだ動作しますが、3つのチャート(5M、30M、4H)につけたらそれだけで完全にパソコン、いや端末がフリーズしてしまいました。チャートからインジケータを一つずつ削除し始めたら、このバグを発見しました。このインジケーターのどこが悪いのか分かりませんが、当初はうまく動作していました。しかし、30M、1H、4Hでバトンの色が変われば、反転でなくても、一様に修正となり、ある程度の利益を得ることができるのです。 1...633634635636637638639640641642643644645646647...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
配列のどこが悪いのかがわかりません(条件は単純で、平滑化したCCIの次のピークで買い/売りです)。
ストラテジーはエラーなくコンパイルされ、起動時にログに何も書き込まれませんが、注文は発注されません。
double c1s[];
ArrayResize(c1b,PeriodS)
ある配列を宣言して、別の配列を変更する。
double c1s[];
ArrayResize(c1b,PeriodS)
ある配列を宣言し、別の配列を変更する。
ありがとうございます、他に何か問題があるのでしょうか - 役に立ちませんでした。
配列はゼロの要素から始まるので,式
for(i=1;i<=PeriodS;i++)
はゼロをスキップし、最後の1つには何も書き込まない。
を実行すると、ループの中でこの式だけが実行されます。
c1b[i]=iCCI(NULL,0,PeriodB,PRICE_TYPICAL,i)とする。
は無意味で、ループの後、i は最大値に等しいので、すべての値はゼロになります。
なにかべつにわるい
正規化せずに2倍を比較するのは誤りです...は、このように試してみてください。
正規化せずに2倍を比較するのは間違っている...。この方法で試してみてください。
ありがとうございます、兄弟、まだうまくいきません。
配列はゼロの要素から始まるので,式
for(i=1;i<=PeriodS;i++)
はゼロをスキップし、最後の1つには何も書き込まない。
を実行すると、ループの中でこの式だけが実行されます。
c1b[i]=iCCI(NULL,0,PeriodB,PRICE_TYPICAL,i)とする。
は無意味で、ループの後、i は最大値に等しいので、すべての値はゼロになります。
じゃあ、どうすればいいんだ?for(i=0;i<=PeriodS;i++) を試してみたが、うまくいかなかった。
では、どうするのか?
コードポイントごとに各変数にプリンタを置き、各ステップで何が起こっているかをログで確認する。
こんにちは、初心者の方にお聞きしたいのですが、デモを開くとき、Expert Advisorはopen関数にsymbol()と書くと注文が開くのですが、それをシンボル、例えばEURUSDに変更すると、エラーコード133が出て、確認しようとすると - if (MarketInfo(Symbol(),MODE_TRADEALLOWED)==true) と表示されるのです。
{Alert("!");}else{Alert("?");}。- と表示され、同時に133と表示されます。 何が問題なのでしょうか? オープン機能で特定のシンボルを指定しても、EAが取引を開始しませんが・・・。いろいろ試しました。
よろしくお願いします。私はフォーラムを混乱させるためにここにいないです))
これが反転であって補正でないと言っている人は?
すみません、すぐにお返事できず、ノートパソコンが完全に死んでしまいました。歯が痛くなくなるといいですね、怖いです。私の告白ですが、バボンのせいです、正常に動作しますし、インジケータNMAZZのせいです、どこでダウンロードしたか忘れましたが、1つのチャートではまだ動作しますが、3つのチャート(5M、30M、4H)につけたらそれだけで完全にパソコン、いや端末がフリーズしてしまいました。チャートからインジケータを一つずつ削除し始めたら、このバグを発見しました。このインジケーターのどこが悪いのか分かりませんが、当初はうまく動作していました。しかし、30M、1H、4Hでバトンの色が変われば、反転でなくても、一様に修正となり、ある程度の利益を得ることができるのです。