コーディングのヘルプ - ページ 239 1...232233234235236237238239240241242243244245246...786 新しいコメント Fausto Nunziante Del Gaudio 2014.03.05 19:16 #2381 こんにちは。 標準のstepMA 9インジケータを、ヒストグラムとして別ウィンドウに表示するように変更しました。しかし、なぜ買いシグナルが標準インジケータと同期していないのか分かりません(売りシグナルは同期しています)。新しいものでは、元のインジケータより1バー後ろに発生します。なぜでしょうか?私はインジケータのグラフィック面を決定するコードの部分のみを変更しました。 ステップマ_9_histo_mtf.mq4 ステップマ_9.0.mq4 ファイル: stepma_9_histo_mtf.mq4 13 kb stepma_9.0.mq4 13 kb cattura_1.jpg 160 kb Mladen Rakic 2014.03.05 20:33 #2382 thefxpros: こんにちは。標準のstepMA 9インジケータをヒストグラムとして別ウィンドウに表示するように変更しましたが、なぜ買いシグナルが標準インジケータと同期していないのか分かりません(売りシグナルは同期しています)。新しいインディケータでは、元のインディケータよりも1バー後ろに発生します。なぜでしょうか?私はインジケータのグラフィック面を決定するコードの部分のみを変更しました。 ステップマ_9_histo_mtf.mq4 ステップマ_9.0.mq4 thefxpros それは、線の引き方の結果です。 線を引くときは、線を見えるようにするために1小節後ろから引き始める必要があります(そうしないと、点になってしまい、チャート上で全く見えません)。この2つを比較してみてください。 ファイル: stepma_9.mq4 13 kb stepma_9_histo_mtf_1.mq4 13 kb JDunkelheit 2014.03.05 21:04 #2383 こんにちは。 トレーリングストップと同じような方法でトレードを開始するEAを探しています。 例えば、ある商品でリトレースメントを待っているとします。私はできるだけ高い(または低い)価格で取引を開始したいと思います。このようなEAでは、取引パラメータを 設定すれば、トレーリングストップと同じように価格を追い続けることができます。反転したらヒットしてトレードが開始される。 このようなEAを見たことがありますか? ありがとうございます。 Q_Mouze 2014.03.06 08:03 #2384 こんにちは 作成したコードを試してみましたが、なぜかトレードを開始できません。 int varCurrentTime = TimeCurrent(); for (int iTS = 0; iTS < 2000; iTS++) { int varZonStart = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "00:00"); int varZonEnd = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "10:00"); int JamStart=TimeHour(varZonStart); int JamEnd=TimeHour(varZonEnd); if (JamStart>JamEnd) { varCurrentTime = decDateTradeDay(varCurrentTime); //if (TimeDayOfWeek(varCurTime) < 1) varCurTime = decDateTradeDay(varCurTime); if (TimeDayOfWeek(varCurrentTime) > 5) varCurrentTime = decDateTradeDay(varCurrentTime); } varZonStart = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "00:00"); int varShiftStart = iBarShift(NULL, 0, varZonStart - 60 * Period()); int varShiftEnd = iBarShift(NULL, 0, varZonEnd); varHighest = High; varLowest = Low; varCurrentTime = decDateTradeDay(varCurrentTime); //set 1 hari kebelakang if (TimeDayOfWeek(varCurrentTime) < 1) varCurrentTime = decDateTradeDay(varCurrentTime); //jika minggu mundur lagi if (TimeDayOfWeek(varCurrentTime) > 5) varCurrentTime = decDateTradeDay(varCurrentTime); //jika sabtu mundur lagi } for (int iTSh = 0; iTSh < 2000; iTSh++) { for (int iTSl = 0; iTSl < 2000; iTSl++) { if(((varHighest-varLowest)/Pip)<=5) varHL=(varHighest+varLowest)/2; } } double isg10a = iOpen(Symbol(),PERIOD_M15,1); double isg10b = iClose(Symbol(),PERIOD_M15,1); int static isg10c = -1; for (iTS = 0; iTS < 2000; iTS++) { if(isg10avarHL)isg10c =0; if(isg10a>varHL&&isg10b<varHL)isg10c =1; } if (isg10c==0) To code Buy else if (isg10c==1) To code Sel else no trade Coding help Indicator issues with highlighting コーディングの方法は? 削除済み 2014.03.06 21:10 #2385 mladen: Jim 全部を書き直すのではなく、棒グラフの計算に制限を加え、それらの棒グラフをすべて再計算するようにしました。これは、リフレッシュの問題を解決するはずです(ただ、BarsTocalculateを大きすぎず小さすぎずの適度な値に保ってください。私はデフォルトとして1000を使用し、それはそのように問題ないようです)。試してみてください。 mladen様。 ご苦労様、そして迅速な対応に感謝します。 私は試してみるつもりです。 ミュンヘンからよろしくお願いします。 Dedoctor 2014.03.07 13:12 #2386 このボリュームインジケータを アップグレードして私のMT4に添付するのを手伝ってください。 こんにちは、このボリュームインジケータのエラーを修正するために親切に助けてください。最近、私のmt4チャートに添付することができないことに気づきました。ファイル内のエラーを修正するために可能なことはすべて行いましたが、無駄でした。mt4の大幅なアップグレードが原因だと思われます。私のmt4フォルダにある他のインジケータは、古いバージョンも新しいバージョンもすべて問題なく動作しています。私はまだプログラマーではありませんが、1年前までは動いていました。 添付ファイルをご覧ください。 ファイル: vsac_multy_volume_histogrameasy_on_cpu.mq4 21 kb zilliq 2014.03.09 12:30 #2387 MLadenさん、Mrtoolsさん、こんにちは。 お元気ですか? RSXについて確認したいことがあります。 私はあなたがRSXを計算するために、より単純な式を使用していることを参照してください。 __________________________ ダブルKg = (3.0)/(2.0+Length); double Hg = 1.0-Kg; if (slope[limit]==-1) クリーンポイント(limit,rsxDa,rsxDb); if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars).If(i=limit,rkBuffer,Length)。 for(i=limit, r=Bars-i-1; i>=0; i--, r++) { wrkBuffer[r][12] = iMA(NULL,0,1,0,MODE_SMA,Price,i); if (i==(Bars-1)) { for (int c=0; c<12; c++) wrkBuffer[r][c] = 0; continue; }; }. // // // // // double mom = wrkBuffer[r][12]-wrkBuffer[r-1][12]; double moa = MathAbs(mom); for (int k=0; k<3; k++) { int kk = k*2; wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0]; wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1]; mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1]; kkBuffer[r][kk] = Kg*wrkBuffer[kk+1] + Kg*wrkBuffer[r][kk+2] = 0.5 * wrkBuffer[kk] [kk+2 wrkBuffer[r][kk+6] = Kg*moa + Hg*wrkBuffer[r-1][kk+6] とする。 wrkBuffer[r][kk+7] = Kg*wrkBuffer[r][kk+6] + Hg*wrkBuffer[r-1][kk+7]; moa = 1.5*wrkBuffer[r][kk+6] - 0.5 * wrkBuffer[r][kk+7] です。 } if (moa != 0) rsx = MathMax(MathMin((mom/moa+1.0)*50.0,100.00),0.00); else rsx = 50; ____________________________________ この式でRSXがどのように計算されるかを理解するために、念のため。 まず行で mom = wrkBuffer[r][12]-wrkBuffer[r-1][12]; 実際にはwrkBuffer[r][12]は、価格の単純移動平均 であり、通常のRSIと同様に価格に注意してください? ですよね?しかし、私はこのSMAの期間(おそらくない長さ)である理解していない? そして、私はよく行で理解している場合、後。 のために(int k=0; k<3; k++) { int kk = k * 2。 wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0]; wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1] とする。 mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1] となります。 実際には、上記の最初のmomで、3回のmomを計算します(mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];)。 でいいのでしょうか? そして、この後、RSX=((mom/moa)+1)*50で "クラシック "です。 あなたの次の答えをありがとう、コーダーとして(別のプラットフォーム上で)、あなたは私がコードがどのように動作するかを理解するのが好きな知っている。 美しい一日をお過ごしください。 Zilliq Coding help エリート指標 :) Please fix this indicator Mladen Rakic 2014.03.09 13:23 #2388 zilliq: MLadenさん、Mrtoolsさん、こんにちは。 元気かなRSXについて確認したいことがあります。私はあなたがRSXを計算するために、より単純な式を使用していることを参照してください。__________________________double Kg = (3.0)/(2.0+Length);double Hg = 1.0-Kg;if (slope[limit]==-1) クリーンポイント(limit,rsxDa,rsxDb);if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars).If(i=limit,rkBuffer,Length)。for(i=limit, r=Bars-i-1; i>=0; i--, r++){wrkBuffer[r][12] = iMA(NULL,0,1,0,MODE_SMA,Price,i);if (i==(Bars-1)) { for (int c=0; c<12; c++) wrkBuffer[r][c] = 0; continue; }; }.//////////double mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];double moa = MathAbs(mom);for (int k=0; k<3; k++){int kk = k*2;wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0];wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1]; mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1]; kkBuffer.r] [kk] [kk+2] = Kg*wrkBuffer[k][kk] + Kg*wrkBuffer[h-1][kk+2wrkBuffer[r][kk+6] = Kg*moa + Hg*wrkBuffer[r-1][kk+6] とする。wrkBuffer[r][kk+7] = Kg*wrkBuffer[r][kk+6] + Hg*wrkBuffer[r-1][kk+7]; moa = 1.5*wrkBuffer[r][kk+6] - 0.5 * wrkBuffer[r][kk+7] です。}if (moa != 0)rsx = MathMax(MathMin((mom/moa+1.0)*50.0,100.00),0.00);else rsx = 50;____________________________________この式でRSXがどのように計算されるかを理解するために、念のため。まず行でmom = wrkBuffer[r][12]-wrkBuffer[r-1][12];実際にはwrkBuffer[r][12]は、価格の単純移動平均であり、通常のRSIと同様に価格に注意してください?ですよね?しかし、私はこのSMAの期間(おそらくない長さ)である理解していない?そして、私はよく行で理解している場合、後。のために(int k=0; k<3; k++){int kk = k * 2。wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0];wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1] とする。mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1] となります。実際には、上記の最初のmomで、3回のmomを計算します(mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];)。でいいのでしょうか?そして、この後、RSX=((mom/moa)+1)*50で "クラシック "です。あなたの次の答えをありがとう、コーダーとして(別のプラットフォーム上で)、あなたは私がコードがどのように動作するかを理解するのが好きな知っている。美しい一日を過ごす ジルイック "実際にはwrkBuffer[r][12]は価格の単純移動平均であり、通常のRSIと同様に価格に注意してください?" その平均の計算期間は 1であり、それは使用される「平均」の価格と同じであることを意味します。メタトレーダーでは、これが希望の価格を得るための最速の方法です(同じことをする「ケース」構造を書こうとすると、rsxコードで使われている方法よりずっと遅いことがわかるでしょう)。 "実際には、それは上記の最初のママと3回ママを計算します(1つの後に)" いいえ、それはそれぞれの、そしてすべての新しい繰り返しで使用されている値を参照してください。ママとモアは常に変更され、ループ処理中に(その変更された形で)再利用されます。 zilliq 2014.03.09 15:14 #2389 Mladenさん、ありがとうございます。 とても不思議なのですが、wrkBuffer[r][12]は価格と同じですが、計算を加速するために期間1の移動平均を使用して いますね。それはとても不思議です...。 2つ目は、私が言いたいのはこういうことだと思います。 それは価格の勢いとして お母さんを計算します そして、それはKgとHgで別のお母さんを計算します。それは、新しいママを作成するために使用されている新しいママを与え、など、3回 何か "簡単に"(理解しやすくするために)そのような ママ mom1=kg*mom mom2=kg*mom1(ママ2 mom3=kg*mom2(ママ3はkg*ママ2 そして、最後にmom3、moa3が使われる。 となっているのですが、これは正しいのでしょうか? Mladen Rakic 2014.03.09 15:18 #2390 zilliq: Mladenさん、ありがとうございます。非常に不思議なのですが、wrkBuffer[r][12]は価格と同じですが、計算を加速するために周期1の移動平均を使って いるのですね。それはとても不思議です...。 2つ目は、私が言いたいのはこういうことだと思います。 それは価格の勢いとしてお母さんを計算します そして、それはKgとHgで別のお母さんを計算します。それは、新しいママを作成するために使用されている新しいママを与え、など、3回 何か "簡単に"(理解しやすくするために)そのような ママ mom1=kg*mom mom2=kg*mom1(ママ2 mom3=kg*mom2(ママ3はkg*ママ2 そして最後にmom3、moa3を使う 私は正しいのでしょうか? ジリ貧ですね。 はい、そのように行われます 1...232233234235236237238239240241242243244245246...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
標準のstepMA 9インジケータを、ヒストグラムとして別ウィンドウに表示するように変更しました。しかし、なぜ買いシグナルが標準インジケータと同期していないのか分かりません(売りシグナルは同期しています)。新しいものでは、元のインジケータより1バー後ろに発生します。なぜでしょうか?私はインジケータのグラフィック面を決定するコードの部分のみを変更しました。
ステップマ_9_histo_mtf.mq4
ステップマ_9.0.mq4
こんにちは。
標準のstepMA 9インジケータをヒストグラムとして別ウィンドウに表示するように変更しましたが、なぜ買いシグナルが標準インジケータと同期していないのか分かりません(売りシグナルは同期しています)。新しいインディケータでは、元のインディケータよりも1バー後ろに発生します。なぜでしょうか?私はインジケータのグラフィック面を決定するコードの部分のみを変更しました。
ステップマ_9_histo_mtf.mq4
ステップマ_9.0.mq4
thefxpros
それは、線の引き方の結果です。
線を引くときは、線を見えるようにするために1小節後ろから引き始める必要があります(そうしないと、点になってしまい、チャート上で全く見えません)。この2つを比較してみてください。
こんにちは。
トレーリングストップと同じような方法でトレードを開始するEAを探しています。
例えば、ある商品でリトレースメントを待っているとします。私はできるだけ高い(または低い)価格で取引を開始したいと思います。このようなEAでは、取引パラメータを 設定すれば、トレーリングストップと同じように価格を追い続けることができます。反転したらヒットしてトレードが開始される。
このようなEAを見たことがありますか?
ありがとうございます。
こんにちは
作成したコードを試してみましたが、なぜかトレードを開始できません。
for (int iTS = 0; iTS < 2000; iTS++) {
int varZonStart = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "00:00");
int varZonEnd = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "10:00");
int JamStart=TimeHour(varZonStart);
int JamEnd=TimeHour(varZonEnd);
if (JamStart>JamEnd) {
varCurrentTime = decDateTradeDay(varCurrentTime);
//if (TimeDayOfWeek(varCurTime) < 1) varCurTime = decDateTradeDay(varCurTime);
if (TimeDayOfWeek(varCurrentTime) > 5) varCurrentTime = decDateTradeDay(varCurrentTime);
}
varZonStart = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "00:00");
int varShiftStart = iBarShift(NULL, 0, varZonStart - 60 * Period());
int varShiftEnd = iBarShift(NULL, 0, varZonEnd);
varHighest = High;
varLowest = Low;
varCurrentTime = decDateTradeDay(varCurrentTime); //set 1 hari kebelakang
if (TimeDayOfWeek(varCurrentTime) < 1) varCurrentTime = decDateTradeDay(varCurrentTime); //jika minggu mundur lagi
if (TimeDayOfWeek(varCurrentTime) > 5) varCurrentTime = decDateTradeDay(varCurrentTime); //jika sabtu mundur lagi
}
for (int iTSh = 0; iTSh < 2000; iTSh++) {
for (int iTSl = 0; iTSl < 2000; iTSl++) {
if(((varHighest-varLowest)/Pip)<=5) varHL=(varHighest+varLowest)/2;
}
}
double isg10a = iOpen(Symbol(),PERIOD_M15,1);
double isg10b = iClose(Symbol(),PERIOD_M15,1);
int static isg10c = -1;
for (iTS = 0; iTS < 2000; iTS++) {
if(isg10avarHL)isg10c =0;
if(isg10a>varHL&&isg10b<varHL)isg10c =1;
}
if (isg10c==0) To code Buy
else if (isg10c==1) To code Sel
else no trade
Jim 全部を書き直すのではなく、棒グラフの計算に制限を加え、それらの棒グラフをすべて再計算するようにしました。これは、リフレッシュの問題を解決するはずです(ただ、BarsTocalculateを大きすぎず小さすぎずの適度な値に保ってください。私はデフォルトとして1000を使用し、それはそのように問題ないようです)。試してみてください。
mladen様。
ご苦労様、そして迅速な対応に感謝します。
私は試してみるつもりです。
ミュンヘンからよろしくお願いします。
このボリュームインジケータを アップグレードして私のMT4に添付するのを手伝ってください。
こんにちは、このボリュームインジケータのエラーを修正するために親切に助けてください。最近、私のmt4チャートに添付することができないことに気づきました。ファイル内のエラーを修正するために可能なことはすべて行いましたが、無駄でした。mt4の大幅なアップグレードが原因だと思われます。私のmt4フォルダにある他のインジケータは、古いバージョンも新しいバージョンもすべて問題なく動作しています。私はまだプログラマーではありませんが、1年前までは動いていました。
添付ファイルをご覧ください。
MLadenさん、Mrtoolsさん、こんにちは。
お元気ですか?
RSXについて確認したいことがあります。
私はあなたがRSXを計算するために、より単純な式を使用していることを参照してください。
__________________________
ダブルKg = (3.0)/(2.0+Length);
double Hg = 1.0-Kg;
if (slope[limit]==-1) クリーンポイント(limit,rsxDa,rsxDb);
if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars).If(i=limit,rkBuffer,Length)。
for(i=limit, r=Bars-i-1; i>=0; i--, r++)
{
wrkBuffer[r][12] = iMA(NULL,0,1,0,MODE_SMA,Price,i);
if (i==(Bars-1)) { for (int c=0; c<12; c++) wrkBuffer[r][c] = 0; continue; }; }.
//
//
//
//
//
double mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];
double moa = MathAbs(mom);
for (int k=0; k<3; k++)
{
int kk = k*2;
wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0];
wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1]; mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1]; kkBuffer[r][kk] = Kg*wrkBuffer[kk+1] + Kg*wrkBuffer[r][kk+2] = 0.5 * wrkBuffer[kk] [kk+2
wrkBuffer[r][kk+6] = Kg*moa + Hg*wrkBuffer[r-1][kk+6] とする。
wrkBuffer[r][kk+7] = Kg*wrkBuffer[r][kk+6] + Hg*wrkBuffer[r-1][kk+7]; moa = 1.5*wrkBuffer[r][kk+6] - 0.5 * wrkBuffer[r][kk+7] です。
}
if (moa != 0)
rsx = MathMax(MathMin((mom/moa+1.0)*50.0,100.00),0.00);
else rsx = 50;
____________________________________
この式でRSXがどのように計算されるかを理解するために、念のため。
まず行で
mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];
実際にはwrkBuffer[r][12]は、価格の単純移動平均 であり、通常のRSIと同様に価格に注意してください?
ですよね?しかし、私はこのSMAの期間(おそらくない長さ)である理解していない?
そして、私はよく行で理解している場合、後。
のために(int k=0; k<3; k++)
{
int kk = k * 2。
wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0];
wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1] とする。
mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1] となります。
実際には、上記の最初のmomで、3回のmomを計算します(mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];)。
でいいのでしょうか?
そして、この後、RSX=((mom/moa)+1)*50で "クラシック "です。
あなたの次の答えをありがとう、コーダーとして(別のプラットフォーム上で)、あなたは私がコードがどのように動作するかを理解するのが好きな知っている。
美しい一日をお過ごしください。
Zilliq
MLadenさん、Mrtoolsさん、こんにちは。
元気かな
RSXについて確認したいことがあります。
私はあなたがRSXを計算するために、より単純な式を使用していることを参照してください。
__________________________
double Kg = (3.0)/(2.0+Length);
double Hg = 1.0-Kg;
if (slope[limit]==-1) クリーンポイント(limit,rsxDa,rsxDb);
if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars).If(i=limit,rkBuffer,Length)。
for(i=limit, r=Bars-i-1; i>=0; i--, r++)
{
wrkBuffer[r][12] = iMA(NULL,0,1,0,MODE_SMA,Price,i);
if (i==(Bars-1)) { for (int c=0; c<12; c++) wrkBuffer[r][c] = 0; continue; }; }.
//
//
//
//
//
double mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];
double moa = MathAbs(mom);
for (int k=0; k<3; k++)
{
int kk = k*2;
wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0];
wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1]; mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1]; kkBuffer.r] [kk] [kk+2] = Kg*wrkBuffer[k][kk] + Kg*wrkBuffer[h-1][kk+2
wrkBuffer[r][kk+6] = Kg*moa + Hg*wrkBuffer[r-1][kk+6] とする。
wrkBuffer[r][kk+7] = Kg*wrkBuffer[r][kk+6] + Hg*wrkBuffer[r-1][kk+7]; moa = 1.5*wrkBuffer[r][kk+6] - 0.5 * wrkBuffer[r][kk+7] です。
}
if (moa != 0)
rsx = MathMax(MathMin((mom/moa+1.0)*50.0,100.00),0.00);
else rsx = 50;
____________________________________
この式でRSXがどのように計算されるかを理解するために、念のため。
まず行で
mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];
実際にはwrkBuffer[r][12]は、価格の単純移動平均であり、通常のRSIと同様に価格に注意してください?
ですよね?しかし、私はこのSMAの期間(おそらくない長さ)である理解していない?
そして、私はよく行で理解している場合、後。
のために(int k=0; k<3; k++)
{
int kk = k * 2。
wrkBuffer[r][kk+0] = Kg*mom + Hg*wrkBuffer[r-1][kk+0];
wrkBuffer[r][kk+1] = Kg*wrkBuffer[r][kk+0] + Hg*wrkBuffer[r-1][kk+1] とする。
mom = 1.5*wrkBuffer[r][kk+0] - 0.5 * wrkBuffer[r][kk+1] となります。
実際には、上記の最初のmomで、3回のmomを計算します(mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];)。
でいいのでしょうか?
そして、この後、RSX=((mom/moa)+1)*50で "クラシック "です。
あなたの次の答えをありがとう、コーダーとして(別のプラットフォーム上で)、あなたは私がコードがどのように動作するかを理解するのが好きな知っている。
美しい一日を過ごす
ジルイック"実際にはwrkBuffer[r][12]は価格の単純移動平均であり、通常のRSIと同様に価格に注意してください?"
その平均の計算期間は 1であり、それは使用される「平均」の価格と同じであることを意味します。メタトレーダーでは、これが希望の価格を得るための最速の方法です(同じことをする「ケース」構造を書こうとすると、rsxコードで使われている方法よりずっと遅いことがわかるでしょう)。
"実際には、それは上記の最初のママと3回ママを計算します(1つの後に)"
いいえ、それはそれぞれの、そしてすべての新しい繰り返しで使用されている値を参照してください。ママとモアは常に変更され、ループ処理中に(その変更された形で)再利用されます。
Mladenさん、ありがとうございます。
とても不思議なのですが、wrkBuffer[r][12]は価格と同じですが、計算を加速するために期間1の移動平均を使用して いますね。それはとても不思議です...。
2つ目は、私が言いたいのはこういうことだと思います。
それは価格の勢いとして お母さんを計算します
そして、それはKgとHgで別のお母さんを計算します。それは、新しいママを作成するために使用されている新しいママを与え、など、3回
何か "簡単に"(理解しやすくするために)そのような
ママ
mom1=kg*mom
mom2=kg*mom1(ママ2
mom3=kg*mom2(ママ3はkg*ママ2
そして、最後にmom3、moa3が使われる。
となっているのですが、これは正しいのでしょうか?
Mladenさん、ありがとうございます。
非常に不思議なのですが、wrkBuffer[r][12]は価格と同じですが、計算を加速するために周期1の移動平均を使って いるのですね。それはとても不思議です...。
2つ目は、私が言いたいのはこういうことだと思います。
それは価格の勢いとしてお母さんを計算します
そして、それはKgとHgで別のお母さんを計算します。それは、新しいママを作成するために使用されている新しいママを与え、など、3回
何か "簡単に"(理解しやすくするために)そのような
ママ
mom1=kg*mom
mom2=kg*mom1(ママ2
mom3=kg*mom2(ママ3はkg*ママ2
そして最後にmom3、moa3を使う
私は正しいのでしょうか?ジリ貧ですね。
はい、そのように行われます