コーディングのヘルプ - ページ 495

 
Mastercash:
Mladen, I seem not to understand, Im using EMA period 10 to act as floating r/s fo a purpose, if I reduce the period to 1-period, it will be too weak to be used as r/s......!?私はただ、新しいキャンドルのオープニングではなく、キャンドル内にそのアラートを与えるためにコードを調整する心優しいフェローが必要です。

申し訳ございません

コードの読み方を間違えていました

とにかく、この行は

MainBuffer=iMA(NULL,60,10,0,MODE_SMA,PRICE_CLOSE,i);

という行は、チャートの時間枠が1時間以外の場合、どのような場合でも間違っています。iBarShift()を使ってインデックスを設定します。このように

int y = iBarShift(NULL,PERIOD_H1,Time);

MainBuffer=iMA(NULL,PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE,y) のようにします。

また、現在開いているバーで警告するために、SIGNAL_BAR定数値を1から0に変更します(ただし、その後、コードにいくつかの変更を加える必要があります)。

_________________

PS: 私はあなたがこのスレッドからいくつかの新しい指標を取ることをお勧めします :https://www.mql5.com/en/forum/180648 それらのケースがどのように処理されるべきかの多くの例があるので。

 

お願いします!お願いします7本連続の強気ローソク足、または7本連続の弱気ローソク足の終値の直後にアラートが出るインジケータが欲しいです。

ピン、ドギ、ろうそくの他の形態はカウントされません。そこに7弱気または強気バーバックツーバックときに音とポップアップします唯一の牛と熊のろうそくの警告。

私は本当に感謝し、戦略が行われたときに私のアイデアを共有します。

 

Mladenさん、こんにちは。

増加時間最適化の理由がわかった気がします。

iMAOnArray」の代わりにデータを滑らかにする、「MovingAverages.mqh」を入れる。

iMAOnArrayでストラテジーテスターでインジケータを1回実行したところ。

2015.06.28 00:13:42.132 2015.06.15 23:59 EURUSD,H1:70897 tick events(71897 bars,142742 bar states) processed in0:02:40.525(total time0:02:40. 556).556)2015.06.28 00:11:01.613 2015.06.15 23:59 TSIErgodic inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:11:01.587 2015.06.15 23:59

ストラテジーテスターでMovingAverages.mqhでインジケータを1回実行したところ。

2015.06.28 00:14:10.625 2015.06. 1523:59 EURUSD,H1:70897 tick events(71897 bars,142742 bar states) processed in0:00:01.045(total time0:00:01.077)2015.06.28 00:14:09.577 2015.06.14 00:14:10.625 2015 .06.14 23:59 TSI:H1:70897 tick events(71897 bars,142742 bar states) processing in0:00:01.045 2015.06.15 23:5906.15 23:59 TSI_New inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:14:09.546 2015.06.15 23:59 EAで新しい指標を使うと、トレードがなく、指標ウィンドウは空っぽになります。

最適化中にトランザクションで実行されていることを示しています。

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

インジケータを修正することができますか?

tsi_new.mq4

ファイル:
tsi_new.mq4  5 kb
 
QuantF:
こんにちは、Mladen!

増加時間最適化の理由がわかった気がします。

iMAOnArray」の代わりにデータを滑らかにする、Include MovingAverages.mqh。

iMAOnArrayでストラテジーテスターでインジケータを1回実行したところ。

2015.06.28 00:13:42.132 2015.06.15 23:59 EURUSD,H1:70897 tick events(71897 bars,142742 bar states) processed in0:02:40.525(total time0:02:40. 556).556)2015.06.28 00:11:01.613 2015.06.15 23:59 TSIErgodic inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:11:01.587 2015.06.15 23:59

ストラテジーテスターでMovingAverages.mqhでインジケータを1回実行したところ。

2015.06.28 00:14:10.625 2015.06. 1523:59 EURUSD,H1:70897 tick events(71897 bars,142742 bar states) processed in0:00:01.045(total time0:00:01.077)2015.06.28 00:14:09.577 2015.06.14 00:14:10.625 2015 .06.14 23:59 TSI:H1:70897 tick events(71897 bars,142742 bar states) processing in0:00:01.045 2015.06.15 23:5906.15 23:59 TSI_New inputs: p2=7; p3=5; p4=3; p5=3;2015.06.28 00:14:09.546 2015.06.15 23:59 EAで新しい指標を使うと、トレードがなく、指標ウィンドウは空っぽになります。

最適化中にトランザクションで実行されていることを示しています。

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

インジケータを修正することはできますか?

tsi_new.mq4

インジケータを修正することはできません。

問題はインジケータにあるのではなく、バックテスターにあります。

いずれにせよ、aMAOnArray()を使用することはExponentialMAOnBuffer()を使用するよりかなり速いはずです - 単にiMAOnArray()がマシンコードレベルで実行され、ExponentialMAOnBuffer()がPコードレベルで実行されるからです。iMAOnArray()が速くないという事実は、mt4の新しいビルドが深刻な問題を抱えていることを示すだけです。

 
mladen:
インジケータに修正するものは何もありません

問題はインジケータにあるのではなく、バックテスターにあるのです。

いずれにせよ、aMAOnArray()を使用することはExponentialMAOnBuffer()を使用するよりかなり速いはずです - 単にiMAOnArray()はマシンコードレベルで実行され、ExponentialMAOnBuffer()はPコードレベルで実行されているからです。iMAOnArray()が速くないという事実は、mt4の新しいビルドが深刻な問題を抱えていることを示すだけです。

フォーラムで何度もこの問題について書きました。良いことはありません。あなたはバグが修正されないと思いますか?

 
QuantF:
フォーラムで何度もこの問題について書きました。良いことはありません。あなたは、バグが修正されないと思いますか?

修正されるはずです。

修正されるかどうかはわかりません。Backtesterは、新しいビルドが出るたびにどんどん悪くなっています - 私はあまり期待しないことにします。

 

配列を効率的に扱う方法を説明したマニュアルはないのでしょうか?

 
apprentice coder:
配列の効率的な扱い方を説明したマニュアルはないでしょうか?

mqlはC/C++と同じように配列を使っているので、ここから始めると良いでしょう。配列 - C++チュートリアル

配列を直列にするのは避けた方がいいです。この場合、リサイズは非常に面倒です。(最初の(最も古い)要素がインデックス0、最後の(最も新しい)要素のインデックスが配列サイズ-1です。

 

フォーラムの@プログラマとコーダーは、以下に添付のエキスパート-アドバイザにブレークイーブン-オプションを追加することができますしてください。

ファイル:
 
douceurdange:
RSI+ボリンジャーバンドインディケーターでRSIラインがボリンジャーバンドに戻った時に矢印を出すことは可能でしょうか?

私は私が持っていたいアラートのモデルとしてcci nrpの高度なアラートを置く。

ありがとうございました。

rsi__bollinger_bands.mq4rsi__bollinger_bands.ex4cci_-_nrp_-_mtf_advanced_alerts.ex4cci_-_nrp_-_mtf_advanced_alerts.mq4 です。

このインジケータはここに投稿されました :https://www.mql5.com/en/forum/general