다중 통화 고문에 대한 질문 - 페이지 10

 
rid >> :
그러나 모든 틱에 대해 후행 중지 기능을 구현해야 합니다.

티크 트롤의 가시적 이점은 적합성 때문에 짧은 지역에서만 볼 수 있습니다.

일반적으로 거친 트레일은 나쁘지 않습니다(TS가 핍스캘퍼가 아닌 경우).

그러나 틱 트레일을 사용할 때 "공개 가격으로" 최적화하는 이점이 사라지며 이는 매우 중요합니다.

최근에 그는 거의 모든 차량에서 트롤을 포기했습니다.

포지션의 부분적/완전한 청산(아마도 반전에 의한)은 반전 신호에서 더 잘 작동합니다.

 

그리고 나는 문턱 트롤을 사용합니다. 그리고 작업 시작에 대한 임계 값을 설정하면 이유가 있습니다 ...

 extern string    ____________ = "Параметры Трейлинг стопа" ;
extern bool UseTrailing = false ;
extern int lMinProfit = 150 ;
extern int sMinProfit = 160 ;
extern int lTrailingStop = 50 ;
extern int sTrailingStop = 60 ;
extern int lTrailingStep = 5 ;
extern int sTrailingStep = 5 ;
//--------------------------------------------------------
int start ( )
   {
   if ( Time [ 0 ] = = prevtime )    return ( 0 ) ;
   prevtime = Time [ 0 ] ; //если появился новый бар , включаемся
//-------------------------------------------------------------------   
if ( UseTrailing ) TrailPositions ( ) ; //трейлинг стоп

//--------------------------------------------------------------
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
void TrailPositions ( ) //пороговый трейлинг стоп
{    int Orders = OrdersTotal ( ) ;
   for ( int i = 0 ; i < Orders ; i + + ) {
     if ( ! ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) ) continue ;
     if ( OrderSymbol ( ) ! = Symbol ( ) & & OrderMagicNumber ( ) = = Magic ) continue ; 
     if ( OrderType ( ) = = OP_BUY ) {
       if ( Bid - OrderOpenPrice ( ) > lMinProfit * Point ) {
         if ( OrderStopLoss ( ) < Bid - ( lTrailingStop + lTrailingStep - 1 ) * Point ) {
           OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Bid - lTrailingStop * Point ,
                                                     OrderTakeProfit ( ) , 0 , Blue ) ;
         } } }
     if ( OrderType ( ) = = OP_SELL ) {
       if ( OrderOpenPrice ( ) - Ask > sMinProfit * Point ) {
         if ( OrderStopLoss ( ) > Ask + ( sTrailingStop + sTrailingStep - 1 ) * Point | | 
                                                       OrderStopLoss ( ) = = 0 ) {
           OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Ask + sTrailingStop * Point ,
                                                     OrderTakeProfit ( ) , 0 , Blue ) ;
         } } } } }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 

전혀 이해가 되지 않습니다. 틱 바이 틱 임계값 트롤을 사용하는 요점이 무엇입니까?

 

모두에게 좋은 하루. 또 문제.

표시기 포함.

iCustom을 작성할 수 없습니다

다음과 같이 썼습니다.

 double ActivatorBLUE = iCustom ( NULL , 0 , "HL Next Activator" , ActivatorPeriod , useFullPeriods , 0 , 1 ) ;
//синие уровни на 1 баре
double ActivatorRED = iCustom ( NULL , 0 , "HL Next Activator" , ActivatorPeriod , useFullPeriods , 1 , 1 ) ;
//красные уровни на 1 баре
Comment ( ActivatorBLUE , "-" , ActivatorRED ) ;

그러나 두 경우 모두 파란색 수준 값만 반환됩니다. 왜 그런지 이해가 안 돼요! 결국, 나는 각각 버퍼 번호 1과 0을 제공했습니다!

주석에서도 동일한 값이 표시됩니다 - 파란색 수준

다음은 표시기의 초기화에서 버퍼가 설정되는 방식입니다.

 //+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ( )
   {
//---- indicators
   SetIndexStyle ( 0 , DRAW_ARROW ) ;
   SetIndexArrow ( 0 , 159 ) ;
   SetIndexBuffer ( 0 , SellActivator ) ; //синий
   SetIndexEmptyValue ( 0 , 0.0 ) ;
   SetIndexStyle ( 1 , DRAW_ARROW ) ;
   SetIndexArrow ( 1 , 159 ) ;
   SetIndexBuffer ( 1 , BuyActivator ) ; //красный
   SetIndexEmptyValue ( 1 , 0.0 ) ;
   if ( useFullPeriods ! = 0 ) useFullPeriods = 1 ;
//----
   return ( 0 ) ;
   }

제발. 말하다? 표시기는 다운로드에 있습니다(칠면조의 저자 - Rosh).

파일:
 
rid писал(а) >>

모두에게 좋은 하루. 다시 문제.

표시기 포함.

iCustom을 작성할 수 없습니다

나는 이것을 확인했다 :

2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:49 2008.10.28 12:51 testhl EURUSD,H1: 1.2395-0
2008.10.29 15:13:48 2008.10.28 05:52 testhl EURUSD,H1: 0-1.2547
....
2008.10.29 15:13:48 2008.10.28 05:51 testhl EURUSD,H1: 0-1.2547
2008.10.29 15:13:48 2008.10.28 05:51 testhl EURUSD,H1: 0-1.2547
2008.10.29 15:13:47 2008.10.27 18:49 testhl EURUSD,H1: 1.2414-1.2542
.....
2008.10.29 15:13:47 2008.10.27 18:49 testhl EURUSD,H1: 1.2414-1.2542
2008.10.29 15:13:46 2008.10.27 14:54 testhl EURUSD,H1: 0-1.2612

깊이 파고 들지는 않았지만 올바른 것 같습니다. 표시기는 기본 매개 변수로 가져 와서 문자열로 값을 호출했습니다.

 Print ( iCustom ( NULL , 0 , "HLdNextmActivator" , 0 , 1 ) , "-" , iCustom ( NULL , 0 , "HLdNextmActivator" , 1 , 1 ) ) ;
 

덕분에.

기이한. 여기 나에서 갑자기 벌었습니다. 아무것도 수정하지 않았습니다, 아무것도 하지 않았습니다.

그러나 그는 아침에 일하지 않았습니다! 2시간동안 고생했습니다. "이빨 줘..."

내가 이것을 눈치챈 것은 처음이 아니다. 간단한 칠면조로 간단한 작업을 수행하겠습니다. 그리고 갑자기 작동하지 않습니다!

뚜렷한 이유 없이! 디자인은 단순하지만. 알겠습니다. 그럼 다시 해볼게...

그리고 그것이 어떻게 하루 동안 거짓말을 할 것인지, 그리고 나는 그것을 켰습니다. 나는 그것이 원래대로 작동했습니다!

기적, 일부...

그것은 포물선으로 한 번 발생했습니다. 포물선의 "기호"를 변경할 때 위치를 여는 조건을 설정합니다.

글쎄요, 가장 원시적인 조건입니다. 그래서 테스터에서 일하지 않았습니다! 이틀 동안 나는 음탕하게 욕을 하며 무슨 일인지 알아내려고 애썼다. 그래서 나는 이해하지 못했다. 나는 침을 뱉고, - 알았어, 그런 다음 ... 그리고 하루 후에 나는 그것을 켰고 ... - 나는 봐, 그것은 시계처럼 작동했다 ...

 
rid >> :

..............그리고.. 그리고 하루 뒤에 전원을 켜보니... - 그러고 보니, 시계처럼 작동하더군요...

Chukchi는 시계 제작자에게옵니다.

이 시계는 고장났습니다.

정비공이 알람 시계를 가져다가 열면 죽은 바퀴벌레가 거기에서 떨어집니다.

- 그러나 작동하지 않습니다(

- 왜 ?

- 정비사는 죽었지만

 

모두에게 좋은 하루. 문제를 전혀 해결할 수 없습니다.

EA는 OP_BUYSTOP과 같은 보류 중인 주문 을 합니다.

OP_BUYSTOP 마법 1

OP_BUYSTOP 매직 2

OP_BUYSTOP 매직 3

OP_BUYSTOP 매직 4

가격에서 주어진 거리와 서로에게 주어진 단계에서 그것들을 설정합니다.

더 나아가. 가격이 내려갔다면 주어진 스텝으로 가격을 따라가는 주문이 필요합니다.

이것이 내가 한 일이다. 여기에 특별한 어려움은 없었습니다.

 

하지만!

나는 모든 주문이 가격에 따라 수정되고 이동할 필요가 전혀 없으며 서버에 불필요한 요청으로 브로커의 관심을 끌고 있습니다.

다른 모든 것을 뛰어 넘고 가장 가까운 주문이되기 위해서는 현재 가격에서 가장 먼 주문이 필요합니다!

그리고 계속해서 가격이 더 내려갈 때 가장 멀리 떨어진 주문이 지속적으로 가격에 더 가까워지도록 합니다!

나는 지금 몇 시간 동안 생각하고 있고 해결책에 접근할 수조차 없습니다.

할 수 있는 점프.

아니면 비슷한 것에 대한 링크가 있습니까?

I.Kim의 지점에서 기능을 찾았습니다. 그러나 여기에 적용하는 방법은 아직 명확하지 않습니다.

//------------------------------------------------ -------------------------------------------------- --------------------------

GetIndexByTicket() 함수. 이 함수는 티켓의 주문 또는 위치의 인덱스를 반환합니다.

IndexByTicket() 함수. 티켓으로 주문 또는 포지션의 인덱스(주문 또는 오픈 포지션 의 일반 목록에 있는 일련 번호)를 반환합니다.

GetOrderOpenPrice() 함수. 마지막으로 주문한 가격을 반환합니다.

 

두 개의 배열을 만듭니다. 하나는 티켓 번호로, 두 번째는 가격으로. 그런 다음 티켓 번호를 이동하면서(연결을 끊지 않고) 가격별로 배열을 정렬합니다 . 그런 다음 어레이의 한쪽 끝에서 가장 낮은 가격이 있고 다른 쪽 끝에서 가장 높은 가격이 있습니다. 그들의 극단적 인 명령 중 하나를 변경하는 것이 남아 있습니다.