2007年トレーディング・チャンピオン決定戦! - ページ 10

 
rsi:
多通貨EAの事前テストはどのように行うのでしょうか?

EAにテストの可能性を盛り込むことは可能で、例えば私はこのようにしました。

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int PeriodCounter=2,SymbolCounter=1,trendOnTF;
  string ComString;
  int tf;
//----
   if (IsTesting())
      {
      Print("Прошли проверку на IsTesting");
      for (int indexCount=TestingIndexPeriod;indexCount<=6;indexCount++)
         {
         if (isNewBar(TestingIndexSymbol,indexCount)) 
            {
            Print("Вызовем трейлинг");
            if (OrdersTotal()>0) CheckOrdersForTrailing();            
            trendOnTF=TrendByWPR(TestingIndexSymbol,indexCount);
            TrendOnSymbol[TestingIndexSymbol,indexCount]=trendOnTF;
            GatorTrend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,7,0);
            NRTR_Trend[TestingIndexSymbol,indexCount]=iCustom(GetSymbolString(TestingIndexSymbol),PeriodNumber(indexCount),"NRTR_GATOR",40,2,false,6,1);
            Complextrend[TestingIndexSymbol,indexCount]=(TrendOnSymbol[TestingIndexSymbol,indexCount]+GatorTrend[TestingIndexSymbol,indexCount]+NRTR_Trend[TestingIndexSymbol,indexCount])/3.0;
            ComString="";
            for (tf=indexCount;tf<7;tf++)
               {
               ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Complextrend=",Complextrend[TestingIndexSymbol,tf],"n");
            }
            Comment(ComString);   
            Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
            }
         }
      }
   else
      {
      for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
         {
         for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
            {
            if (isNewBar(SymbolCounter,PeriodCounter))
               {
               if (OrdersTotal()>0) CheckOrdersForTrailing();            
               trendOnTF=TrendByWPR(SymbolCounter,PeriodCounter);
               TrendOnSymbol[SymbolCounter,PeriodCounter]=trendOnTF;
               GatorTrend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,7,0);
               NRTR_Trend[SymbolCounter,PeriodCounter]=iCustom(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"NRTR_GATOR",40,2,false,6,1);
               Complextrend[SymbolCounter,PeriodCounter]=(TrendOnSymbol[SymbolCounter,PeriodCounter]+GatorTrend[SymbolCounter,PeriodCounter]+NRTR_Trend[SymbolCounter,PeriodCounter])/3.0;
               if (Symbol()==GetSymbolString(SymbolCounter))
                  {
                  ComString="";
                  for (tf=2;tf<7;tf++)
                     {
                     ComString=ComString+StringConcatenate("Period ",PeriodNumber(tf),"M  Z_trend=",TrendOnSymbol[SymbolCounter,tf],"  G_trend=",
                     GatorTrend[SymbolCounter,tf],"  N_trend=",NRTR_Trend[SymbolCounter,tf],"n");
                     }
                  Comment(ComString);   
               //Print("Trend on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M=",trendOnTF);
                  }
               } 
            }
         }
      }
   
   ArrayInitialize(TPvsSL,0.0);
   ArrayInitialize(BestTPvsSLSymbol,0);
   ArrayInitialize(BestTPvsSLPeriod,0);
   if (TrendExist())
      {
      if (OrdersTotal()<MaxOpenedOrders) TryOpenOrder();
      else TryCloseOrder();
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Rosh:
rsiは(a)を書いた。
また、多通貨の専門家の事前テストはどのように実施されるのでしょうか。

EAのテストを始めることができます。例えば、私はこのようにしました。

...
コードをありがとうございました。理解してみようと思いますが、1)記述があると便利(不躾で申し訳ありません)、2)体系的な問題解決になっていないように思います。つまり、多通貨EAの競技条件に、このコードをプログラムに追加することを含める(たぶん推奨する)ことが必要で、そうすれば主催者はチャンピオンシップの前にEAの予備テストを行うことができるのです。そうだろ?
 
大まかに言えば、マルチカレンシーエキスパートアドバイザーは、それが宣言されている各シンボルおよび各フレームのバックテストを可能にする必要があります。
バックテストでは、Symbol()とPeriod() のみを使用します。オンラインの場合 - アルゴリズムに含まれるすべてのシンボルで作業します。
 
Reshetov писал (а):
数学は(a)を書きました。

8.参加費100ドル:......ここで、参加者が1、2行のコードをコンパイルできるように、雑多な人たちを集めたのだ。


要するに、チャンピオンシップではなく、地区対抗のスポーツ大会のようなもので、誰かが、どんな形であれ、出場することが最大の条件なのである。
が、ゴールまで来てください。

それが結果です。
初開催であることを考えれば、ごく普通の結果である。
そのために、現在、将来のチャンピオンシップのルールが検討されている。

誰もが参加費を払うわけではないことは明らかだし、払えない人もいるかもしれない。 もしかしたら、雑多な人々の中からたった一人、超ド級のプログラマーに勝てるかもしれないのだ。では、なぜコンテストに参加する人の能力を制限するのでしょうか。
特に、前回大会の欠点をすべて、あるいは多くを考慮して、ルールが更新されるでしょうから。
に加え、新たな制限や要件が追加されました。
全ては、収益性の高いストラテジーを持つExpert Advisorと、適切な
積極的な資本政策だけでなく、資本政策も重要です。
 
alexnau писал (а):

もちろん、誰もが喜んで料金を払うわけではないし、払えない人もいるかもしれない。 もしかしたら、雑多な人々の中から超一流のプログラマーに勝てる人が出てくるかもしれないのだ。では、なぜ人々のコンテストへの参加を制限するのか。
特に、前回大会の欠点をすべて、あるいは多くを考慮して、ルールが更新されるでしょうから。
に加え、新たな制限や要件が追加されました。
エキスパート・アドバイザーが、正しい戦略で利益を上げられるように、すべてが動いているのです。
と、積極的な資本政策だけではありません。

alexnauさん、ex4を1つしか受け取っていない(これは認められている)主催者が、収益性の高い戦略と適切な資本管理の問題を適切に解決できると本当に思っているのでしょうか?また、テストした領域でEAがわずかに失敗した場合はどうでしょうか?では、却下されるのですか?

例えば、最低10回の取引という制限は、簡単に回避できるものでなければなりません。だから、理不尽なんです。

履歴に関する事前テストは、2006年規則ですでに記述されている正式な要件への準拠を確認するためにのみ必要だと私は考えています(III.参照)。Expert Advisorsのプログラム)。

しかし、Expert Advisorの収益性やMMに対する妥当性を履歴で評価することは陳腐な作業である。Expert Advisorにあらかじめ用意した任意の履歴シグナルを詰め込み、isTesting() == trueでテスターに渡すことができるのである。ジグザグ 信号が良い例です:歴史上、完璧ですちなみに、チャンピオンシップルール2006には、こうしたフェイクを阻害する謎のポイントが1つある。

7.事前チェックとチャンピオンシップでExpert Advisorの挙動が異なる場合は失格となる。

チャンピオンシップ2006の主催者の皆さん、何か前例はありましたか?そうでない場合、これらの違いをどのように定義するのでしょうか。

ですから、おそらく、EAを受け入れる段階で、明らかに冒険的なEAをすべて排除することは、主催者としてはできないでしょう。例えば、30ドルという少額の参加費を徴収し、EAがチャンピオンシップを好成績で終えた場合にのみ払い戻されるようにするなど、根本的な方法でその大部分を取り除くことができます。観客は少なくなるが、EAの質は劇的に向上するはずだ。sashkenやZonkerのEAで30ドルを払い戻す意味はあるのだろうか?

私は、この要求リストを提案します。

- 参加費30ドル、最終結果のみ初期資金+30ドル以上のリターンがあります。
- チャンピオンシップのマージンコールは最低70%。マージンコールが発生した場合、即失格となる。
- 2006年チャンピオンシップのすべての正式な要件(III.Expert Advisors Programs)。

取引条件

- 初期資本金 - 500ドル(この条件が厳しすぎる場合は1000ドル)
- 最小ロットは0.1、最大ロット、同時に開くポジションの数およびサイズに制限はありません(保留中の注文を含む)。

制限なし。

- 歴史的収益性
- 歴史に関するMM
- TP/SL
- チャンピオンシップ内のトレード数
- マージン/自己資本比率。
削除済み  
Mathemat:
- 参加費$30、最終結果が初期資本金+$30以上の場合にのみ返金されます。
一般的に、入場料があればいいというのは、個人的には賛成です。ほぼすべてのスポーツの競技において、エントリーフィーが存在する。返金というアイデアは、私個人としては、やはり、やや賛否両論あるようです。
しかし、それが実現しない最大の理由は、技術的な側面にある。手数料を全部ふっかけてくるなんて、めんどくさくて絶対ペイできないよ。特に、すべての潜在的な参加者がBSSRの領土に住んでいないことを覚えている場合、すなわち、別々にクレジットカードから通常のお金で支払いを受け入れ、別の代理のお金を別々にします。クレジットカードを使った小売業の許可も......?そして、このような面倒なことは、主催者が知っていることをやる代わりに、頭の中に入れておくのです。

では、なぜ30ドルも払ってゾナーを買うのか。そして、それを上下2つ置くこと。4万ドルがかかっているのに 6ドルなんてバカげてる それにゾンカーは もう少しで勝てたんだ クソっ!
 
まあ、入学金を返せというのはあんまりな話かもしれませんが、せめてまともなEAを作ろうというインセンティブがあれば......。

しかし、信号で専門家を淘汰するのは不可解な作業である。

1つのIPからの複数登録の禁止は、作者が異なるIPのコンピュータを少なくとも2台持っていれば、非常に簡単に対処できます。そのため、異なるIPから2つ以上の異なる Expert Advisorを送信したい場合、主催者に気づかれることなくそれを行うことができる。現実的な問題は、彼が少なくとも2作品をリーダーとしてアップロードし、主催者がそのリーダーにインタビューしたいと言った場合のみ発生します。

正直なところ、不公平だとは思っていません。自分ではそうするつもりはないのですが :)

Zonkerの EuroBullやEuroBearのような、ミラーEAについて。例えば、シグナルの相関が不自然に高いEAを追加でチェックすることも可能です。異なる作者が独自にシグナルのExpert Advisorを作成できたかどうかは、極めて疑問です。つまり、自分で作ったのではない(インターネットで見つけた)か、お互いに共有したものか、あるいは作者が一人なのか。1の場合はEAが悪い可能性が高く、2、3の場合は反則である。

主催者は、これらの EA のソースコードと全く同じ ex4 でコンパイルされたコードを要求することができます。 コードまたは別の ex4 でコンパイルされたコードの提供を拒否した場合、 - 参加費の払い戻しなしで失格と選手権ブラックリストに IP を配置します。正しい」コードが送信され、その論理が同じであった場合 - イーグルレコニングベースで1つを除いて失格となる。このようなアクションが、合理的で熟練したExpert Advisorを送った著者に影響を与えるとは思えません。

追伸:一般的には、堅実さのために、例えば1ヶ月間の予選を導入するのもよいでしょう。予選の結果、所定の成績を収めた専門家は、本選に進出する。そして本戦。2~3カ月間、同じアドバイザーが 担当する。たしかに、極端な候補者が通る確率はある。しかし、明らかな負け組のほとんど、少なくとも70%は成功しないでしょう。
 
NRTR_GATOR インジケータ ?
 
Mathemat:
alexnau さんが書きました(a)。

結局のところ、儲かる戦略が組み込まれたアドバイザーと、適切な
積極的な資金管理だけでなく、儲かる戦略を持ったEAと適切な資金管理をすることが大切です。

alexnauさん、ex4(これは認められている)しか受けていない主催者が、収益性の高い戦略と正しい資本管理の問題を解決できると本当に思っているのでしょうか?また、テストした領域でEAがわずかに失敗した場合はどうでしょうか?では、却下されるのですか?
数理 次回のチャンピオンシップでは、Expert Advisorのクオリティを上げるべきという意見を述べました。
主催者が「戦略の収益性と適切な資金管理について賢明な判断をすること」を基準にする必要はないと思います。
ex4のテストについて、私は全く知りませんでした。