[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 302

 
좋아요 여러분, 정말 감사합니다. 많은 도움이 되었습니다. "두꺼운" 부분에 대해서는 죄송합니다. ))
 
Parn25 :

사람들을 많이 도와주세요!!

아침 채널 전략 고문을 작성하려고합니다. 결론은 EURGBP 쌍의 6:01에서 오전 0시부터 오전 6시까지 가격 움직임 채널을 결정한다는 것입니다. 우리는 두 개의 딜레이를 놓고 트리거된 딜레이가 스톱으로 닫히면 반대 방향으로 엽니다. 작동하지 않는 전략의 두 번째 부분입니다. 저것들. 중지가 트리거되면 반대 방향으로 주문을 열 수 없습니다.

따라서 즉시 중지 보류 중인 중지를 설정해야 합니다! 자동으로 작동합니다.

휴지통에서 찾았습니다. 유용할 수 있습니다.

 void OrderCloseAll(){
   for ( int i= 0 ;i< OrdersTotal ();i++)
     if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
       if ( OrderType ()==OP_BUY)
       OrderClose ( OrderTicket (), OrderLots (), Bid, Slippage, CLR_NONE );
       else
       if ( OrderType () == OP_SELL)
       OrderClose ( OrderTicket (), OrderLots (), Ask, Slippage, CLR_NONE );
}

void OrderDeleteAll( int lots){
     for ( int i= 0 ;i< OrdersTotal ();i++)
         if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
         if ( OrderType ()> 1 && OrderType ()< 6 )
         if ( OrderLots ()==lots){
           OrderDelete ( OrderTicket ());
          i= 0 ;
         }
}
 //----------------------------------------------------
// покупка
void OpenBuyLIMIT( double lot, double price){
   double    SL = NormalizeDouble (price, Digits ) - Loss* Point ;
   double TP = NormalizeDouble (price, Digits ) + Target* Point - MarketInfo ( Symbol (),MODE_SPREAD)* Point ;
     OrderSend ( Symbol (), OP_BUYLIMIT, lot,   NormalizeDouble (price, Digits ), Slippage, SL, TP, NULL , STUPID, 0 , Blue );
}
 //----------------------------------------------------
// продажа
void OpenSellLIMIT( double lot, double price){
   double    SL = NormalizeDouble (price, Digits ) + Loss* Point ;
   double TP = NormalizeDouble (price, Digits ) - Target* Point + MarketInfo ( Symbol (),MODE_SPREAD)* Point ;
   OrderSend ( Symbol (), OP_SELLLIMIT, lot,   NormalizeDouble (price, Digits ), Slippage,  SL, TP, NULL , STUPID, 0 , Red );
}
 //----------------------------------------------------
// покупка
void OpenBuySTOP( double lot, double price){
   double    SL = NormalizeDouble (price, Digits ) - Loss* Point ;
   double TP = NormalizeDouble (price, Digits ) + Target* Point - MarketInfo ( Symbol (),MODE_SPREAD)* Point ;
   OrderSend ( Symbol (), OP_BUYSTOP, lot,   NormalizeDouble (price, Digits ), Slippage, SL, TP, NULL , STUPID, 0 , Blue );
}
 //----------------------------------------------------
// продажа
void OpenSellSTOP( double lot, double price){
   double    SL = NormalizeDouble (price, Digits ) + Loss* Point ;
   double TP = NormalizeDouble (price, Digits ) - Target* Point + MarketInfo ( Symbol (),MODE_SPREAD)* Point ;
   OrderSend ( Symbol (), OP_SELLSTOP, lot,   NormalizeDouble (price, Digits ), Slippage,  SL, TP, NULL , STUPID, 0 , Red );
}
파일:
 
Parn25 :

사람들을 많이 도와주세요!!

아침 채널 전략 고문을 작성하려고합니다. 결론은 EURGBP 쌍의 6:01에서 오전 0시부터 오전 6시까지 가격 움직임 채널을 결정한다는 것입니다. 우리는 두 개의 딜레이를 놓고 트리거된 딜레이가 스톱으로 닫히면 반대 방향으로 엽니다. 작동하지 않는 전략의 두 번째 부분입니다. 저것들. 중지가 트리거되면 반대 방향으로 주문을 열 수 없습니다.
지연기가 있는 예는 다음과 같습니다.
파일:
 
costy_ :
지연기가 있는 예는 다음과 같습니다.
그렇군요 감사합니다 시도해보겠습니다!!
 

안녕하세요.

오늘은 주말이라 비주얼 테스터만 작업중입니다 :) 테스터에서 지표값을 스크립트가 있는 파일로 업로드를 시작해서 현재 실제 날짜(10월 28일 23시 55분부터)부터 업로드 합니다.

일반적으로 비주얼 테스터의 마지막 막대의 값(시간)을 스크립트에 전달하는 방법은 무엇입니까?

 int start = iBarShift ( NULL , 0 ,Time[ 2200 +EndB- 1 ]);
int end   = iBarShift ( NULL , 0 ,Time[EndB]);

EndB 스크립트에서 전송 및 계산하는 방법 - 테스터의 마지막 막대 값?

추신 극단적인 경우에는 전체 스크립트 코드를 전문가에게 푸시하는 식으로 진행됩니다.

 

안녕하세요!

나는 교과서를 공부하고, 가능하면 교육 자료에 대해 질문을 할 것입니다. 이 질문에 대한 별도의 주제가 있으면 링크를 보내주시면 감사하겠습니다.

ROC 속도 표시기 이해(첨부 파일의 코드).

내가 올바르게 이해했다면 표시기의 논리는 다음과 같습니다.

참조 MA는 현재 차트에서 취해지며 속도 V의 변화 선이 그려집니다.

그런 다음 다음(더 큰 TF)의 MA가 계산되지만 다음 줄 V는 이로부터 계산됩니다.

다음 TF도 마찬가지입니다.

질문: 이 항목을 이해합니다.

외부 int Bars_V = 13 ; // 속도 계산을 위한 막대 수
설명부터 인디케이터 코드까지 2개의 바 값의 차이로 속도를 계산한다고 합니다.

그리고 더 나아가.....

이 표시기의 코드를 MT4에 업로드했습니다. H4 에서는 표시기 판독값 이 현재 표시줄에서 끝나지 않고 기록에 따르면 약 9-10일 전에 끝납니다.

다른 TF에서는 모든 것이 정상입니다. 왜 그런 겁니까?

도움을 주셔서 미리 감사드립니다. Olga에게 감사합니다.

파일:
my_roc.mq4  8 kb
 

안녕하세요!

지정된 기간이 지나면 모든 열린 포지션 을 청산해야 합니다. 열린 위치의 수명은 선택한 간격과 일치해야 합니다.

문제. OrderOpenTime ()을 통한 것 외에 다른 솔루션이 있습니까?

 
Zar :

안녕하세요.

오늘은 주말이라 비주얼 테스터만 작업중입니다 :) 테스터에서 지표값을 스크립트가 있는 파일로 업로드를 시작해서 현재 실제 날짜(10월 28일 23시 55분부터)부터 업로드 합니다.

일반적으로 비주얼 테스터의 마지막 막대의 값(시간)을 스크립트에 전달하는 방법은 무엇입니까?

EndB 스크립트에서 전송 및 계산하는 방법 - 테스터의 마지막 막대 값?

추신 극단적인 경우에는 전체 스크립트 코드를 전문가에게 푸시하는 식으로 진행됩니다.

스크립트는 테스터의 시간을 쉽게 찾지 못하지만(지표는 찾을 수 있음) 시작 부분에 테스트 어드바이저를 첨부할 수 있습니다.

 int start()
{
GlobalVariableSet ( "Time_test" , Time[ 0 ]) ;
.....................

그리고 스크립트에서

 datetime time_start= GlobalVariableGet ( "Time_test" );

빠르고 안정적으로...

 
Operr :

안녕하세요!

지정된 기간이 지나면 모든 열린 포지션을 청산해야 합니다. 열린 위치의 수명은 선택한 간격과 일치해야 합니다.

문제. OrderOpenTime ()을 통한 것 외에 다른 솔루션이 있습니까?

예를 들어 개장 시간의 파일에 쓰는 것과 같은 많은 옵션이 있지만 열린 주문을 스크롤하고 수명을 비교하는 것이 더 쉽습니다.

그리고 일반적으로 각 개별 직책에 대해 "특정 기간 후에 모든 열린 직위 를 청산해야 합니다"라고 바꾸어 말하십시오(질문을 이해한 대로).

 
LOA :

안녕하세요!

나는 교과서를 공부하고, 가능하면 교육 자료에 대해 질문을 할 것입니다. 이 질문에 대한 별도의 주제가 있으면 링크를 보내주시면 감사하겠습니다.

ROC 속도 표시기 이해(첨부 파일의 코드).

내가 올바르게 이해했다면 표시기의 논리는 다음과 같습니다.

참조 MA는 현재 차트에서 가져오고 속도 V의 변화 선을 그립니다.

그런 다음 다음(더 큰 TF)의 MA가 계산되지만 다음 줄 V는 여기에서 계산됩니다.

다음 TF도 마찬가지입니다.

질문: 이 항목을 이해하지 못했습니다.

외부 int Bars_V = 13 ; // 속도 계산을 위한 막대 수
설명부터 인디케이터 코드까지 2개의 바 값의 차이로 속도를 계산한다고 합니다.

그리고 더 나아가.....

이 표시기의 코드를 MT4에 업로드했습니다. H4에서는 표시기 판독값이 현재 표시줄에서 끝나지 않고 기록에 따르면 약 9-10일 전에 끝납니다.

다른 TF에서는 모든 것이 정상입니다. 왜 그런 겁니까?

도움을 주셔서 미리 감사드립니다. Olga에게 감사합니다.

"더 큰 TF" - 아니요, 동일한 MA이지만 Sh_1의 오프셋으로 데이터를 가져옵니다. re Sh_1=Bars_V; // 측정된 속도의 주기(막대)

"다음 TF도 마찬가지입니다." - 아니요, 시작 부분에 스위치가 있습니다(각 TF에 대해 계수가 다릅니다 . K2, K3 ).

     switch ( Period ())                 // Расчёт коэффициентов для..
     {                             // .. различных ТФ
       case      1 : K2= 5 ;K3= 15 ; break ; // Таймфрейм М1
       case      5 : K2= 3 ;K3= 6 ; break ; // Таймфрейм М5
       case      15 : K2= 2 ;K3= 4 ; break ; // Таймфрейм М15
       case      30 : K2= 2 ;K3= 8 ; break ; // Таймфрейм М30
....
Period_MA_2 =K2*Period_MA_1;   // Расчётн.период МА для ближ. ТФ
Period_MA_3 =K3*Period_MA_1;   // Расчётн.период МА для след. ТФ

" 정착 기간 MA for Near.TF "는 사실이 아니며 교과서에는 항상 오류가 존재합니다(특히 "이야기"는 매우 유쾌함)

"질문: 이 항목을 이해하지 못했습니다.

extern int Bars_V = 13; // 속도를 계산하기 위한 막대 수" Bars_V 코드를 사용하여 자세히 살펴보기 ...

   Sh_1=Bars_V;                   // Период измерен скорости (баров)

Sh_1은 무엇이며, 이 값은 속도 라인의 MA 1 오프셋 등입니다.

 // Предназначен для использования в качестве примера в учебнике MQL4.
예제는 잘 선택되지 않았습니다. 스레드가 표준 표시기에서 더 쉽다는 것을 읽으십시오...