[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 207

 

1랏에 대한 마진 계산은 매우 간단합니다.

   double МАРЖА = MarketInfo ( Symbol ( ) , MODE_MARGINREQUIRED ) ;
   double МАРЖАИНИ = MarketInfo ( Symbol ( ) , MODE_MARGININIT ) ;
   double МАРЖАПОДД = MarketInfo ( Symbol ( ) , MODE_MARGINMAINTENANCE ) ;
   double МАРЖАЛОК = ( MarketInfo ( Symbol ( ) , MODE_MARGINHEDGED ) * 2 ) / MarketInfo ( Symbol ( ) , MODE_LOTSIZE ) ;

보증금 통화로 반환된 값.

!!! 0이 반환될 수 있으며 이것이 표준입니다.

일부 딜링 데스크는 초기화 및/또는 유지보수 마진을 사용하지 않습니다.

그것은 또한 겹친 "제로 마진"을 사용합니다 ...

*

원칙 에 따른 겹침 계산의 Infotype, 옵션:

   string МАРЖАЛОКИД = "na" ;
   if ( МАРЖАЛОК = = 0 )     МАРЖАЛОКИД = "0" ;
   if ( МАРЖАЛОК = = 1 )     МАРЖАЛОКИД = "1" ;
   if ( МАРЖАЛОК = = 0.5 )   МАРЖАЛОКИД = "1D" ;
   if ( МАРЖАЛОК = = 2 )     МАРЖАЛОКИД = "2" ;   
 
kombat >> :

1랏에 대한 마진 계산은 매우 간단합니다....

그는 그것을 원하지 않았다. 그는 미결제 주문의 마진을 악기별로 별도로 계산해야 합니다. 즉, 상품별로 로트를 합산하고 상품의 마진을 곱합니다.

 
granit77 >> :

그는 그것을 원하지 않았다. 그는 미결제 주문의 마진을 악기별로 별도로 계산해야 합니다. 즉, 상품별로 로트를 합산하고 상품의 마진을 곱합니다.

Well Duc는 간단합니다. 각 악기에 대해 고유합니다. 총 * 마진

우리는 마진을 알고 있으며 합계는 다음과 같습니다.

 double SumLot ( ) { double buy = 0 , sell = 0 , sl ; int y ;
for ( y = 0 ; y < OrdersTotal ( ) ; y + + ) { OrderSelect ( y , SELECT_BY_POS , MODE_TRADES ) ;
if ( OrderSymbol ( ) = = Symbol ( ) & & OrderType ( ) = = 0 ) buy + = OrderLots ( ) ;
if ( OrderSymbol ( ) = = Symbol ( ) & & OrderType ( ) = = 1 ) sell + = OrderLots ( ) ;
} return ( buy - sell ) ; }
 
kombat писал(а) >>

1랏에 대한 마진 계산은 매우 간단합니다.

보증금 통화로 반환된 값.

!!! 0이 반환될 수 있으며 이것이 표준입니다.

일부 딜링 데스크는 초기화 및/또는 유지보수 마진을 사용하지 않습니다.

그것은 또한 겹친 "제로 마진"을 사용합니다 ...

*

원칙 에 따른 중첩 계산의 Infotype, 변형:

고맙습니다.

그리고 초기화 및 지원 마진은 일반적인 마진과 어떻게 다른가요? 무엇에 사용됩니까?

 
Finbest >> :

고맙습니다.

그리고 초기화 및 지원 마진은 일반적인 마진과 어떻게 다른가요? 무엇에 사용됩니까?

이것은 퓨처스 툴킷입니다.

m.ini = 여는 데 필요한 여백

m.podd = 개봉 후 표시

계산은 매우 복잡하고 구체적이므로 거래의 거래 조건에 중점을 둡니다.

m.podd는 일반적으로 m.ini의 75%, 예는 여기 ...

 

또 다른 옵션은 상품별로 마진을 별도로 보는 것입니다.

(약간 다듬어진 iExposure)

파일:
 

안녕하세요. 친절하게 도와주세요.

그런 프로그램을 작성했습니다 .. 작동하지 않습니다 ..


이중 가중치[][6], 시간[][6];
ArrayCopyRates(ves, Symbol(), Period() );// 배열에는 차트의 모든 데이터가 있습니다.

int day= Day();
int hou=시();
다=일;
(; q<= da; q++, w--){
if (TimeDay(ves[q][0])== w && TimeHour(ves[q][0])== hou){
ArrayCopy(시, ves, e, q);
e++;
}
}

두 개의 배열이 있습니다. ves 배열은 시간 배열입니다.

내가 필요한 것........

현재 시간을 가져 가라. ves에서 hour로 복사합니다. 모든 6 데이터.

어제의 같은 시간(어제)을 ves copy에서 시간으로 가져옵니다.

등..

 

얘들아, 도와줘, 난 그냥 어떻게 해야할지 모르겠어.

Step으로 LOW와 HI 사이의 레벨을 계산하는 루프가 있습니다.

for ( 더블 c = LOW; c < HI; c = c + 단계)

이제 나중에 쉽게 꺼내서 현재 가격과 비교할 수 있도록 각 수준을 어딘가에 기억해야 합니다. 나는 게으름이 아니라 코드의 형태로 당신에게 간청합니다. 예를 보기 전까지는 어떻게 하는지 이해가 되지 않습니다. 고맙습니다!

 

안녕하세요 친애하는 감정가입니다. 교과서와 포럼에서 답을 찾을 수 없는 질문을 계속 하고 있습니다. 어떻게 그런 상황이 있을 수 있습니까?

테스트 중 세 번째 거래에서 로트 크기가 갑자기 증가하여 이익이 0인 이유는 무엇입니까?

다음과 같이 계산 됩니다.

시험


상징 EURCHF(유로 vs 스위스 프랑)
기간 1분 (M1) 2009.08.30 23:02 - 2009.08.31 09:34 (2009.08.30 - 2009.09.05)
모델 모든 틱(가용 가능한 모든 시간 프레임을 기반으로 한 가장 정확한 방법)
옵션 최소=0.1;

역사의 바 1519 시뮬레이션된 진드기 2156 시뮬레이션 품질 24.95%
그래프 불일치 오류 0




초기 보증금 450.00



순이익 -8.00 총 이윤 0.00 총 손실 -8.00
수익성 0.00 우승 기대 -2.00

절대 드로다운 32시 최대 드로다운 38.00 (8.33%) 상대적인 하락 8.33% (38.00)

총 거래 4 숏포지션(%원) 1(0.00%) 롱포지션(%원) 3 (100.00%)

수익성 있는 거래(전체의 %) 3 (75.00%) 거래 손실(전체의 %) 1 (25.00%)
가장 큰 수익성 있는 거래 0.00 무역 손실 -8.00
중간 수익성 있는 거래 0.00 무역 손실 -8.00
최대 금액 연속 우승(이익) 3(0.00) 연속 손실(손실) 1(-8.00)
최고 연속 이익 (승수) 0.00 (0) 연속 손실(손실 수) -8.00 (1)
평균 연속 이득 지속적인 손실 하나

아니요. 시간 유형 주문하다 용량 가격 S/L T/P 이익 균형
하나 2009.08.31 00:16 구입 하나 0.30 1.5161 1.5127 1.5163
2 2009.08.31 00:37 닫다 하나 0.30 1.5161 1.5127 1.5163 0.00 450.00
2009.08.31 00:44 구입 2 0.30 1.5158 1.5124 1.5161
4 2009.08.31 02:58 닫다 2 0.30 1.5158 1.5124 1.5161 0.00 450.00
5 2009.08.31 03:14 구입 0.40 1.5152 1.5118 1.5154
6 2009.08.31 03:30 닫다 0.40 1.5152 1.5118 1.5154 0.00 450.00
7 2009.08.31 06:45 팔다 4 0.40 1.5151 1.5185 1.5149
여덟 2009.08.31 08:18 닫다 4 0.40 1.5153 1.5185 1.5149 -8.00 442.00








































































 
001 >> :

얘들아, 도와줘, 난 그냥 어떻게 해야할지 모르겠어.

Step으로 LOW와 HI 사이의 레벨을 계산하는 루프가 있습니다.

for ( 더블 c = LOW; c < HI; c = c + 단계)

이제 나중에 쉽게 꺼내서 현재 가격과 비교할 수 있도록 각 수준을 어딘가에 기억해야 합니다. 나는 게으름이 아니라 코드의 형태로 당신에게 간청합니다. 예를 보기 전까지는 어떻게 하는지 이해가 되지 않습니다. 고맙습니다!

옵션:

 double c , levels [ ] ;
int nCount = 1 + ( HI - LOW ) / Step ;
ArrayResize ( levels , nCount ) ;

for ( c = LOW , nCount = 0 ; c < HI ; c + = Step , nCount + + ) {
    levels [ nCount ] = c ;
}

// Use:
for ( int j = 0 ; j < nCount ; j + + ) {
     if ( levels [ j ] > . . . ) {
         //...
     }
}