エキスパート: Futures Portfolio Control Expiration

 

Futures Portfolio Control Expiration:

MOEX FORTS市場用のポートフォリオEAです。


作者: Sergey Chalyshev

 

私はそれを実際にチェックし、チャートに置き、ポジションをオープンし、現在のシンボルの有効期限を超えるように時間を変更し、ロボットはポジションを閉じ、別のアドレスですでにオープンした。

すべて順調だ。しかし、欠点があります、それは閉じますが、ロボットが立っているチャートは古いまま開き、新しい先物のポジションを開くと、それが手動で新しい先物にロボットを移動する必要がないように、楽器自体が変更されると良いでしょう。

 

私は次の行を追加した。

//+------------------------------------------------------------------+
void CheckPos(string sym, string & TradeFutures, double lot)
  {
   if(SymbolInfoInteger(TradeFutures,SYMBOL_EXPIRATION_TIME)-TimeCurrent()<hours_before_expiration*60*60)
     {
      trade.PositionClose(TradeFutures);
         Sleep(3000);
      SymbolSelect(TradeFutures,false);
      TradeFutures=NextFutures(sym);
     }
   if(!PositionSelect(TradeFutures))
     {
      if(lot>0) trade.Buy(lot,TradeFutures);
      if(lot<0) trade.Sell(-lot,TradeFutures);
      ChartSetSymbolPeriod(0,TradeFutures,PERIOD_CURRENT);
         Sleep(3000);
     }
  }
//+------------------------------------------------------------------+

すべてがうまく切り替わっている。

例をありがとう。

 
Konstantin Seredkin:

私は次の行を追加した。

すべてうまく切り替わる。

例をありがとうございます。

Expert Advisorが複数の商品を取引する場合、チャートを切り替える意味はないと思います。糊付けすればいい。

これはあくまで例なので、オーナー次第です。

実際の取引では、私ならスリープを捨てて、普通に注文執行のチェックをする。でも、この例の本質をオーバーロードしたくなかったんだ。

 
Sergey Chalyshev:

Expert Advisorが複数の商品を取引する場合、チャートを切り替える意味はないと思います。糊付けすることは可能です。

これは一例で、オーナー次第です。

実際の取引では、私ならスリープを捨てて普通に注文の約定チェックをします。しかし、私は例の本質をオーバーロードしたくなかったので、それは別のトピックです。

しかし、日中にポジションを決済 し、すべてのリミッターを外し、ロボットが取引スケジュールを変更して別の先物に切り替え、新しい先物でクリーンシートで新しい取引を開始するようなアルゴリズムが必要だ。

私はこのすべてをやったかのように、しかし、私はそれを回避する方法を見つけることができない問題があった

例えば

ChartSetSymbolPeriod(0,TradeFutures,PERIOD_CURRENT);

チャートは変わりますが、例えばM5 M30など、移行後にタイムフレームをクリックしようとすると、ロボットは次のティックで先物チャートを変更したTFを返します。

また、設定で取引商品を強制的に選択できるようにするつもりでした。例えば、オイルを選択したのですが、ロボットはrtsに投げられ、初期化するとチャートはオイルに変わります。しかし、満期時に別の先物に切り替えるとループが発生し、ロボットはBR-5.18に設定された状態で初期化され、その後、チャートの変更とともに6.18に変更され、ここで各ティックが6.18から5.18に変更され、また元に戻ります。

恐らく、チェックやフラグなどで行われているのでしょうが、どうすればいいのかまだわかりません。正しい方向へのキックをいただけるとありがたいです。この移行と取引スケジュールの変更のアルゴリズムは、FORTSで取引するすべてのロボットにデフォルトで組み込まれるべきで、もしかしたら開発者自身がライブラリに追加してくれるかもしれません。

 
親愛なるプログラマー、

モスクワ証券取引所の書類でDEMOをテストしていますが、デフォルト設定では完璧に動作しています。- しかし、いくつかの疑問があります:

1 - どのように3紙未満(例えば2)、あるいは3紙以上を操作するのですか?

2 - 他の国の取引所で取引するように設定できますか?

この素晴らしいEAを提供していただきありがとうございます。

ありがとうございました。
P.カンポザーナ