コーディングのヘルプ - ページ 362 1...355356357358359360361362363364365366367368369...786 新しいコメント Mladen Rakic 2014.10.07 09:22 #3611 triip: RSIとSMAの関係をコード化するために少し助けが必要です。 画像にあるように、シグナル(上下の矢印)が出ていますが、その中には偽のシグナルもあります。そこで、RSI14とSMA20が表示されている偽のシグナルを排除することにしました。 論理は簡単で、RSI14がSMA20を上回れば上向き矢印が表示され、RSI14がSMA20を下回れば下向き矢印が表示される。RSIがSMA20より下なら下矢印が表示されるはずです。 RSIが高すぎるため、いくつかの上向き矢印を間違ってマークしてしまったが、その部分は自分でコーディングできる。 RSI<MAのクロスのコードはたくさん見つけたが、そのほとんどはクロスが現れたらロング/ショートになるものだった。しかし、私はRSIがABOVEまたはBELOWになる用語が必要で、それから何かをする。 今のところ、私が見つけた限りでは、私はそのためにIRSIと配列を使用しなければなりませんが、そのコードを自分で組み立てることはできません。 トリイップ ここに投稿されたものをチェックしましたか?https://www.mql5.com/en/forum/general Triip 2014.10.07 09:55 #3612 mladen: triip ここに掲載されているものを確認しましたか?https://www.mql5.com/en/forum/general。 はい、しかし、私が見つけたものはすべて交差信号でした。RSIがSMAの上にあるか下にあるかという条件が必要です。 まず、ABOVEとBELOWを宣言して、その後にIF文の中で使うというのは理解できるのですが。 Triip 2014.10.07 09:57 #3613 mladen: トリプ ここに掲載されているものを確認しましたか :https://www.mql5.com/en/forum/174476 はい、しかし、私が見つけたものはすべて交差信号でした。RSIがSMAより上か下かの条件が必要なんです。 まず、ABOVEとは何か、BELOWとは何かを宣言し、その後にIF文の中で使用することができるということは理解したのですが。 Mladen Rakic 2014.10.07 10:03 #3614 triip: はい、しかし、私が見つけたすべてのものは、信号を交差させた。私はRSIがSMAの上/下にある場合の条件を必要とします。 私はまず、私はIF文にそれらを使用することができ、その後に、ABOVEと何を意味するBELOWを宣言しなければならないことを理解しています。 トリイップ あなたの写真でそれらの信号を得るために使用されたどのようなrsiか分からない、そう...それは私が言うことができるすべてです。コードなしでより多くの助けをすることはできません Triip 2014.10.07 10:08 #3615 mladen: triip あなたの画像にそれらの信号を取得するために使用されていたどのようなrsiは見当もつかないので、...それは私が言うことができるすべてです。コードなしでより多くの助けをすることはできません すみません、矢印のシグナルがRSIからきているのではないことを言いませんでした。しかし、RSIとSMAは間違ったシグナルを避けるのに役立つと見ました。そのため、RSIの条件も識別できるようにシグナルコードを編集したいのです。 私が必要とするものは、次のとおりです。 矢印のシグナルが来るが、それらのすべては、真の信号ではありません。だから、矢印が来る前に、RSI条件を制御する別のifチェックが ある必要があります。 if (私の現在のコード &&RSI is above/below SMA) {矢印を表示 } この赤い部分が必要なんだ。 Mladen Rakic 2014.10.07 10:31 #3616 triip: すみません、矢印のシグナルがRSIから来るのではないことに言及しませんでした。しかし、RSIとSMAは間違ったシグナルを避けるのに役立つと思いました。そのため、私はシグナルコードを編集して、RSIの条件も識別できるようにしたいのです。私が必要としているのは 矢印のシグナルが来るが、それらはすべて真のシグナルではない。そこで、もし矢印が来たら、RSIの条件を制御する別のifチェックが必要です。 if (私の現在のコード &&RSI is above/below SMA) {矢印を表示 } その赤い部分が必要なんです。 triip 次のことをしなければなりません。 1.RSIの値をバッファに保存する 2.iMAOnArray()を使って、そのRSIの値のSMAを計算する。 3.3. 保存されたRSIの値とiMAOnArray()で計算された値を比較し、それがあなたの条件となります。 Triip 2014.10.07 13:33 #3617 mladen: triip以下を実行する必要があります。 1.RSIの値をバッファに保存する。 2.iMAOnArray()を使って、そのRSIの値のSMAを計算する。 3.保存したRSIの値とiMAOnArray()の計算値の値を比較すれば、それがあなたの条件です。 ということで、1と2はこんな感じでしょうか? 1. #property indicator_buffers 2 extern int rsi_p = 14; extern int MA_Period=20; extern int MA_Shift=0; extern int MA_Method=0; extern int NumberOfBarsToCalculate = 10000; double Buffer0[]; double Buffer1[]; double Ma[]; double RSi[]; int init() { IndicatorBuffers(4); SetIndexBuffer(0,Buffer0); SetIndexBuffer(1,Buffer1); SetIndexBuffer(2,Ma); SetIndexBuffer(3,RSi); return(0); } [/CODE] 2. [CODE]int start() { int shift; double rsi = 0; for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){ RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift); } for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){ Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift); Buffer0[shift] = RSi[shift]; Buffer1[shift] = Ma[shift]; } return(0); } Coding help [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. Calculating a moving average Mladen Rakic 2014.10.07 13:42 #3618 triip: ということは、1と2のような感じでしょうか?1. #property indicator_buffers 2 extern int rsi_p = 14; extern int MA_Period=20; extern int MA_Shift=0; extern int MA_Method=0; extern int NumberOfBarsToCalculate = 10000; double Buffer0[]; double Buffer1[]; double Ma[]; double RSi[]; int init() { IndicatorBuffers(4); SetIndexBuffer(0,Buffer0); SetIndexBuffer(1,Buffer1); SetIndexBuffer(2,Ma); SetIndexBuffer(3,RSi); return(0); } [/CODE] 2. [CODE]int start() { int shift; double rsi = 0; for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){ RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift); } for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){ Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift); Buffer0[shift] = RSi[shift]; Buffer1[shift] = Ma[shift]; } return(0); } はい、そのような方法もあります そして、必要なときに、RSiとMAバッファを比較するだけで、常に相対的な位置を確認することができます。 Triip 2014.10.07 14:06 #3619 mladen: そうですね、そのような方法もありますし、必要なときには、RSiとMAバッファを比較するだけで、常に相対的な位置を確認することができます。 素晴らしい、ありがとうございます。 learning 2014.10.07 18:07 #3620 mladen: 見習いコーダー このようなソート手順を持つインジケータがあります (2次元の配列をソートしています) :spearman_rank_correlation_nmc.mq4 mladen c/c++で同じことをやっている例があれば教えてください。 1...355356357358359360361362363364365366367368369...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
RSIとSMAの関係をコード化するために少し助けが必要です。
画像にあるように、シグナル(上下の矢印)が出ていますが、その中には偽のシグナルもあります。そこで、RSI14とSMA20が表示されている偽のシグナルを排除することにしました。
論理は簡単で、RSI14がSMA20を上回れば上向き矢印が表示され、RSI14がSMA20を下回れば下向き矢印が表示される。RSIがSMA20より下なら下矢印が表示されるはずです。
RSIが高すぎるため、いくつかの上向き矢印を間違ってマークしてしまったが、その部分は自分でコーディングできる。
RSI<MAのクロスのコードはたくさん見つけたが、そのほとんどはクロスが現れたらロング/ショートになるものだった。しかし、私はRSIがABOVEまたはBELOWになる用語が必要で、それから何かをする。
今のところ、私が見つけた限りでは、私はそのためにIRSIと配列を使用しなければなりませんが、そのコードを自分で組み立てることはできません。トリイップ
ここに投稿されたものをチェックしましたか?https://www.mql5.com/en/forum/general
triip ここに掲載されているものを確認しましたか?https://www.mql5.com/en/forum/general。
はい、しかし、私が見つけたものはすべて交差信号でした。RSIがSMAの上にあるか下にあるかという条件が必要です。
まず、ABOVEとBELOWを宣言して、その後にIF文の中で使うというのは理解できるのですが。
トリプ
ここに掲載されているものを確認しましたか :https://www.mql5.com/en/forum/174476はい、しかし、私が見つけたものはすべて交差信号でした。RSIがSMAより上か下かの条件が必要なんです。
まず、ABOVEとは何か、BELOWとは何かを宣言し、その後にIF文の中で使用することができるということは理解したのですが。
はい、しかし、私が見つけたすべてのものは、信号を交差させた。私はRSIがSMAの上/下にある場合の条件を必要とします。 私はまず、私はIF文にそれらを使用することができ、その後に、ABOVEと何を意味するBELOWを宣言しなければならないことを理解しています。
トリイップ
あなたの写真でそれらの信号を得るために使用されたどのようなrsiか分からない、そう...それは私が言うことができるすべてです。コードなしでより多くの助けをすることはできません
triip あなたの画像にそれらの信号を取得するために使用されていたどのようなrsiは見当もつかないので、...それは私が言うことができるすべてです。コードなしでより多くの助けをすることはできません
すみません、矢印のシグナルがRSIからきているのではないことを言いませんでした。しかし、RSIとSMAは間違ったシグナルを避けるのに役立つと見ました。そのため、RSIの条件も識別できるようにシグナルコードを編集したいのです。
私が必要とするものは、次のとおりです。
矢印のシグナルが来るが、それらのすべては、真の信号ではありません。だから、矢印が来る前に、RSI条件を制御する別のifチェックが ある必要があります。
if (私の現在のコード &&RSI is above/below SMA)
{矢印を表示
}
この赤い部分が必要なんだ。
すみません、矢印のシグナルがRSIから来るのではないことに言及しませんでした。しかし、RSIとSMAは間違ったシグナルを避けるのに役立つと思いました。そのため、私はシグナルコードを編集して、RSIの条件も識別できるようにしたいのです。
私が必要としているのは
矢印のシグナルが来るが、それらはすべて真のシグナルではない。そこで、もし矢印が来たら、RSIの条件を制御する別のifチェックが必要です。
if (私の現在のコード &&RSI is above/below SMA)
{矢印を表示
}
その赤い部分が必要なんです。triip
次のことをしなければなりません。
1.RSIの値をバッファに保存する
2.iMAOnArray()を使って、そのRSIの値のSMAを計算する。
3.3. 保存されたRSIの値とiMAOnArray()で計算された値を比較し、それがあなたの条件となります。
triip
以下を実行する必要があります。
1.RSIの値をバッファに保存する。
2.iMAOnArray()を使って、そのRSIの値のSMAを計算する。
3.保存したRSIの値とiMAOnArray()の計算値の値を比較すれば、それがあなたの条件です。ということで、1と2はこんな感じでしょうか?
1.
extern int rsi_p = 14;
extern int MA_Period=20;
extern int MA_Shift=0;
extern int MA_Method=0;
extern int NumberOfBarsToCalculate = 10000;
double Buffer0[];
double Buffer1[];
double Ma[];
double RSi[];
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Ma);
SetIndexBuffer(3,RSi);
return(0);
}
[/CODE]
2.
[CODE]int start() {
int shift;
double rsi = 0;
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift);
}
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift);
Buffer0[shift] = RSi[shift];
Buffer1[shift] = Ma[shift];
}
return(0);
}
ということは、1と2のような感じでしょうか?
1.
extern int rsi_p = 14;
extern int MA_Period=20;
extern int MA_Shift=0;
extern int MA_Method=0;
extern int NumberOfBarsToCalculate = 10000;
double Buffer0[];
double Buffer1[];
double Ma[];
double RSi[];
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Ma);
SetIndexBuffer(3,RSi);
return(0);
}
[/CODE]
2.
[CODE]int start() {
int shift;
double rsi = 0;
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
RSi[shift] = iRSI(NULL,0,rsi_p,PRICE_CLOSE,shift);
}
for(shift=NumberOfBarsToCalculate-1;shift>=0;shift--){
Ma[shift] = iMAOnArray(RSi,0,MA_Period,MA_Shift,MA_Method,shift);
Buffer0[shift] = RSi[shift];
Buffer1[shift] = Ma[shift];
}
return(0);
}
はい、そのような方法もあります
そして、必要なときに、RSiとMAバッファを比較するだけで、常に相対的な位置を確認することができます。
そうですね、そのような方法もありますし、必要なときには、RSiとMAバッファを比較するだけで、常に相対的な位置を確認することができます。
素晴らしい、ありがとうございます。
見習いコーダー このようなソート手順を持つインジケータがあります (2次元の配列をソートしています) :spearman_rank_correlation_nmc.mq4
mladen
c/c++で同じことをやっている例があれば教えてください。