Meta Trader에서 스프레드 거래 - 페이지 31

 
neoclassic >> :

USDCAD를 매도하고 DX를 매수하면 캐나다 지수를 매수하는 것입니다. 동일한 SS를 사용하여 인덱스의 동작을 볼 수 있습니다. 그 역학은 다른 인덱스와 다르지 않습니다. 제 생각에 이 거래는 50/50이 될 것입니다.


아마도! 나는 논쟁하지 않을 것이다.

그럼 더 살펴보겠습니다. 다른 적합한 도구를 찾으십시오.

그런데. 어제 터키 거래가 거의 끝나갈 무렵 Fduch -a가 진입했습니다(BUY ZC + SELL ZW).

현재 사용 가능 {+300핍(옥수수) -175핍(밀) }

 
neoclassic >> :

USDCAD를 매도하고 DX를 매수하면 캐나다 지수를 매수하는 것입니다. 동일한 SS를 사용하여 인덱스의 동작을 볼 수 있습니다. 그 역학은 다른 인덱스와 다르지 않습니다. 제 생각에 이 거래는 50/50이 될 것입니다.


그런 다음 pliz, 캐나다 지수 공식의 계산. 그것이 존재한다면 물론))) ... 사실, rid , 유태인을 "탠덤"으로 받아들이는 것이 좋습니다. 왜냐하면 인덱스에 더 많은 가중치가 있습니다. 정상적인 표시를 위해 칠면조 공식에 빼기 기호를 넣으면 됩니다. 그리고 "탠덤"에 대한 계수를 계산하는 방법을 공유할 수 있습니까? 거래 쌍의 무게?

 

예, 아직 심각하게 받아들이지 않습니다. 저것들. - 눈으로 보면, - 대충.

(dax/footsy) - 부지 비율이 1.2/3이고 델타가 200톤 이상인 경우 - 몇 주 동안 관찰한 결과 추론했습니다.

EURIPY+USDJPY, - 동일한 로트 크기를 사용합니다. 2.5주 동안 온라인 작업(델타=20-30핍) - 이 "헤지"는 2-3일 이상 제자리에 있지 않았습니다.

5~20핍의 총 수익으로 마감했습니다.

 
"주간 관찰"? 자료수집만 하면 되지 않나요?
 

일어날지 확실하지 않습니다. "토론된 버전"의 "Raging Dax "(s) 및 " beauty Futsy "(s)는 다른 사이트에서 거래됩니다.

매일 footsy는 dax보다 한 시간 늦게 시작됩니다. 더욱이, 역사상 dax가 거래되었던 날이 상당히 많았고, 그 발자취는 (a) "주말에" 또는 그 반대였습니다. 따라서 이러한 도구의 역사는 서로에 대해 반복적으로 이동하며 이러한 이유로 매우 신뢰할 수 없습니다.

 
rid >> :

일어날지 확실하지 않습니다. "토론된 버전"의 "Raging Dax "(s) 및 " beauty Futsy "(s)는 다른 사이트에서 거래됩니다.

매일 footsy는 dax보다 한 시간 늦게 시작됩니다. 더욱이, 역사상 dax가 거래되었던 날이 상당히 많았고, 그 발자취는 (a) "주말에" 또는 그 반대였습니다. 따라서 이러한 도구의 역사는 서로에 대해 반복적으로 이동하며 이러한 이유로 매우 신뢰할 수 없습니다.

괜찮아. 우리는 그들의 분야에서 "큰 삼촌"보다 더 잘 플레이하지 않을 것입니다. 그리고 그러한 분야에서 "큰 삼촌"은 할 일이 없습니다.

이것은 우리의 빵입니다.

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

이제 두 번째 기호에 대한 가상 거래를 모방하여 두 "헤지" 도구에 대한 테스터에서 실행할 수 있는 "준 차익 거래" 전문가 고문을 마무리하고 있습니다.

질문이 있었습니다.

말씀해 주세요.

기능을 변경하는 방법

 //--------------------------------------------------------------------+
//ФУНКЦИЯ РАСЧЕТА СРЕДНЕСТАТ.СПРЕДА                    |
//--------------------------------------------------------------------+               
  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 막대를 위해.

저것들. ( 2*NBars ) 번째 막대에서 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);
}
 

감사 합니다 ! 지금 나는 그것을 사용하고 있다.

내가 처음에 생각했던 것보다 테스터에서 두 번째 "헤지" 도구의 가상 거래를 구현하는 것이 더 쉬운 것으로 판명되었습니다.

오픈 가격으로 작품을 만들었습니다. 왜냐하면 테스터는 입찰가를 반환하지 않고 MarketInfo(Symbol_2,MODE_BID)를 묻습니다. 테스터는 시가와 종가를 정상적으로 반환합니다.

정확도를 높이기 위해 지금 tf = m1에서 테스트 중입니다.

관심이 있고 필요로 하는 사람들을 위해 (rid+leonid553) 소프트웨어 솔루션의 일부를 제공합니다.

개방 유형 1 헤지(예: 매도1+매수2):

나는 비판적 발언에 기뻐할 것입니다.

 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 ){

사실 그게 다야...

마찬가지로 두 번째 기기의 테스트 실행을 종료합니다( if ( Symbol ( ) = = Symbol_2 )

Igor Kim의 기능이 관련되어 있습니다( 그에게 절합니다 ):

오픈포지션() ; - 오프닝 포즈.

ModifyOrder() - 정류장 수정

NumberOfPositions() - 위치 수

PriceOpenLastPos ( ) - 마지막 시가. 직책

ClosePosFirstProfit ( ) - 마감 위치

NumberOfBarOpenLastPos() - 마지막으로 열린 막대 번호를 반환합니다. 직책