당신이 주문을 열어야한다고 썼기 때문에 나는 그런 "단단한"구조를 줬습니다. 열려야하기 때문에 그것을 열려고 몇 번을 시도하든 그것은 열릴 것입니다.. 주문을 여는 것이 정상이라면 필요하지 않은 동안 시도 횟수를 전달하고 이미 함수에서 결정적인 오류 에 대응하거나 무시하고 어리석게 시도 횟수 순서를 열려고 시도할 수 있습니다.
그리고 while(!openOrder(..)){}의 의미는 우리가 영원한 루프를 생성한다는 것입니다. 주문이 열릴 때까지 작동합니다.
int init (){double A =AccountBalance()//Определяем балансdouble B =NormalizeDouble( A /50,0)//Выполняем вычисления и делаем результат целым числомdouble Lots = B *0.01//Вычисление лота.if( Lots >0)Alert("Лот будет ", Lots )return(0);}
else 조건에 의해 다시 따옴표 가 있으면 함수 자체가 작동을 멈춥니다.
try = 0이므로 while 루프가 종료되고 openOrder()가 false를 반환합니다.
하지만 while(!openOrder(..)){} 구문을 사용한다면 예, 주문을 열 때까지 계속 쪼아댈 것입니다.
당신이 주문을 열어야한다고 썼기 때문에 나는 그런 "단단한"구조를 줬습니다. 열려야하기 때문에 그것을 열려고 몇 번을 시도하든 그것은 열릴 것입니다.. 주문을 여는 것이 정상이라면 필요하지 않은 동안 시도 횟수를 전달하고 이미 함수에서 결정적인 오류 에 대응하거나 무시하고 어리석게 시도 횟수 순서를 열려고 시도할 수 있습니다.
그리고 while(!openOrder(..)){}의 의미는 우리가 영원한 루프를 생성한다는 것입니다. 주문이 열릴 때까지 작동합니다.
실제로 주문을 열 때 어떤 전술을 사용해야하는지 결정하면 도움이 될 것입니다 ..
질문은 ~이야:
배열로 작업할 수 없습니다.
배열을 초기화하고 데이터로 채우고 읽을 때 0이 있습니다.
내가 무엇을 잘못하고 있지?
배열로 작업할 수 없습니다.
예를 들어 다음을 선언할 때 배열의 크기를 지정해야 합니다.
또는 나중에:
배열의 크기를 모른다면?
그리고 내가 묻는 경우에도 무언가가 컴파일되지 않습니다.
외부 변수를 삽입합니다.
그리고 더 아래로:
출력 결과:
'크기' - 정수 예상 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 16)
']' - 쉼표 또는 세미콜론 필요 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (36, 22)
'MASS' - 정의되지 않은 변수 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (40, 3)
'MASS' - 정의되지 않은 변수 C:\Program Files\MetaTrader - Alpari2\experts\temp.mq4 (44, 9)
배열의 크기를 모른다면?
따라서 배열에 몇 개의 요소가 있는지 알게 되면 ArrayResize 함수를 사용해야 합니다.
보시다시피 외부 변수를 사용하면 작동하지 않습니다. :)
다음과 같이 가능합니다.
사랑하는 외과의사님 감사합니다.
모든 것이 작동했습니다 :)
실제로 구현하려는 것은 무엇입니까?