戦略を求める人は?たくさん、しかも無料で)。 - ページ 63

 

はい、メールは正しいです。

先ほど、プライベート メッセージを送りました。

 

あ、私信のことすっかり忘れてました :)))))))))))))))))))))))))))))))))))))

もうそこに積まれているんですよ :) 。みんな - 間に合わなかったらごめんね。いつもはフォーラムの個人メッセージを オフにしていて、習慣でここにも注意を払わなかったんだ :)...


Miroslav - それから今、私はメッセージ(答え)を準備し、メールで送信されます...

 

**バーオープニングと バークローズ-ポジションの ポイントは、唯一の問題ではないことを忘れないでください。そうして、ポジションはバーの「真ん中」で開くことができるのです(簡単!)。(いわば、バーの交点のみでのインジケータ値の算出について...。この条件は「常に」実現可能とは限りません ;)) **。


エントリーポイントがバーの真ん中にある場合(例えばMAで)、毎ティックごとにIndicatorを再計算しなければならないとお考えでしょうか。納得いかないのは余裕です。


信頼性の高いバックテスト(MT、FSBまたは他のテスターを使用)を行うには、Entry / Exitポイントを含むすべての指標を固定する必要があります。これは、EAがバーの間にマーケットエントリーを使用することを制限するものではありません。


1.移動平均線(21、終値)でエントリーします。

この場合、バーの終値が確定するまで上下に動いているため、現在のMAを使用することはできません。だから、前のバーのMAを使わなければならない。こうすることで、毎回の目盛りで再計算する必要がなくなります。


2 移動平均線(21、オープン)でエントリー。

ここでは、現在のMAを使用することができます。MA基準価格であるBar Openingが既に確定しているため、確定しています。また、毎回の目盛りで再計算する必要もない。


--------

編集する。

もちろん、これは私個人の意見です。

そういう意味でバックテストを強制するつもりはありません。

リーザーズ!(笑


Edit2です。

因みに、FSBで作成したストラテジーで、ティック毎にインジケータを再計算する場合の例を教えてください。

 

うーん、ミロスラフさん、なるほど!(遠い目。)

上にあげた、インジケータコードの構文に戸惑っただけです。

                    case "The position opens above the MA value":
                        component[0]. PosPriceDependence = PositionPriceDependence. BuyHigherSellLower;
                        component[0]. UsePreviousBar     = iPrvs;
                        component[1]. DataType           = IndComponentType. Other;
                        component[1]. ShowInDynInfo      = false;
                        component[2]. DataType           = IndComponentType. Other;
                        component[2]. ShowInDynInfo      = false;
                        break;

すなわち、component[0] です PosPriceDependence = PositionPriceDependenceBuyHigherSellLower

それはちょっと違うんじゃないですか?重要なのは、このようなインジケーターの計算の 話をしているのではない、ということです。その値は、そう、バーの中で静止しているのです。しかし、この場合(上に引用した)最後の価格値と比較しなければならないことについては?ポジション開設を決定するため。FSBでは、(私の理解が正しければ)社内手続きで行われています。しかし、それらは「我々にはわからない」ので(実際、何のために?)、私は、このような場合、論理的条件について明確なYES/NOを受け取るために、すべてのティックでインジケータを再計算することを提案しました。つまり、この結論を出すのはインジケーター自身であって、インジケーターの外部にあるコードではありません。本気だ!

つまり、うーん、もう一度言いますが、「交差する」バーでインジケータを一度計算すべきだというテーゼには賛成 です。しかし、MTの将来のEAに適用して、インジケータがポジションオープンのシグナルを出す場合、これらの値(YES/NO)だけに頼るべきで、現在の価格とインジケータ価格(静的なもの)の比較には依存してはなりません。これをインジケータ自身に比較させるのです。そして、そのYES/NOのみを考慮する。それだ...:)


それとも、どこかに見落としがあるのでしょうか?:D?("got a little bit of a mammy...")

 

したがって、Close[iBar]と現在または以前のインディケータの値(どちらが静的か)を正しく比較するために、このような計算をもう一回修正する必要があるという意味です(今考えています)(iPrvsは考慮する必要があります)。でも、考え方としては間違っていないと思うのですが......!?



(何の話をしてるんだ:)!インディケータは、どこでもIndicatorCounted()を使って作業することを考慮します!!!ただ、それ以外のやり方はしません :) 。EA作成者だけでなく、ビジュアルな部分(とリアルタイムの値)を必要とするようなユーザーも利用できる。元のコードは少しも変わりません!通常、自己参照変数の「元の」値を初期化するビットを最初に追加するだけです。それ以上はない...。これを「リトル・ブラッド」と呼ぶこともある。そうでない場合もある(Hourly High Lowの例のように)。しかし、いずれにせよ、最小限の身体的努力(まだか) :))


それともグローバルな面ですか?それなら議論することもないでしょう。iPrvsはすごいですよ。:)フルストップ!でも、誰もそれに反論しない :)!


(メールを送ったのですが...ここで直接回答しようと思います)

 
case "The position opens above MA value":
component[0].PosPriceDependence = PositionPriceDependence.BuyHigherSellLower;


シグナルはEntry Pointインジケータに依存するため、このロジックはインジケータ自体で管理することはできません。

このロジックは、他のロジックのように売買(1 , 0)シグナルを出しません。

FSBは以下のように進行します。

1.取引判断の際、初期状態ではこの指標を無視します。
2.他のロジックルールが全て満たされ、FSBがエントリポイントを知っている場合、実際の実行直前にこのインジケータをチェックし、エントリを許可または禁止する。

バックテスターに収録されています。

EAでの応募は3つの選択肢があります。

1.エントリーポイントを先に計算する(配列にする)。その後、この配列をインジケータに送信し、売買シグナルを計算します。

2. ポジションの開始価格を返すベースメソッドEntryPrice(int iBar)を持つこと。
MA値より上でポジションがオープンする。
for(int iBar ... )
{
SignalLong[iBar] = EntryPrice(iBar) > MA[iBar] ?1 : 0;
SignalShort[iBar] = EntryPrice(iBar) < MA[iBar] ?1 : 0;
}

3.実際の入力の前にこのインジケーターを呼び出す。
double EntryPrice = ......。
If(EntryPrice>fsb_MA(...))です。
OrderSend(...)。


----

1:0のシグナルを設定しないインジケータがいくつかあります。
- "Position opens above / below ..." のロジックを持つすべてのインジケータ。
- 時間」指標:入力時刻、入力時間、曜日。
- アカウントパーセンテージストップ
- ATRストップ
- ストップリミット
- ストップロス
- テイクプロフィット
- トレーリングストップ
- トレイリングストップリミット
- ロットリミッター

これらの「指標」は、取引の瞬間にエントリー/エクジットの許可を与えるものです。










 

ミロスラフ - 'ゲットイット'!最終的に何かを理解したという意味ではなく :)(インジケーターロジックでFSBを操作する考え方

ずっと前から理解していた(Stop Limitなどは考慮していない、まだ見ていない)

やっと思い出した、とでも言いましょうか)


WEは、異なるアプリケーション(アプリケーションそのもの(FSBとMT)と「に適用して」という両方の意味)について同じ文脈で話しているだけです。

ポイントは、バックテスト手順そのものの前に、一度FSB指標を計算 することです。

FSBは、このような条件("Position opens above / below ...")に対して、テスト前に明確に1/0を計算することができません。

したがって、まさに正しいロジックを用いているのです。


2.他のロジックルールが全て満たされ、FSBがエントリーポイントを知っている場合、実際の執行直前にこのインディケータをチェックし、エントリーの許可または禁止を行います。
しかし、私たちの(RealTime)ケースでは、これは義務ではありません。というか、「絶えず、その場で」指標を計算することで、任意の瞬間に持っているであろう
この論理条件に対して、ある特定の瞬間には1/0という明確な答えが得られる。
我々はまだ「できない」最後の利用可能な価格(Close[0])でポジションを開くことができません。そこで、インジケーターと比較してみてはいかがでしょうか。
そして、なぜ他のケースのように論理的な1/0を出力しないのか(すみません、フォーマットが「ずれ」ています、HTMLを調べる気はありません(「びくびく」しても意味がありません)。
case MA_POS_OPENS_ABOVE:
for (iBar = iFirstBar; iBar>)= 0; iBar--) {
LPIndBuffer[iBar] = Close[iBar] > adMA[iBar];
SPIndBuffer[iBar] = Close[iBar] < adMA[iBar];
}
break;

// iPrvsを意識して書き直した方が明らかに正しい(今日、一般的にこの問題を回避する方法を「思いついた」)

case MA_POS_OPENS_ABOVE:
For (iBar = iFirstBar; iBar>)= 0; iBar--) {
LPIndBuffer[iBar] = Close[iBar] > adMA[iBar + iPrvs];
SPIndBuffer[iBar] = Close[iBar] < adMA[iBar + iPrvs];
}
break;

// [0](リアルタイム)以外のバーの値は「全く正しくない」(というかClose[iBar]に固定される)ことを考慮し、コードを次のように変更することが可能です。

case MA_POS_OPENS_ABOVE:
for (iBar = iFirstBar+ 1; iBar>= 0; iBar--) {
if (iBar > 0) {
LPIndBuffer[iBar] = 0.0;
SPIndBuffer[iBar] = 0.0;
}.else {
LPIndBuffer[iBar] = Close[iBar] >.adMA[iBar + iPrvs];
SPIndBuffer[iBar] = Close[iBar] < adMA[iBar + iPrvs];
}
}
break;

// T.つまり、[0]を除くすべてのバーについて、この条件が満たされていない(満たされなかった)ことをインジケータが表示します - いわば、美学の問題です...それ以上ではありません。

 

(off: 別のコメントとして、再度コードを挿入しようとしています - "the stone flower doesn't come out" :) → 空のコメント → 最初のページに行くだけ...。もしかしたら、本文中に「消化できない」という要素もあるかもしれませんが......。一般に - だから読む(上記のように) :))

 

皆さん、Miroslavは昨日FSBをバージョン2.8.3.6 Betaに 更新しました。

http://forexsb.com/forum/post/2446/#p2446


信号ロジックを統一しました。この変更は、大半の指標に影響を与えました。指標計算のコードは変更されていない!

ロジック信号が「ノイズ」の影響を少し受けにくくなったのだ。設定ファイルに、2つのパラメータを追加しました。

  <SIGMA_MODE_MAIN_CHART> 1</SIGMA_MODE_MAIN_CHART>
  <SIGMA_MODE_SEPARATED_CHART> 5</SIGMA_MODE_SEPARATED_CHART>

パラメータは、価格変動レベルからトリガーされるシグナルの "しきい値 "を設定します(チャートとウィンドウ上の指標と独自のウィンドウを持つ指標のために)。

MODE値の対応表はこちらです。

http://forexsb.com/library/source/Sigma.html


私たちは、「デフォルト」値が(ほとんどの場合)EXACTLY adequateであると信じています。でも...自由に実験してください :)


二度手間にならないように、あえてこの発売を待ちました。私も自分の作品を置いています。現在、20のインジケータを持っています(そのうちの2つ(Bar Closing / Bar Opening)は「役に立つ」とは思っていませんが、将来的には役に立つでしょう ;)。

-FSB- Accelerator Oscillator.ex4
-FSB- Accumulation Distribution.ex4
-FSB- ADX.ex4
-FSB- Bar Closing.ex4
-FSB- Bar Opening.ex4
-FSB- Bar Range.ex4
-FSB- Bollinger Bands.ex4
-FSB- Donchian Channel.ex4
-FSB- Envelopes.ex4
-FSB- Force Index.ex4
-FSB- Heiken Ashi.ex4
-FSB- Hourly High Low.ex4
-FSB- Ichimoku Kinko Hyo.ex4
-FSB- Keltner Channel.ex4
-FSB- Moving Average.ex4
-FSB- Price Oscillator.ex4
-FSB- RSI MA Oscillator.ex4
-FSB- RSI.ex4
-FSB- Starc Bands.ex4
-FSB- Steady Bands.ex4

計算アルゴリズムと信号ロジックはFSBに完全に準拠しています(まあ...そうあるべきですが)...

インジケータ値も含めて!!!( FSB (アプリケーション) = -FSB- (変換) = MT (内部) )(任意の記号まで)。

例外は「-FSB- Accumulation Distribution.ex4」で、Miroslavはそこにトリッキーなコードを持っています、まだ手をつけていません(MTと正確に一致しない、FSBでチェックしていない)


五十音順(まあほぼ)に続けています。もし、もっと優先順位の高いものが必要な人がいたら、書いてください。(1時間ごとの高値安値の人はどこかに消えてしまい、私は理解していない - それは助けられたかどうか:D?!)


同時に、これらのバージョンのインジケータで動作するEAの開発にも着手しています。最後に束のようなものがあるはずです。

FSB→エクスポートされたストラテジーファイル→変換された指標と内部取引ロジックに基づくEA、FSBと互換性がある...


がんばってください。そして、みんなにハッピーホリデーを!!!

仕事始めに近い時期に顔を出す...。ご期待ください・・・。

ファイル:
 
Stellarator >> :

皆さん、Miroslavは昨日FSBをバージョン2.8.3.6 Betaに更新しました。

http://forexsb.com/forum/post/2446/#p2446


何かをダウンロードしているのですが、アーカイブが壊れています...。: