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

 
Aleksander :

변수 선언

시작 시 - 신호 수신 시 1 증가, N 신호 도달 시 거래 개시,

카운터 리셋...

최선을 다해 썼는데 시그널을 어떻게 추가해야 할지 막막하네요...
 extern double      PropuskSignala             =   0 ;   //сколько сигналов инлдикатора пропускать
//-------------------
double PropuskSignalaB,PropuskSignalaS;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
//получаем сигнал: (SignalBuy==true;)
PropuskSignalaB++;   //вот здесь как записать? Чтобы прибавлялись
//получаем сигнал: (SignalSell==true;)
PropuskSignalaS++;   //вот здесь как записать? Чтобы прибавлялись

if (SignalBuyif(PropuskSignalaB>=PropuskSignala || PropuskSignalaS>=PropuskSignala){
//открываем ордер Buy
}
if (SignalSellif(PropuskSignalaS>=PropuskSignala || PropuskSignalaB>=PropuskSignala){
//открываем ордер Sell
}
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 

안녕하세요!

이 문제를 해결하도록 도와주세요. 고문님이 만드셨습니다. 그것이 제공하는 수익률 곡선으로 작업하는 것이 가능한지 의문이 생겼습니다. 문제는 어떤 종류의 곡선이 최소 "곡선"으로 간주될 수 있는지입니다. :). 그는 그의 곡선을 주었다. 1999-2010년

추신 질문이 유휴 상태가 아닙니다. 당신은 실제에 베팅했고 고문의 CRMway는 일시적으로 떨어졌습니다.

 
001 :

안녕하세요!

이 문제를 해결하도록 도와주세요. 고문님이 만드셨습니다. 그것이 제공하는 수익률 곡선으로 작업하는 것이 가능한지 의문이 생겼습니다. 문제는 어떤 종류의 곡선이 최소 "곡선"으로 간주될 수 있는지입니다. :). 그는 그의 곡선을 주었다. 1999-2010년

추신 질문이 유휴 상태가 아닙니다. 당신은 실제에 베팅했고 고문의 CRMway는 일시적으로 떨어졌습니다.

그것은 모두 고문 자체의 코드에 달려 있습니다. 아마도 그는 완전히 알몸일 것입니다. 테스터를 위한 어리석은 장난감입니다. 자, 여기 바 테스트가 있습니다. EA에 명시적인 막대 열기 제어 기능이 있습니까?
 
artmedia70 :
그것은 모두 고문 자체의 코드에 달려 있습니다. 아마도 그는 완전히 알몸일 것입니다. 테스터를 위한 어리석은 장난감입니다. 자, 여기 바 테스트가 있습니다. EA에 명시적인 막대 열기 제어 기능이 있습니까?


예, 물론 있습니다.

정적 정수 PrevTime=0;
정수 시작()
{

if (시간[0]<=PrevTime) return(0);
{
PrevTime=시간[0];

}

처음 두 구절을 설명하십시오. plz.

 

교과서에서도 이해가 안가지만,

"break"가 루프를 완전히 멈추고 EA가 새 틱을 기다립니까?

"if-else"에서 사용할 수 있습니까? true이면 "break"라고 가정 해 봅시다.

 
gheka :

교과서에서도 이해가 안가지만,

"break"가 루프를 완전히 멈추고 EA가 새 틱을 기다립니까?

"if-else"에서 사용할 수 있습니까? true이면 "break"라고 가정 해 봅시다.

break는 전체 루프를 끊고 루프 문 블록의 닫는 괄호 뒤 다음 줄부터 코드를 계속 실행합니다.

if-else에서는 사용할 수 있습니다. 루프를 깨는 기준을 다른 방법으로 확인하시겠습니까???

 
OrderModify() 함수는 거래 내역에 별도의 레코드를 생성합니다. Trailing Stop을 구현하기 위해 Expert Advisor를 작성할 때 사용합니다. 저것들. TrailingStop 조건이 충족되고 StopLoss가 이동하는 경우(매초 발생할 수 있음) 히스토리에 동일한 수의 라인이 나타납니다. 이것은 어떻게 든 피할 수 있습니까? 결국, 메타 트레이더에 내장된 TrailingStop은 잘 작동합니다.
 
dzam :
OrderModify() 함수는 거래 내역에 별도의 레코드를 생성합니다. Trailing Stop을 구현하기 위해 Expert Advisor를 작성할 때 사용합니다. 저것들. TrailingStop 조건이 충족되고 StopLoss가 이동하는 경우(매초 발생할 수 있음) 히스토리에 동일한 수의 라인이 나타납니다. 이것은 어떻게 든 피할 수 있습니까? 결국, 메타 트레이더에 내장된 TrailingStop은 잘 작동합니다.

가격, 스탑 값, 가격에서 스탑까지의 거리, 트레일링 스텝을 이용하여 트레일링을 구현하는 것이 더 간편하지 않나요???

아니면 벤치에서 짐바브웨를 거쳐 입구까지 가는 것이 더 재미있을까요?

 
artmedia70 :

가격, 스탑 값, 가격에서 스탑까지의 거리, 트레일링 스텝을 이용하여 트레일링을 구현하는 것이 더 간편하지 않나요???

아니면 벤치에서 짐바브웨를 거쳐 입구까지 가는 것이 더 재미있을까요?

좋아, 정문으로 가자. 주의, 한 가지 더 질문:

다음은 TrailingStop 구현 예의 코드입니다.

 /---- проверяем, не надо ли передвинуть Стоп Лосс:
        //---- если размер трейлингстопа не слишком маленький,
        if ( TrailingStop > MarketInfo ( Symbol () , MODE_STOPLEVEL ) )
        {
            //---- если прибыль позиции больше TrailingStop пунктов,
            if ( NormalizeDouble ( Bid - _BuyOpenPrice , Digits ) > 
                  NormalizeDouble ( TrailingStop * Point , Digits ) )
            {
                //---- если новый уровень стоплосса выше, чем сейчас у позиции
                //---- (или если у позиции нет Стоп Лосса),
                if ( NormalizeDouble ( Bid - TrailingStop * Point , 
                    Digits ) > _BuyStopLoss
                      || _BuyStopLoss <= 0.0 )
                {
                    //---- модифицируем ордер
                    if ( ! OrderModify ( _BuyTicket , _BuyOpenPrice , 
                          NormalizeDouble ( Bid - TrailingStop * Point , 
                                           Digits ) , 
                          _BuyTakeProfit , 0 ) )
                    {
                        Alert ( " OrderModify Error # " , 
                              GetLastError () ) ;
                        return ( - 1 ) ;
                    }
                }                     

}

이 코드에서 OrderModify()는 TrailingStop 조건에 따라 주문을 수정하는 데 사용됩니다. OrderModify() 함수는 거래 내역에 별도의 레코드를 생성합니다. 저것들. TrailingStop 조건이 충족되고 StopLoss가 이동하는 경우(매초 발생할 수 있음) 히스토리에 동일한 수의 라인이 나타납니다. 이것은 어떻게 든 피할 수 있습니까? 결국, 메타 트레이더에 내장된 TrailingStop은 잘 작동합니다.

 
dzam :

좋아, 정문으로 가자. 주의, 한 가지 더 질문:

다음은 TrailingStop 구현 예의 코드입니다.

}

이 코드에서 OrderModify()는 TrailingStop 조건에 따라 주문을 수정하는 데 사용됩니다. OrderModify() 함수는 거래 내역에 별도의 레코드를 생성합니다. 저것들. TrailingStop 조건이 충족되고 StopLoss가 이동하는 경우(매초 발생할 수 있음) 히스토리에 동일한 수의 라인이 나타납니다. 이것은 어떻게 든 피할 수 있습니까? 결국, 메타 트레이더에 내장된 TrailingStop은 잘 작동합니다.


피할 수 없습니다. 포지션 수정 과 마찬가지로 각 거래 작업은 저널에 자체 항목을 생성합니다.