항상 0(및 -1)에서 주문을 찾습니다. "다음" 순서를 결정하는 거친 방법은 정말 오해의 소지가 있습니다...
주문이 없으면이 구성으로 :
for ( int i= 1 ; i<= OrdersTotal (); i++) // Цикл перебора ордер
{
if ( OrderSelect (i- 1 , SELECT_BY_POS )== true ) // Если есть следующий
{
if ( OrderSymbol ()!= Symb) continue ;
다음 조건으로 이동하지 않습니다.
주문이 없기 때문에 and-1(우리의 경우 = 0)
물론 그렇게 쓰는 것은 관례가 아니며 왜 그런지는 분명하지 않습니다.
이건 아니야:
for ( int i= 0 ; i< OrdersTotal (); i++) // Цикл перебора ордер
{
if ( OrderSelect (i, SELECT_BY_POS )== true ) // Если есть следующий
{
if ( OrderSymbol ()!= Symb) continue ;
숫자 108을 사용하면 최대값을 151 - 108 ^ 151 \u003d 1.11426138071861e + 307의 거듭제곱으로 높일 수 있습니다.
108^152=1.20340229117609e+309 - 108^4096은 말할 것도 없고 MKL로 프로그래밍하기에는 이미 너무 많습니다.
그러한 저울은 어떤 종류의 계산이 필요했습니까?
가격 움직임 분석과 NLP 주의 관리를 통합하려고 하는데 두뇌가 자동 조종됩니다 :)
MQL4를 배우기 시작했는데 주문이 어떻게 선택되었는지 알 수 없습니다.
튜토리얼에서:
for(int i=1; i<=OrdersTotal(); i++) // 순서를 통해 루프
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // 다음이 있는 경우
{
if (OrderSymbol()!= Symb) 계속;
나는 이것을 이해합니다: i=1인 동안 i<= 주문 수
i-1 위치에 선택된 주문(주문 번호 0)이 있는 경우
기호로 비교
그런 다음 i에 1(i++)을 추가하고 새 반복을 시작합니다.
댓글이 이해가 안가네요 // 다음이 있다면 (다음은 무슨 뜻인가요: 다음 위치 또는 현재 선택 중인 이 순서?)
러시아어로 설명해주세요.
영장이 있는 경우 vvilu가 있었을 것입니다. 숫자 i-1 아래에 존재하면 다음 조건으로 넘어갑니다.
항상 0(및 -1)에서 주문을 찾습니다. "다음" 순서를 결정하는 거친 방법은 정말 오해의 소지가 있습니다...
항상 0(및 -1)에서 주문을 찾습니다. "다음" 순서를 결정하는 거친 방법은 정말 오해의 소지가 있습니다...
주문이 없으면이 구성으로 :
다음 조건으로 이동하지 않습니다.
주문이 없기 때문에 and-1(우리의 경우 = 0)
물론 그렇게 쓰는 것은 관례가 아니며 왜 그런지는 분명하지 않습니다.
이건 아니야:
안녕 신사 여러분, 질문이 있습니다. 계정 잔액 의 백분율을 마감하는 코드의 일부를 가르칠 수 없습니다. 그것은 닫히지만 백분율은 아니지만 시장에 있는 모든 주문과 동시에 특정 주문을 닫고 예치금 잔액의 백분율을 계산해야 합니다. 제가 뭘 잘못하고 있는 건가요?
외부 이중 백분율 = 2.0;
extern int 미끄러짐 = 2;
이중 정지;
무효 OnStart()
{
if (숫자 == 3 || 숫자 == 5)
{
미끄러짐 *= 10;
}
for(int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol())
{
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
{
if(stop==AccountBalance()/100*퍼센트)
stop=AccountBalance()/100*퍼센트;
if(중지<=계정 잔액())
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Aqua);
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Aqua);
}//if(ostop<=AccountBalance())
}//if(ostop==AccountBalance()/100*퍼센트)
}//if (OrderSymbol() == Symbol() )
}//if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
}//for(int i = OrdersTotal()-1; i>=0; i--)
반품;
}//OnStart() 무효화
//+----------------------------------------------- ------------------
방법 것입니다?
이:
결코 충족되지 않는다
그 이유는 다음과 같습니다.
항상 모든 주문에 대해 작동합니다.
결론: 모든 것이 잘못되었습니다.
귀하의 기능에 대해 깊이 생각해 볼 필요가 있습니다. 빠른 답변이 없습니다.
하지만 시작하기 위해:
주문이 없으면이 구성으로 :
다음 조건으로 이동하지 않습니다.
주문이 없기 때문에 and-1(우리의 경우 = 0)
물론 그렇게 쓰는 것은 관례가 아니며 왜 그런지는 분명하지 않습니다.
이건 아니야:
네, 저도 읽으면서 바로 i=0으로 하면 안되는거 아닌가 하는 생각도 들더군요.
여기 스크립트의 전체 코드가 있습니다. 작성자가 i=1이 아닌 i=1을 쓴 데는 합당한 이유가 있을 수 있습니다. 저는 이 정도를 이해하지 못하고 그냥 볼 수는 없지만 필요합니다. 나중에 질문이 없도록 작업 메커니즘을 이해합니다.