MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1601

 
PapaYozh :

이것은 인덱스 0 부터 반복합니다. 처음 부터 .

나는 속았다 ... 당신이 절대적으로 옳습니다!
 
PapaYozh :

이것은 인덱스 0 부터 반복합니다. 처음 부터 .

파파요즈 :

이것은 인덱스 0 부터 반복합니다. 처음 부터 .

아 ... 이제 모든 것이 논리적이되었습니다. 감사합니다.

 
Maxim Kuznetsov :

for(int i=OrdersTotal()-1;i>=0;i--) {

   if ( ! OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;

   double prosad=DBL_MIN;

   if (OrderType() ! =OP_BUY && OrderType ! =OP_SELL) continue;

   for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {

      double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );

      delta /= MarketInfo(OrderSymbol(),MODE_POINT);

      if (delta>prosad) prosad=delta;

   }

  PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);

}

"손으로" 작성, 확인되지 않음, 오류가 가득 :-) 필요에 맞게 조정하고 사용하십시오.

코드에서 "!"가 의미하는 바를 알려주십시오. ?

나는 아직 그것을 정말로 이해하지 못한다.

아니면 저자 외에 다른 사람이 설명할 수 있습니까?

 
законопослушный гражданин :

코드에서 "!"가 의미하는 바를 알려주십시오. ?

나는 아직 그것을 정말로 이해하지 못한다.

아니면 저자 외에 다른 사람이 설명할 수 있습니까?

! 부울 부정, NOT

if { !OrderSelect() }는 " OrderSelect 가 실패한 경우"로 변환됩니다.

!= 각각 "같지 않음"

 
Maxim Kuznetsov :

! 부울 부정, NOT

if { !OrderSelect() }는 " OrderSelect 가 실패한 경우"로 변환됩니다.

!= 각각 "같지 않음"

고맙습니다

 
Maxim Kuznetsov :

for(int i=OrdersTotal()-1;i>=0;i--) {

   if (!OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;

   double prosad=DBL_MIN;

   if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;

   for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {

      double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );

      delta /= MarketInfo(OrderSymbol(),MODE_POINT);

      if (delta>prosad) prosad=delta;

   }

  PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);

}

"손으로" 작성, 확인되지 않음, 오류가 가득 :-) 필요에 맞게 조정하고 사용하십시오.

코드를 "빗질"한 것 같지만 이 줄에서 for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) 경고가 표시됩니다.

유형 변환으로 인한 데이터 손실 가능성

무엇이 잘못되었는지 알 수 없습니까?

 
законопослушный гражданин :

코드를 "빗질"한 것 같지만 이 줄에서 for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) 경고가 표시됩니다.

유형 변환으로 인한 데이터 손실 가능성

무엇이 잘못되었는지 알 수 없습니까?

여러 곳에서 매개변수를 혼동했습니다... 터미널을 우회하여 포럼에 직접 "즉석에서" 작성될 때 일반적인 혼란

iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime())는

 
Maxim Kuznetsov :

여러 곳에서 매개변수를 혼동했습니다... 터미널을 우회하여 포럼에 직접 "즉석에서" 작성될 때 일반적인 혼란

iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime())는

고맙습니다

 
законопослушный гражданин :

코드를 "빗질"한 것 같지만 이 줄에서 for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) 경고가 표시됩니다.

유형 변환으로 인한 데이터 손실 가능성

무엇이 잘못되었는지 알 수 없습니까?

이 모든 "것"을 Expert Advisor에 연결하고 테스트 보고서의 정보 출력으로 전략 테스터를 통해 실행할 수 있습니까?

작동할까요?

 

이 문제를 처리하는 방법을 알려주세요?

히스토리 테스터에서 단순히 주문을 열면 오류가 발생하는 경우가 있습니다...

 OrderSend ( _Symbol ,OP_SELL, 0.5 ,Bid, 0 , 0 , 0 , NULL , 0 )
 2021.08 . 26 14 : 56 : 33.375 2017.08 . 07 08 : 00 : 00   Trader EURUSD,H1: OrderSend error 3

ERR_INVALID_TRADE_PARAMETERS - 이게 도대체 무엇을 의미합니까?