コーディングの方法は? - ページ 337 1...330331332333334335336337338339340341342343344...347 新しいコメント Mladen Rakic 2015.06.03 09:20 #3361 at120: こんにちは、Mladen!iCustomの呼び出しは正しいと思うのですが、テストと通常(データのエクスポートやindiとしての使用)で は今のところ問題なく動作しています。問題は、おっしゃるとおり、double/arrayの値だと思います。 今、私が使用するとき double mom1[]を使っています。 mom1 = iCustom(NULL,0, "myIndi",0,i) とします。 とよりも、 -> mom(mom1,Bars,20,i); -> "mom" - パラメータの会話は許可されていません どのように私はこれを正しく書くのですか? ありがとう、そしてさようなら、AT このように試してみてください。 mom(mom1,Bars,20,i);[/PHP] Also, change the mom function to be like this : [PHP]double Mom(double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); } at120 2015.06.03 10:03 #3362 Mladenさん、こんにちは。 助けてくれてありがとうございます。 私の問題は、プログラムの他の部分がそれを必要とするため、"const "が必要なことです...。 全て "新しく "書くのは大変なので、その逆はできないか、ということです。 mom1がサブファンクションで動作するようにできますか? ありがとうございました、そしてさようなら、AT Mladen Rakic 2015.06.03 10:08 #3363 at120: こんにちは、Mladen!ご協力ありがとうございます。 私の問題は、プログラムの他の部分がそれを必要とするため、「const」が必要だということです...。 すべて」を新しく書くのは大変なので、その逆はできないか、ということです。 mom1がサブ関数と連動するようにできますか? どうもありがとうございました。 mom関数は そのまま使えます(それ以外も)。 mom(mom1,Bars,20,i); を mom(mom1,Bars,20,i) に変更するだけです。 at120 2015.06.03 10:21 #3364 を実行すると、エラーが表示されます。 -> "mom1" -パラメータの 会話が許可されていません。 これは厄介です...何か他のアイデアはありますか? ありがとう、そしてバイバイ、AT Mladen Rakic 2015.06.03 10:25 #3365 at120: その後、私はエラーが表示されます。-> "mom1" - パラメータの会話は許可されていません。 というエラーが出てしまいます。 ありがとう、そしてさようなら、AT 私はそのエラーを取得しないでください 例を参照してください。 #property indicator_chart_window double buffer[]; int init() { SetIndexBuffer(0,buffer); return(0); } int deinit() { return(0); } int start() { double mom = Mom(buffer,10,50,0); return(0); } double Mom(const double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); } 全くエラーなしでコンパイルします at120 2015.06.03 10:43 #3366 Mladenさん、こんにちは。 多分、for {}関数が 原因ではないでしょうか?(Barsを取得するため?)それとも...。 もう一つのポイントは、mom1がカスタムインディであることです... mom1 = iCustom(NULL,0, "myIndi",0,i); これは、私がここで呼び出したものです: mom(mom1,Bars,20,i); あなたの助けをいただきありがとうございます さようなら、AT Mladen Rakic 2015.06.03 10:56 #3367 at120: こんにちは、Mladen!多分、for {}関数が原因?(Barsを取得するため?)あるいは...のためでしょう。 mom1 = iCustom(NULL,0, "myIndi",0,i); これは、私がここで呼び出したものです: mom(mom1,Bars,20,i); あなたの助けをありがとうございます さようなら、AT いいえ、それは原因であることができません この例をご覧ください。 #property indicator_chart_window double buffer[]; int init() { SetIndexBuffer(0,buffer); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; int limit = MathMin(Bars-counted_bars,Bars-1); for(int i = limit; i>=0; i--) { buffer = iCustom(NULL,0,"custom name",0,i); double mom = Mom(buffer,10,50,i); } return(0); } double Mom(const double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); } また、コンパイラのエラーは全くありません。 How to code? コーディングのヘルプ マルチタイムフレーム・インディケーター at120 2015.06.03 11:26 #3368 こんにちは、Mladen! 多分、私のコードがもっとこのように見えるので、"エラー "があるのでしょう... :-/。 #property indicator_chart_window double buffer[]; int init() { SetIndexBuffer(0,buffer); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; int limit = MathMin(Bars-counted_bars,Bars-1); for(int i = limit; i>=0; i--) { double mom1; mom1 = iCustom(NULL,0,"custom name",0,i); buffer = ( Mom(mom1,10,Bars,i); ); } return(0); } double Mom(const double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); } ); ありがとう、そしてさようなら、AT How to code? コーディングのヘルプ マルチタイムフレーム・インディケーター Mladen Rakic 2015.06.03 11:37 #3369 at120: Mladenさん、こんにちは。多分、私のコードはもっとこのように見えるので、"エラー "があります... :-/。 #property indicator_chart_window double buffer[]; int init() { SetIndexBuffer(0,buffer); return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; int limit = MathMin(Bars-counted_bars,Bars-1); for(int i = limit; i>=0; i--) { double mom1; mom1 = iCustom(NULL,0,"custom name",0,i); buffer = ( Mom(mom1,10,Bars,i); ); } return(0); } double Mom(const double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); } ); ありがとうございます、そしてさようなら、AT at120 あなたのコードでは、mom1 は配列やバッファとしてではなく、double (単純な double 変数) として定義されています。 bufferと同じように定義して、initセクションでbuffersに追加すればOKです(buffersの数を 適切に調整すること)。 at120 2015.06.03 12:10 #3370 マルデンさん、こんにちは。 応援ありがとうございます! ;-) 教えていただいたようにコードを書いても (そうだと思うのですが...) #property indicator_chart_window double buffer[]; double mom1[]; int init() { SetIndexBuffer(0,buffer); SetIndexBuffer(1,mom1);return(0); } int deinit() { return(0); } int start() { int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; int limit = MathMin(Bars-counted_bars,Bars-1); for(int i = limit; i>=0; i--) { mom1 = iCustom(NULL,0,"custom name",0,i); buffer = ( Mom(mom1,10,Bars,i); //doesn't work - no value in indi // Mom(mom1,10,Bars,i); //error: parameter conversation not allowed // mom1 // this works ); } return(0); } double Mom(const double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); } ); というわけで、"First "バージョンを使うと、値が出ません。 2番目のバージョンを使用すると、私はエラーが発生します...うーん。 mom1を呼ぶのだけはうまくいくのですが...これは正しい値ではないのですね...。 助けてくれてありがとうございます さようなら、AT How to code? コーディングのヘルプ トレンド指標 1...330331332333334335336337338339340341342343344...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、Mladen!
iCustomの呼び出しは正しいと思うのですが、テストと通常(データのエクスポートやindiとしての使用)で
は今のところ問題なく動作しています。問題は、おっしゃるとおり、double/arrayの値だと思います。
今、私が使用するとき
double mom1[]を使っています。
mom1 = iCustom(NULL,0, "myIndi",0,i) とします。
とよりも、 -> mom(mom1,Bars,20,i);
-> "mom" - パラメータの会話は許可されていません
どのように私はこれを正しく書くのですか?
ありがとう、そしてさようなら、ATこのように試してみてください。
Also, change the mom function to be like this :
[PHP]double Mom(double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); }Mladenさん、こんにちは。
助けてくれてありがとうございます。
私の問題は、プログラムの他の部分がそれを必要とするため、"const "が必要なことです...。
全て "新しく "書くのは大変なので、その逆はできないか、ということです。
mom1がサブファンクションで動作するようにできますか?
ありがとうございました、そしてさようなら、AT
こんにちは、Mladen!
ご協力ありがとうございます。
私の問題は、プログラムの他の部分がそれを必要とするため、「const」が必要だということです...。
すべて」を新しく書くのは大変なので、その逆はできないか、ということです。
mom1がサブ関数と連動するようにできますか?
どうもありがとうございました。mom関数は そのまま使えます(それ以外も)。
mom(mom1,Bars,20,i); を mom(mom1,Bars,20,i) に変更するだけです。
を実行すると、エラーが表示されます。
-> "mom1" -パラメータの 会話が許可されていません。
これは厄介です...何か他のアイデアはありますか?
ありがとう、そしてバイバイ、AT
その後、私はエラーが表示されます。
-> "mom1" - パラメータの会話は許可されていません。
というエラーが出てしまいます。
ありがとう、そしてさようなら、AT私はそのエラーを取得しないでください
例を参照してください。
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
double mom = Mom(buffer,10,50,0);
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}全くエラーなしでコンパイルします
Mladenさん、こんにちは。
多分、for {}関数が 原因ではないでしょうか?(Barsを取得するため?)それとも...。
もう一つのポイントは、mom1がカスタムインディであることです... mom1 = iCustom(NULL,0, "myIndi",0,i);
これは、私がここで呼び出したものです: mom(mom1,Bars,20,i);
あなたの助けをいただきありがとうございます
さようなら、AT
こんにちは、Mladen!
多分、for {}関数が原因?(Barsを取得するため?)あるいは...のためでしょう。
mom1 = iCustom(NULL,0, "myIndi",0,i);
これは、私がここで呼び出したものです: mom(mom1,Bars,20,i);
あなたの助けをありがとうございます
さようなら、ATいいえ、それは原因であることができません
この例をご覧ください。
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
buffer = iCustom(NULL,0,"custom name",0,i);
double mom = Mom(buffer,10,50,i);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}また、コンパイラのエラーは全くありません。
こんにちは、Mladen!
多分、私のコードがもっとこのように見えるので、"エラー "があるのでしょう... :-/。
#property indicator_chart_window
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
double mom1;
mom1 = iCustom(NULL,0,"custom name",0,i);
buffer = (
Mom(mom1,10,Bars,i);
);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
);ありがとう、そしてさようなら、AT
Mladenさん、こんにちは。
多分、私のコードはもっとこのように見えるので、"エラー "があります... :-/。
#property indicator_chart_window
double buffer[];
int init() { SetIndexBuffer(0,buffer); return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
double mom1;
mom1 = iCustom(NULL,0,"custom name",0,i);
buffer = (
Mom(mom1,10,Bars,i);
);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
);at120
あなたのコードでは、mom1 は配列やバッファとしてではなく、double (単純な double 変数) として定義されています。
bufferと同じように定義して、initセクションでbuffersに追加すればOKです(buffersの数を 適切に調整すること)。
マルデンさん、こんにちは。
応援ありがとうございます! ;-)
教えていただいたようにコードを書いても
(そうだと思うのですが...)
#property indicator_chart_window
double buffer[];
double mom1[];
int init() { SetIndexBuffer(0,buffer); SetIndexBuffer(1,mom1);return(0); }
int deinit() { return(0); }
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
for(int i = limit; i>=0; i--)
{
mom1 = iCustom(NULL,0,"custom name",0,i);
buffer = (
Mom(mom1,10,Bars,i);
//doesn't work - no value in indi
// Mom(mom1,10,Bars,i); //error: parameter conversation not allowed
// mom1 // this works
);
}
return(0);
}
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
);というわけで、"First "バージョンを使うと、値が出ません。
2番目のバージョンを使用すると、私はエラーが発生します...うーん。
mom1を呼ぶのだけはうまくいくのですが...これは正しい値ではないのですね...。
助けてくれてありがとうございます
さようなら、AT