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

 
goldtrader >> :

첫 번째 조건 if 문 아래의 조건은 다음 문(다음 줄)에만 적용됩니다.

나머지는 무조건 수행됩니다. 저것들. 주문을 종료하라는 명령이 없더라도 재생음 중 하나가 작동합니다.

다음과 같이 더 정확합니다.

문제는 두 playsounds가 모두 작동한다는 것입니다. PlaySound("timeout.wav")가 작동하고 PlaySound("money.wav") 후에는 거래가 정상적으로 종료되지만 종료되기 전에 오류 재생 사운드가 있고 이 짧은 거래에 대해서만 작동하고 긴 거래의 경우 모든 것이 정상입니다. 종료된 경우 PlaySound("money.wav") 및 오류인 경우 PlaySound("timeout.wav") 길고 짧은 거래의 경우 구성이 동일합니다. 나는 당신이 설명한대로 대괄호를 정렬하려고 노력할 것입니다. FIG는 알고 있습니다. 아마도 그 안에있을 것입니다))


 
Dimoncheg >> :

... 나는 당신이 설명한대로 대괄호를 정렬하려고 노력할 것입니다. FIG는 알고 있습니다. 아마도 그 안에있을 것입니다))

이러한 접근 방식으로는 긍정적인 결과를 얻기가 어렵습니다.

 
goldtrader >> :

이러한 접근 방식으로는 긍정적인 결과를 얻기가 어렵습니다.

나는 그 결과가 포럼에 텍스트가 표시되는 방식에 달려 있지 않다고 깊이 확신합니다.)) 적어도 나는 나 자신을 지식인이라고 생각하지 않습니다.

주문을 보내기 위해 중괄호를 만들었습니다. 처음에는 오류 소리가 난 다음 닫는 소리가 났습니다. 오랫동안 모든 것이 예전처럼 괜찮습니다. 그럼 다 잘 되는건 당연지사 최근에 어떤 에러가 나는지 알아보기 위해 함수를 삽입해서 닫히는 소리가 나기 전에 이 소리가 났는데 그 전에는 자연스럽게 눈치채지 못했는데 아직도 쟁기질을 하고 있다.

 

예, 참고로. PlaySound () 명령은 이전 사운드가 끝까지 재생될 때까지 기다리지 않고 단순히 자신의 사운드를 중단하고 시작합니다. 중간 소리는 빠른 스트러밍으로 흡수될 수 있습니다.

 
Roger >> :

예, 참고로. PlaySound () 명령은 이전 사운드가 끝까지 재생될 때까지 기다리지 않고 단순히 자신의 사운드를 중단하고 시작합니다. 중간 소리는 빠른 스트러밍으로 흡수될 수 있습니다.

음, 그것은 소리에만있을 것입니다. 짧은 거래가 마감되면 로그에 "오류 없음"이라는 오류가 나타납니다. 3 개의 거래가 마감됩니다 - 3 개의 오류가 나올 것입니다. 그러나 그 후에는 모든 것이 닫히고 마감됩니다. 로그에 기록되고 장기 거래에 대해 모든 것이 정상이며 의도한 대로 소리가 작동하며 오류가 등록되지 않고 3초 동안 슬립을 삽입하고 5초 동안 모든 것이 동일하며 해당 지연만 있음

 
말해 주세요. 각 막대에 대해 개별적으로 계산해야 하는 변수가 있습니다. 즉, [i+1]=0.9, [i+2]=0.8, [i+3]=1.5....... 하지만 마지막으로 계산된 값이 히스토리의 모든 막대에 적용됩니다.......... 마지막 값이 1이면 [i+1]=1, [i+2]=1, [i+3]= 1 및 마지막 2인 경우 각각 [i+1]=2, [i+2]=2, [i+3]=2....
 
Dimoncheg писал(а) >>

음, 그것은 소리에만있을 것입니다. 짧은 거래가 마감되면 로그에 "오류 없음"이라는 오류가 나타납니다. 3 개의 거래가 마감됩니다 - 3 개의 오류가 나올 것입니다. 그러나 그 후에는 모든 것이 닫히고 마감됩니다. 로그에 기록되고 장기 거래에 대해 모든 것이 정상이며 의도한 대로 소리가 작동하며 오류가 등록되지 않고 3초 동안 슬립을 삽입하고 5초 동안 모든 것이 동일하며 해당 지연만 있음

나도 비슷한 경험을 했고, 싸웠고, 싸웠고, 지연을 설정했습니다. 진전이 없었습니다. 그런 다음 그는 폐쇄를 확인하기 시작했습니다.

if(OrderCloseTime()!=0)

즉시 모든 문제가 사라졌습니다. 노력하다.

 
RocketTrend писал(а) >>
말해 주세요. 각 막대에 대해 개별적으로 계산해야 하는 변수가 있습니다. 즉, [i+1]=0.9, [i+2]=0.8, [i+3]=1.5....... 하지만 마지막으로 계산된 값이 히스토리의 모든 막대에 적용됩니다.......... 마지막 값이 1이면 [i+1]=1, [i+2]=1, [i+3]= 1 및 마지막 2인 경우 각각 [i+1]=2, [i+2]=2, [i+3]=2....

말하기가 너무 어렵습니다. 이 코드 전체를 게시하십시오.

 
Reshetov >> :

디버깅이 필요한 경우 Print()를 통해

그러나 대부분의 경우 이것은 필요하지 않습니다.


하지만 지금은 생각이 다릅니다. 지금 저는 고문을 작성하고 있으며 일반 디버거 없이 심각한 문제를 겪고 있습니다. 특히 데이터 배열의 경우.

알고리즘이 올바르게 작동하는지 확인하려면 지표를 계산할 때 거기에 도달하는 데이터를 분석해야 합니다. 그리고 배열은 하나가 아닙니다.

Print(), Comment(), Alert() 외에 다른 수단이 없는 것은 무엇입니까?

 
Reshetov >> :


이게 대체 뭐야? OrderSelect()는 무엇을 위한 것입니까?


나머지는 파악하기 어렵기 때문입니다. 코드는 들여쓰기 없이 배치되며 괄호를 따라갈 수 없습니다. 시력을 망치고 싶지 않습니다.

그래, 헛소리하지 말고 시력을 망치지 않도록 하자

/---- 입력 매개변수
외부 정수 PerRSI=8;
외부 정수 MagicNumber=77771;
extern 이중 로트=1.0;
//+----------------------------------------------- --------------------+
정수 시작()
{
정수
유형, // 주문 유형
cnt, // 주문 인덱스
티켓, // 주문 식별 번호
총; // 이미 열려 있는 주문의 수
더블
rsi_0, // 값. rsi_0 현재
rsi_1; // 값. rsi_1 첫 번째 막대

rsi_0=iRSI(NULL, 0, PerRSI, 0, 0); // 현재 막대
rsi_1=iRSI(NULL, 0 및 PerRSI,0, 1); // 현재 막대에 1을 더한 값

if(rsi_0 < rsi_1 && rsi_1 < 30) // 선이 30을 넘으면

ticket=OrderSend(Symbol(), OP_BUY,Lots, Ask, 3, 0, 0, "My RSI", MagicNamber, 0, Green);

OrderSelect(티켓, SELECT_BY_TICKET, MODE_TRADES);


if(rsi_0 > rsi_1 && rsi_1 > 60) // 선이 70을 넘으면

OrderClose(티켓, OrderLots(), 입찰, 3, 보라색); // 포지션을 닫는다

반환(0); // 출구

}

특종을 사고 닫지 않는 이유는 컴파일할 때 오류가 없습니다.