Meta Traderでのスプレッド取引 - ページ 31

 
neoclassic >>:

Продавая USDCAD и покупая DX вы покупаете индекс канадца. На поведение индекса можно посмотреть с помощью того же СС - его динамика ничем не отличается от других индексов. Так что такая торговля на мой взгляд - будет 50/50.


可能なんです!反論するつもりはない。

だから、私たちは探し続ける。他の適切なツールを探している。

ちなみに。昨日、Fduch 指数の取引終了間際にエントリーした(BUY ZC + SELL ZW)。

現在、{+300 pips (コーン) -175 pips (小麦) }があります。

 
neoclassic >>:

Продавая USDCAD и покупая DX вы покупаете индекс канадца. На поведение индекса можно посмотреть с помощью того же СС - его динамика ничем не отличается от других индексов. Так что такая торговля на мой взгляд - будет 50/50.


次に、カナダの指数計算式の計算をお願いします。もちろん存在すればの話ですが ))) ...もちろん ユーロを「タンデム」したほうがいい。インデックスでより重みがあるため。その通常表示用のインディの計算式にマイナスを入れるだけです。また、「タンデム」の係数、つまり取引におけるペアの重みをどのように計算しているのか、教えてください。

 

まだ本格的な計算はしていないんですけどね。すなわち、-ここまでは目測で、-ざっくりと。

Dax/Futsi) - ロットの比率1.2/3とデルタ200T以上、 - 私は観測の多くの週の結果として推論している。

EURIPY+USDJPY - 私は同じロットサイズを取ります。2.5週間のオンライン作業(デルタ=20-30ピップ)において、この「ヘッジ」は2-3日以上費やしていません。

5~20pipsのトータル利益で決済しました。

 
"複数週間の監視"?データを集めるだけなら、もっと簡単ではないでしょうか?
 

うまくいきそうにない。"議論版 "のCrazy Dax(c)と"pretty Footsie"(c) は、異なるプラットフォームで取引されています。

フツーはダックスより1時間遅く始まるのが日常です。しかも、daxが取引されていてfutsiが「オフ」の日、あるいはその逆の日は、歴史上かなり多いのです。そのため、これらの機器の歴史は相対的にずれることが繰り返され、そのために信憑性が低い。

 
rid >>:

Вряд ли получится. "Бешеный Дакс"(с) и "красотка Футси"(с) в "обсуждаемом варианте" торгуются на разных площадках.

Ежедневно футси стартует на час позже дакса. Более того, на истории достаточно много дней, когда дакс торговался, а футси был(а) "на выходных", или наоборот. Так что, история этих инструментов многократно сдвинута относительно др-друга и, по этой причине, мало достоверна.

それでいいんです。彼らのフィールドで大物おじさんたちよりもいいプレーをすることはないだろう。そして、このようなフィールドでは、大きなおじさんたちには関係ないことなのです。

これが私たちの糧となるのです。

 
Fduch >>:
По открытиям баров

私は、テスターで両方の「ヘッジ」商品で、2番目のシンボルの仮想取引をシミュレートして実行できる「準アービトラージ」EAを作成しています。

疑問があります。

アドバイスをお願いします。

機能を変更するには

//--------------------------------------------------------------------+
//ФУНКЦИЯ РАСЧЕТА СРЕДНЕСТАТ.СПРЕДА                    |
//--------------------------------------------------------------------+               
  double CalculateAvarageSpread(string Symbol_1, string Symbol_2,
                              int Timeframe, int NBars)
{
   int k;   double N = 0;   double Sum = 0;
   for( k = 0; k < iBars( Symbol_1, Timeframe); k++)
   {
      if( N == NBars)          break;

      int symb2Shift = iBarShift( Symbol_2, Timeframe,iTime( Symbol_1, Timeframe, k),true);
      if( symb2Shift != -1)
      {
         Sum += iClose( Symbol_1, Timeframe, k) - iClose( Symbol_2, Timeframe, symb2Shift);
         N++;
      }
   }
   double avarageSpread = Sum / N;
   return( avarageSpread);
}

最後のNBarsの 平均スプレッドを返さないのでしょうか?

しかし、ペンタックスNBarsの 場合。

I.e.(2*NBars) -th barからNBarsまでの 期間?

お答えいただける方に質問です。

だって、ここに座っていても、わからないんだもの。

 
//--------------------------------------------------------------------+
//ФУНКЦИЯ РАСЧЕТА СРЕДНЕСТАТ.СПРЕДА                    |
//--------------------------------------------------------------------+               
  double CalculateAvarageSpread(string Symbol_1, string Symbol_2,
                              int Timeframe, int NBars)
{
   int k;   double N = 0;   double Sum = 0;
   for( k = NBars; k < iBars( Symbol_1, Timeframe); k++)
   {
      if( N == NBars)          break;

      int symb2Shift = iBarShift( Symbol_2, Timeframe,iTime( Symbol_1, Timeframe, k),true);
      if( symb2Shift != -1)
      {
         Sum += iClose( Symbol_1, Timeframe, k) - iClose( Symbol_2, Timeframe, symb2Shift);
         N++;
      }
   }
   double avarageSpread = Sum / N;
   return( avarageSpread);
}
 

getch さん、ありがとうございます。今すぐ実行に移します。

2つ目のヘッジ商品のバーチャルトレードをテスターに実装するのは、当初考えていたよりも簡単であることがわかりました。

テスターではMarketInfo(Symbol_2,MODE_BID) Bids and Asksが返ってこないので、始値で 作業を組み立てたが、テスターでは始値と終値が正常に返ってくる。

現在、より精度を高めるためにtf=m1でテストしています。

興味のある方、必要な方のために、私たちの(rid+leonid553)プログラムソリューションの断片を紹介します。

1種類のヘッジオープン(例:sell1+by2):

批判的なコメントもいただければ幸いです。

double POINT_1 = MarketInfo( Symbol_1,MODE_POINT); 
double POINT_2 = MarketInfo( Symbol_2,MODE_POINT); 

double  Close_Symbol_1 = iClose( Symbol_1,Period(),1); 
double  Close_Symbol_2 = iClose( Symbol_2,Period(),1);
//-----------------------------------------------------



if ( TradeUP==true && флаг1==0) {//если условия первого хеджа
//соответствуют заданным  
//продаем 1-й символ и покупаем второй символ 
//-------------------------------------
if(Symbol()!= Symbol_2 && IsTesting() == True) {//при тестировании 2-го
// инструмента команду  не выполняем !
if ( NumberOfPositions( Symbol_1,OP_SELL, Magic)<1  ){//нет поз селл по 1-му символу
 SL=0; TP=0;
if( StopLoss>0)   SL= Bid_1+ POINT_1* StopLoss;
if( TakeProfit>0) TP= Bid_1- POINT_1* TakeProfit; 
ti= OpenPosition( Symbol_1, OP_SELL, Lots_1,0 ,0, Magic);
if (OrderSelect( ti, SELECT_BY_TICKET))
 ModifyOrder(-1, SL, TP, clModifySell);  
    }
                   }//if (IsTesting() == True)
//--------------------------------------
if(Symbol()!= Symbol_1 && IsTesting() == True) {//при тестировании 1-го
// инструмента команду не выполняем !
 if ( NumberOfPositions( Symbol_2,OP_BUY, Magic)<1) { //нет  поз бай по 2-му символу 
   SL=0; TP=0;
if( StopLoss>0)   SL= Bid_2- POINT_2* StopLoss;
if( TakeProfit>0) TP= Ask_2+ POINT_2* TakeProfit;   
ti= OpenPosition( Symbol_2, OP_BUY, Lots_2,0,0, Magic);
if (OrderSelect( ti, SELECT_BY_TICKET))
  ModifyOrder(-1, SL, TP, clModifyBuy); 
          }
                         }//if (IsTesting() == True) {         
//--------------------------------------------------                                                    
                                 } //если условия соответствуют заданным

次に、実際に - "ヘッジ "クロージングブロックで仮想取引機構自体 。

 

次に、「ヘッジ・クロージング」ブロックにおいて、仮想取引の仕組みそのものを説明する。

ここでは、クロージングと利益総額の計算が重要なポイントでしょう

if ( Symbol()== Symbol_1 ){//если прогоняем  1-го инструмент
//--------------Закрываем первый хедж -----------------------------------
//задаем и вычисляем номер бара открытия реальной селл 1-го 
//инструмента - с магиком 1
int N_of_barOP_SELL_1 = NumberOfBarOpenLastPos( Symbol_1,0,OP_SELL, Magic);
//задаем цену открытия этого бара на 2-м инстр., равную  цене открытия 
//виртуальной поз.BUY на втором иструменте(магик)
double OpenBUY_Symbol_2=iOpen( Symbol_2,Period(), N_of_barOP_SELL_1);


if (    ( ( PriceOpenLastPos( Symbol_1,OP_SELL, Magic)- Close_Symbol_1) +
        ( Close_Symbol_2- OpenBUY_Symbol_2) )  >=  CloseProfit* POINT_1 ){
 //если суммарный профит реальной сделки селл 1-го
// инструмента и "виртуальный" профит сделки Бай 2-го
// инструмента (хеджа TradeUP) по факту больше заданного
//значения, то - закрываем реальную OP_SELL 1-го символа и
// виртуальную OP_BUY второго символа
        ClosePosFirstProfit( Symbol_1,OP_SELL, Magic);
        if (IsTesting() != True){// при тестировании команду не выполняем ! 
        ClosePosFirstProfit( Symbol_2, OP_BUY, Magic);
                                  }
                         }
//------------ Закрываем второй хедж -------------------------------------
      аналогично
//----------------------------------------------                          
                         }//if ( Symbol()== Symbol_1 ){

それだけなんですけどね...。

同じように、テスターランで2番目の計測器をクローズさせる(if ( Symbol()== Symbol_2)

使用したfとイゴール・キム(脱帽).

OpenPosition(); - ポーズを開く。

ModifyOrder();- ポジションの修正。

NumberOfPositions() - ポジション数

PriceOpenLastPos() - 直近のポジションの始値

ClosePosFirstProfit()- ポジションを閉じる

NumberOfBarOpenLastPos() - 最後に開いたポジションのバーの数を返します