초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 2

 
Vladimir Karputov :

당신이 제안한대로 컴파일러는 맹세합니다.나는 그것을이 옵션으로 가져 왔습니다.

{
   Ticket= OrderSend ( NULL , OP_BUY ,Lot, Ask ,slippage, 0 , 0 , NULL ,magic, 0 ,Blue);
   if (!Ticket> 0 ) Print ( GetLastError ());
   else
   {
     if ( OrderSelect (Ticket, SELECT_BY_TICKET , MODE_TRADES )== true )
     if (( OrderMagicNumber ()==magic) && ( OrderSymbol ()== Symbol ()))
    {
     TP= NormalizeDouble ( Bid +TakeProfit* Point , Digits );
     bool modify= OrderModify ( OrderTicket (), OrderOpenPrice (),TP, 0 , 0 );
       return ;
    }
   }

작동하지 않습니다.

 
Nickolay72 :

당신이 제안한대로 컴파일러는 맹세합니다.나는 그것을이 옵션으로 가져 왔습니다.

{
   Ticket= OrderSend ( NULL , OP_BUY ,Lot, Ask ,slippage, 0 , 0 , NULL ,magic, 0 ,Blue);
   if (!Ticket> 0 ) Print ( GetLastError ());
   else
   {
     if ( OrderSelect (Ticket, SELECT_BY_TICKET , MODE_TRADES )== true )
     if (( OrderMagicNumber ()==magic) && ( OrderSymbol ()== Symbol ()))
    {
     TP= NormalizeDouble ( Bid +TakeProfit* Point , Digits );
     bool modify= OrderModify ( OrderTicket (), OrderOpenPrice (),TP, 0 , 0 );
       return ;
    }
   }

작동하지 않습니다.

코드를 살펴보겠습니다.

if ( ! Ticket > 0 ) Print ( GetLastError ()) --- 티켓은 "2354865"와 같은 정수입니다. 이제 질문은 다음과 같습니다. 정수가 될 수 없습니다( ! 2354865 ) 정수는 "> 0"보다 크거나 "< 0"보다 작을 수 있습니다. 이 부울 값은 거짓/참( ! )일 수 있습니다.

다음으로 다음과 같은 구성이 있습니다. if ( OrderSelect ( Ticket , SELECT_BY_TICKET , MODE_TRADES )== true ) --- 티켓별로 매개변수를 반복하며 특정 티켓을 보고 있다면 둘 중 하나를 확인할 필요가 없습니다. 마법이나 기호, 즉 이것은 명백히 중복 됩니다. if (( OrderMagicNumber ()==magic) && ( OrderSymbol ()== Symbol ()))

마지막으로 수학 문제의 순서를 명시적으로 나타내기 위해 괄호 안에 이러한 구성을 사용하는 것이 더 좋습니다. NormalizeDouble ( Bid + ( TakeProfit* Point ) , Digits );
 
Vitaly Muzichenko :


마지막으로 수학 문제의 순서를 명시적으로 나타내기 위해 괄호 안에 이러한 구성을 사용하는 것이 더 좋습니다. NormalizeDouble ( Bid + ( TakeProfit* Point ) , Digits );

아니요, 괄호 없이만 가능합니다. 금액을 곱해야 할 때 괄호가 필요합니다.

 
poman :

D1의 기간과 함께 0 bar의 개방 시간 값을 취할 수 있습니다. + 초 수를 추가하십시오.

조건에서 현재 시간을 첫 번째 줄의 수신 시간과 비교합니다.

주문의 수명인 보류 중인 주문에 몇 초를 넣을 수 있습니다.

Data_1= iTime ( Symbol (), PERIOD_D1 , 0 )+ 86400 ;   //время жизни ордера


팁 감사합니다!) 도움이 되었습니다)
 

코드에 대한 도움, 고문은 모든 막대를 살펴보고 마지막 200개 막대를 통과하는 방법을 알려줍니다! 감사해요

int   i, k= iBars ( Symbol (), 0 );
for (i= 1 ; i<k; i++)
 

Provider_Signal

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

초보자의 질문

Provider_ 시그널 , 2016.11.09 18:38

금요일 저녁에 EA의 모든 주문을 마감하는 방법은 무엇입니까? 주말에 떠나지 않기 위해.

DayOfWeek() 함수를 찾았습니다.

테스트를 작성할 수 있습니다

if ( DayOfWeek () == 5 )
{
//
}

그러나 제 시간에 작성하기 위해 무엇을 확인하십시오. 예를 들어 22:00은 무엇입니까?


 
Vladimir Karputov :

Provider_Signal

그러나 제 시간에 쓰기 위해 무엇을 확인하십시오. 예를 들어 22:00은 무엇입니까?
extern int St_Hour   = 22 ;

if ( Hour ()==St_Hour)
 
Aibek Mugiynov :

코드에 대한 도움, 고문은 모든 막대를 살펴보고 마지막 200개 막대를 통과하는 방법을 알려줍니다! 감사해요

int   i, k= iBars ( Symbol (), 0 );
for (i= 1 ; i<k; i++)
for (i= 1 ; i< 200 ; i++)
 

안녕하세요, 도와주세요.

세 개의 막대에 버퍼가 채워지지 않으면 버퍼를 채웁니다.


     int BarCount=3;
    BER=true;
   for(int il=1;il<=BarCount;il++)
     {
      if(BufferPointUp[il]!= EMPTY_VALUE){BER=false;break;}
     }
     if(BER) BufferPointUp[i]=high[i];

모든 막대에 무차별적으로 채워졌습니다.

하지만 내가 하면 괜찮아

if (BufferPointUp[i+ 1 ]== EMPTY_VALUE &&BufferPointUp[i+ 2 ]== EMPTY_VALUE &&BufferPointUp[i+ 3 ]== EMPTY_VALUE )BufferPointUp[i]=high[i];

루프에서 이 검사 를 수행하는 방법은 무엇입니까?

 
mila.com :
extern int St_Hour   = 22 ;

if ( Hour ()==St_Hour)
덕분에