アスク! - ページ 95

 

短い答えは「いいえ」です。

いつものように、バー0はEAと指標の両方にとって時間的に不完全で、その高値、安値、終値、出来高は、そのバーが完了しバー1になったときの終わり方とはほぼ確実に異なります。より正確には、日足バー終了時のStochRSICurrの値は、次の日足バーの最初のティック(およびそれ以降)でしか分かりません。バー0の値は、例外を除き、不完全なバーの部分的な状態を反映しているだけなので、バー0の値を使おうとしているのは損をしているように思います。

私の知る限り、インジケータはEAのstart()関数を呼び出す際に、特定のパラメータ値の組み合わせで最初にiCustomを呼び出す際に呼び出されます。1つのEA start関数の呼び出しの間に、同じパラメータ値の構成で同じインディケータに連続してiCustomを呼び出すと、最初の呼び出しが生成したものを再利用します。次のEA start()関数で再びiCustomを 呼び出すと、start関数が呼び出されたティックのコンテキストで、再びインジケータを呼び出すことになります。

このように、インディケータから見ると、EAが呼び出させる各ティックに対して、1回呼び出されることになります。MAに始値や高値を使用するように指示することで、どのバーの値を見るかが変わるだけで、起動の仕方は同じです:(EAが許可した)ティックごとに起動されるのです。

 
 

よろしくお願いします

皆さん、こんにちは。

誰も私を助けてくれません。私はもう一度私の問題を投稿し、私を助けてください。

同じインジケータを2つの方法でコーディングした場合、なぜ結果が違うのか理解したいのです(コードと画像を参照してください)。

マヌエル

ファイル:
 

遅いバックテスト

Ralph Ronnquistにお礼を言いたい。今、その部分が正しく機能するようになりました。

もう一つ、どなたか助けてくださる方に質問があります。私のEAでStrategy Testerを 使おうとすると、非常に遅いのです。結果は出ているので、それが機能することは分かっていますが、3ヶ月分の結果を得るには一晩つけっぱなしにしなければなりません。

私のEAは、ストキャスティックRSIクロス(テスト)を使って毎日のトレンドに基づき、その後はプライスアクションのみです。これほど遅い主な理由は何でしょうか。プログラミングに問題があるのか、外部のインジケータを呼び出しているからなのか、それともストキャスティックRSIが多くのパワーを飲み込んでいるのか。

私は他のEAをたくさん動かしていますが、どれも私のよりずっと速いです。私のシステムは3GBのラムとIntel Centrino Duoプロセッサで十分強力です。

何かご提案がありましたら、よろしくお願いします。

プッツ

 

書き方

こんにちは、コーダー

私はMql.4コーディングの全くの初心者です。まだ、既存のEAを改造して勉強中です。

以下はフローティングPivotの例です。

現在のBarに対して

double Flow_Pivot0 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))

+iClose(NULL,0,0))/3.0。

1つ後ろのバーの場合

ここで、私は "番号 "または変数 "shift_bars "を設定する必要があります。

double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))

+ iClose(NULL、TimeFrame_Flow、0))/3.0。

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

 

バッドゲイ

に行ってみてください。

https://www.mql5.com/en/forum/173124

B.

 

解決策が見つからない

ボンゴさん、こんにちは。

申し訳ありませんが、このリンク先には回答がありません。

通常の場合

double High1 = iHigh(NULL,0,0); // 価格が現在高い場合

外部入力が必要な場合

double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1); // 価格の高さを表す。

緑は 何本前の値かを意味する

しかし、私の場合 Barback_xxxを 挿入しなければならないので、以下の行は1本分戻っていなければなりません。

double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))です。

+ iClose(NULL,TimeFrame_Flow,0))/3.0です。

Bongo:
BadGay

に移動します。

https://www.mql5.com/en/forum/173124

B.
 

バックナンバー

Badguy:
こんにちは、ボンゴです。

申し訳ありませんが、このリンク先には回答がありません。

通常の場合

double High1 = iHigh(NULL,0,0); // 価格の高さを表す。

外部入力が必要な場合

double iHigh1 = iHigh(NULL,iHigh12_TimeFrame,Barsback_iHigh1); // 価格の高値。

緑は 何本前の値かを意味する

しかし、私の場合 Barback_xxxを 挿入しなければならないので、以下の行は1本分戻っていなければなりません。

double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))です。

+ iClose(NULL,TimeFrame_Flow,0))/3.0;

ハイ

1小節ずつラインを後ろにずらす場合。

double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))

+iClose(NULL,TimeFrame_Flow,0))/3.0; =現在の日数

double Flow_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1))/3.0;;=当日のフロー。

+ iClose(NULL,TimeFrame_Flow,1))/3.0; =1日戻る

double Flow_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2))/3.0;;=1日戻る

+ iClose(NULL,TimeFrame_Flow,2))/3.0; =2 日分戻る

double Flow_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx))

+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0;

Barback_xxx = 1 ,2, 3, 4 などで、1バーずつ後ろにシフトします。

 

Cjaさん、こんにちは。

そういう意味ではないのですが

cja:
ハイ

もし、一度に1バーずつラインを後ろにずらしたいなら。

それはフローティングPIVOTです。そうでしょう?

#1

double Flow_Pivot1 = (iHigh(NULL,1440,0)+iLow(NULL,1440,0))

+ iClose(NULL,TimeFrame_Flow,0))/3.0; =現在の日数

これが今日の正常なPIVOTです。そうでしょう?

#2

double Flow_Pivot1 = (iHigh(NULL,1440,1)+iLow(NULL,1440,1))

+ iClose(NULL,TimeFrame_Flow,1))/3.0; =1日分 戻ります。

普通のPIVOTですが、昨日からです。そうでしょう?

#3

double Flow_Pivot1 = (iHigh(NULL,1440,2)+iLow(NULL,1440,2))

+ iClose(NULL,TimeFrame_Flow,2))/3.0; =2日前に戻る

私は1が必要ですが、任意の時間枠でXXバーバック。

このIndi : PrevDayAndFloatingPivot_O.mq4と同じ関数です。(ただし、FloatingPivotのみ)。

を付けています。

double Flow_Pivot1 = (iHigh(NULL,1440,Barback_xxx)+iLow(NULL,1440,Barback_xxx))

+ iClose(NULL,TimeFrame_Flow,Barback_xxx))/3.0;

Barback_xxx = 1 ,2, 3, 4 などで、1小節ずつ後ろにシフトします。
ファイル:
 

しかし、私はあなたが私を助けることを願っています。

......他の注文がtpに達したとき、どのように注文(保留中の注文)を閉じたり開いたりするのでしょうか?

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