[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 10

 
volshebnik:
Code Baseを試した限りでは、利益になるものはありませんでした(まだ全然使いこなせていません)。そうでなければ、今頃は本当に賭けていたでしょう。最適化では-良し、テストでは-悪し。ちょうどこの最適化のすべてのMAの検索は、MA(5)、MA(12)、MA(18)、MA(23)、MA(28)がある中で、私の戦略の最高のバリエーションを与えるように私には思われます。しかし、これらは最適なMAではないかもしれません。そして、その一つ一つ(交点も)を処理するのではなく、最適化で遺伝的アルゴリズムを走らせて最適なMAを選択する方が簡単ではないでしょうか?というのが、前回の記事で出てきた疑問です。

解決策のロジックがそこそこダサい気がするんですよね。問題を正しく定式化し(自分のコードがなくてもできる)、そこから少し抽象化して、問題の条件を明確に書く...。
 
Roman.:

解答のロジックがそこそこダサいと思うのですが。問題を正しく定式化し(自分のコードがなくてもできる)、そこから少し抽象化して、問題の条件を明確に書く...。
問題:我々は、MAのブレークを待ってから、最初のフラクタル。第一フラクタル突破が売買の合図。しかし、MAの期間が異なると、期間と平滑化の種類 によって、あるМАは早く「ブレイク」し、あるМАは遅く、それに対応してトレードへのシグナルも異なるため、フラクタルは(時間的に)異なる場所にある可能性があります。そこで、すべてのМАを試して、最も良い(より儲かる)シグナルを出すものを見つけたい(全く正しいかどうかは、まだ断言できない)。50周期の各MAを検索して実行したいのですが、eksponential、smoothedなどの4つのオプションがあります。- とてもとても長い最適化において、МА期間、TP、SLを外部変数に移せば、何が良いのかすぐに分かるだろう。しかし、МА期=7を超えるとなぜか最適化できないのです。だから、何か助けを求めているのです。
 
volshebnik:
タスク:我々は、MAのブレークを待って、その後、最初のフラクタル。第一フラクタルの貫通は、取引のシグナルとなる。しかし、MAの異なる期間でフラクタルは、期間と平滑化の種類に応じて、いくつかのMAが早く "休憩"、他ので、(時間によって)別の場所にあるかもしれません - 後で、それに応じて、貿易への信号 - 異なる。そこで、すべてのМАを試して、最も良い(より儲かる)シグナルを出すものを見つけたい(まったく正しいかどうかは、まだ断言できない)。50周期の各MAを検索して実行したいのですが、eksponential、smoothedなどの4つのオプションがあります。- とてもとても長い最適化において、МА期間、TP、SLを外部変数に移せば、何が良いのかすぐに分かるだろう。でも、МА期=7を超えるとなぜか最適化できないんです。だから、私はいくつかの助けを求めています。 。


解決策

買う(売る-類推する)ために与える。

1.MAフラクチャー - 3、2、1バーのMA値を取得 - 比較する。3>2、2<1のバーのMA値があれば、ブレイクとなる。

2.それから - フラクタル - 貫通 - 取引をするための合図

   
   double fractal_l;
   double fractal_h;
     
   fractal_h = iFractals(Symbol(),PERIOD, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD, MODE_LOWER, 3); 

   if (Ask > upfractal) {открытие ордеров при пробитии последнего (свежайшего) фрактала }


MAを列挙する限りは、外部(最適化可能)変数に配置する。

Period_MA(2~240まで2刻みで設定可能)、MODE-(МА計算方法-変化幅0~3ステップ1)、PRICE_TYPE-(価格定数-変化幅0~6ステップ1)、日中作業時は平均値(終値は重要ではない)で、日中ローソク作業時は当日終値でMA計算すべきと聞いたことがあります。

1,5,15,30,60,240...と、最適化が進むごとに手動で変更する必要があります。

iMAのF1キーを押して、もう一度すべてをよく読んでください。

まあ、もちろんTPやストップロスはいつも通り最適化するのですが。

 double MA_1 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 1);
 double MA_2 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 2);
 double MA_3 = iMA(Symbol(),PERIOD,Period_MA,0,MODE, PRICE_TYPE, 3);
追伸:テスト結果のインフォメーションを書くことも忘れずに...。:-)))
 
Romanさん、ありがとうございました。私のEAと比較してみます。テスト結果は必ずご報告します。あなたの仕事を無駄にしないあなたの以前のマーチンゲールオファーは私の研究キューにあります、私が聖杯に 近い場合))私もあなたに知らせるでしょう。
 
volshebnik:
Romanさん、ありがとうございました。私のEAと比較してみます。テスト結果は必ずご報告します。あなたの仕事を無駄にしないあなたの以前のマーチンゲールオファーは私の研究キューにあります、私が聖杯に近い場合))私もあなたに知らせるでしょう。

センス、待ってるよ...。
 
価格」パラメータの設定が以前と異なる場合、OrderModify()関数はどのように機能するのでしょうかね。例えば、OrderPrice=1.3200がありましたが、OrderModify関数で1.3300に設定しましょう。誰がわかる?(私自身は練習とテスターで確認する必要はありませんでしたが、申し訳ありません)
 
ikatsko:
価格」パラメータの設定が以前と異なる場合、OrderModify()関数はどのように機能するのでしょうかね。例えば、OrderPrice=1.3200がありましたが、OrderModify関数で1.3300に設定しましょう。誰がわかる?(私自身、実践とStrategy Testerで確認していません。すみません)

注文の種類によって、保留中の注文の 始値を変更することができます。
 
abolk:

注文の種類によって可能な場合は、保留中の注文の開始価格を変更します。

注文タイプが 許可する場合」とはどういう意味ですか?新規注文は、買いまたは売りのいずれかを選択することができます。

仮にオーダーで価格が変わったとして、その差額をどこに使うのか?プラスかマイナスか?そうなんですか?スプレッドもあるのでしょう?これは、古い注文(スプレッド)を閉じて、新しい注文を開いたということでしょうか?

 
ikatsko:

注文タイプが許可する場合」とはどういう意味ですか?新規注文は、買いまたは売りのいずれかを選択することができます。

仮にオーダーで価格が変わったとして、その差額をどこに使うのか?残高のプラス、マイナスどちらに?そうなんですか?スプレッドもあるのでしょう?古い注文(スプレッド)を閉じて、新しい注文を開いたということでしょうか。

この関数では、保留中の注文が設定 されている価格のみを変更することができます。成行注文の建値を変更しようとすると、この関数は「Invalid function parameter」のようなエラーを返します。詳しくは、この機能のヘルプをご覧ください。:)
 
artmedia70:
この機能は、保留中の注文の建値のみを変更することができます。成行注文の建値を変更しようとすると、この関数は「Invalid function parameter」のようなエラーを返します。詳しくは、この機能のヘルプをご覧ください - 眠いのでリンクは張れませんが...:)

はい、ご清聴ありがとうございました見るのが面倒で、質問を書いてしまいました。すみません。BUTは見て、(実験せずに)理解しました。price-保留注文の 新しい価格、または成行注文の開始価格。おやすみなさい!