The problem was that you can not put 0 in place of the slowing parameter since in that case metatrader will cause an error when calculating stochastic, and you will always get 0 as a return value, so use 1 instead (it is equivalent to no smoothing of the stochastic value). Also, better to use buffer numbers (MODE_MAIN is a reserved word in MQL - it 0 but in some cases they are not what you expect them to be). To get the rest of the values you would then have to write something similar to this :
保留中の注文の 修正
皆さん、保留中の注文の価格変更をプログラムしてみました。これは私の最初のEAの一つです。私はできるだけ多くのEAを書き、後で複雑なEAを書けるようにしたいと思っています。私の注文の修正で、私のデモ口座のチャートにそれを置くとき、それが動作しないという問題があります。誰か間違いを見つけて、それを修正することによって私を助けることができますか?ありがとうございます。私は本当にこれ以上の手がかりを持っていません。 乾杯
ヘイ、ロバート、これまでの協力に感謝します。どのように私はここに正しくコードを投稿するのですか?ありがとうございます、そしてありがとうございます。
ロバート、これまで助けてくれてありがとう。どうすればここに正しくコードを投稿できますか?ありがとうございます。
fabian103
phpのコードボックスで単純なコピー&ペーストをする必要があります。
なぜかあなたのコードは「あちこちにある」のです。試してみてください。もしうまくいかない場合は、修正したいコードの部分を別のファイルとして添付してください(添付ツールを使用します - 画像で指摘されているものです)。
こんにちは。
ストキャスティクスのインジケーター内でボリンジャーバンドの 値を計算しようとしているのですが、うまくいきません。
ペアを参照した値は得られますが、0から100の間にあるはずの値が必要です。
何かポインタがありますか?
ありがとうございます。
こんにちは。
ストキャスティクスのインジケーター内でボリンジャーバンドの値を計算しようとしているのですが、うまくいきません。
ペアを参照した値は得られますが、0から100の間にあるはずの値が必要です。
何かヒントがあれば教えてください。
ありがとうございます。ストキャスティクスのボリンジャーバンドの 計算(シンボル価格の代わりにストキャスティクスの値を使って)ということでしょうか。iBands()は常にメインチャートの価格を使用するため、内蔵のiBands()ではそのようなことはできません。
iBandsOnArray()を使うこともできますが、これにはメタトレーダーの永遠の問題があります:乖離は整数の乗算器しか使えません。乖離を小数値に設定することはできません。そこで、iStdDevOnArray()とiMaOnArry()関数を使って、任意の値、任意の幅のボリンジャーバンドを自分で計算するのが一番です。ストキャスティックの場合、それを行うコードは次のようになります。
for( i=limit; i>=0; i--)
{
double dev = iStdDevOnArray(stoch,0,BollingerPeriod,0,MODE_SMA,i);
bollmi = iMAOnArray(stoch,0,BollingerPeriod,0,MODE_SMA,i);
bollup = bollmi+BollingerDeviations*dev;
bolldn = bollmi-BollingerDeviations*dev;
}
インジケータ自体も添付しておきますので、引き続き実験してみてください。チャート上ではこのようになります。
____________________
PS:バンドの値は、偏差に使用するバンド倍率とボリンジャーバンドの計算自体の長さに応じて、(ストキャスティクスが0または100で推移している場合)0と100の境界を超えることができます。
ストキャスティクスのボリンジャーバンドを計算するということでしょうか。iBands()は常にメインチャートの価格を使用するため、ビルトインされたiBands()ではそのようなことはできません。
iBandsOnArray()を使うこともできますが、これにはメタトレーダーの永遠の問題があります:乖離は整数の乗算値しか設定できません。乖離を小数値に設定することはできません。そこで、iStdDevOnArray()とiMaOnArry()関数を使って、任意の値、任意の幅のボリンジャーバンドを自分で計算するのが一番です。ストキャスティックの場合、それを行うコードは次のようになります。
これは超素晴らしい!!!!
どうもありがとうございます。
そして、超速い返信に感謝します。
もう一つ質問があります。
indiは非常にうまく動作しますが、バンドの値についてeaで正しい数値を得ることができません。
例えば、あなたが添付した写真のように、81...67...54...という数字があります。
それはスーパーアウェサムです!!!!
どうもありがとうございました。
そして、超高速の返信をありがとうございます。
もう一つ質問です。
indiは非常にうまく動作しますが、私はバンドの値についてeaで正しい数字を得ることができません。
例えば、添付した写真のように81...67...54...という数字がありますね。その例ではストキャスティクスの 長さは32に設定されています。これがデフォルトのパラメータと比較した場合の唯一の違いです。
:):) その例ではストキャスティクスの長さが32に設定されています。デフォルトのパラメータと違うのはそれだけです。
すみません、質問したいことをうまく説明できませんでした。
私のEAでは、画像のようなストキャストウィンドウで、例えばアッパーバンドやローワーバンドの番号を取得しようとしています。例えば、私は81.8116というアッパーバンドを取得したいのですが、次のようにコード化しました。
Comment(iCustom(NULL,0, "name",24,0,MODE_UPPER,0)); \renamed the indi.
と入力したのですが、正しい数値が出ません。
Where am I wrong?
Thanks
すみません、説明不足でした。
私のEAでは、画像のようなストキャストウィンドウで、例えばアッパーバンドやローワーバンドの番号を取得しようとしています。例えば、私は81.8116というアッパーバンドを取得したいのですが、次のようにコード化しました。
Comment(iCustom(NULL,0, "name",24,0,MODE_UPPER,0)); \renamed the indi.
と入力したのですが、正しい数値が出ません。
どこが違うんですか?
ありがとうございます。このようにします。
The problem was that you can not put 0 in place of the slowing parameter since in that case metatrader will cause an error when calculating stochastic, and you will always get 0 as a return value, so use 1 instead (it is equivalent to no smoothing of the stochastic value). Also, better to use buffer numbers (MODE_MAIN is a reserved word in MQL - it 0 but in some cases they are not what you expect them to be). To get the rest of the values you would then have to write something similar to this :
[PHP]double middleBand = iCustom(NULL,0,"name",24,1,1,0);
double lowerBand = iCustom(NULL,0,"name",24,1,2,0);よし...
超ありがとう。
あなたは私を救った....