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

 

안녕하세요!

스크립트에 의해 보류 중인 주문이 트리거된 경우 기기 창에서 이 스크립트의 연결을 끊으려면 어떻게 해야 합니까?

미리 감사드립니다.

 
baltik >> :

아니요

스크립트가 실행되면 eksert\files\ 폴더에 기록이 있는 파일을 파일 이름(계정 번호)으로 만듭니다.

모든 것이 매우 간단합니다. 3개의 터미널에 있는 스크립트가 예를 들어 오전 6시에 자동으로 실행됩니다.

따라서 터미널을 열 필요가 없습니다. 데이터베이스를 열면 분석할 준비가 된 새 데이터가 이미 선택되어 있습니다(이는 이미 구현되었습니다).

계산된 스왑, 피벗 테이블 및 차트 등의 활동 %

스크립트가 터미널을 열 수 없습니다!

따라서 작동하는 데 필요한 경우 열려 있고 연결된 터미널에 있어야 합니다. 필요한 시간에 작동하고 데이터를 기록합니다. 그러나 터미널을 활성화해야 합니다.

 
Aleks25 >> :

안녕하세요!

스크립트에 의해 보류 중인 주문이 트리거된 경우 기기 창에서 이 스크립트의 연결을 끊으려면 어떻게 해야 합니까?

미리 감사드립니다.

스크립트는 차트에서 한 번 실행되며 수동 연결 해제가 필요하지 않습니다.

 
sergeev >> :

스크립트는 차트에서 한 번 실행되며 수동 연결 해제가 필요하지 않습니다.

안타깝게도 창에서 분리되지 않으면 이전 주문이 닫힐 때 다음 주문이 열립니다.

 
스크립트입니까, 전문가입니까?
 
스크립트 코드에 따르면 전문가 디렉토리에 있습니다.
 

다음은 그의 코드입니다.

가격이 변경되면 보류 중인 주문을 이동합니다.


//------------------------------------------------ --------------------
외부 이중 OTSTUP_BUY = 7;
extern double 이익실현 = 100;
//외부 이중 BuyStop = 0;
//외부 이중 StopLoss = 0;
extern 이중 로트 = 0.01;
//외부 이중 TrailingStop = 21;

이중 최소값 = 100000;
더블
lmax, // 임계값, 극복 후
// 판매로 간주하는 항목(abs)
lmin, // 구매와 동일
많은;

정수 개수=0;
정수 합계 = 0;
int 티켓 = 0; // 전역 변경.
//------------------------------------------------ --------------------
int init() // 사양. 함수 초기화()

{
정수 합계=OrdersTotal(); // 오픈 오더만
문자열 Symbol1=Symbol();
이중 레이블=0;
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) 계속;
{
if(OrderSymbol()==Symbol())
{
레이블=1;
Alert("주문이 열렸습니다 #", OrderTicket(), " to ", OrderSymbol());

}
또 다른
{
}
}

}

if(라벨==0 )
// if(mark==0 && UROVEN>= 묻기)

{

이중 입찰 =MarketInfo(Symbol(),MODE_BID); // 입찰가 요청
이중 요청 =MarketInfo(Symbol(),MODE_ASK); // 쿼리 요청 값
이중 최소 = MarketInfo(Symbol(),MODE_ASK); // 쿼리 요청 값
더블 포인트 =MarketInfo(Symbol(),MODE_POINT);//포인트 요청
OrderSend(Symbol(),OP_BUYSTOP,Lots,bid+OTSTUP_BUY*Point,3,bid-1*Point,bid+TakeProfit*Point);
int 티켓=OrderTicket();
//OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyStop,3,StopLoss,TakeProfit,"Bye Stop 1");
경고(티켓); // 오류 메시지
// 경고(Symbol()," ",OP_BUYSTOP," ",0.01," ",ask+10*Point," ",3," ",ask-35*Point," ",ask+35*Point) ;
경고(GetLastError());
}


반품; // init() 종료
}

//------------------------------------------------ --------------------
int start() // 사양. 시작() 함수
{
if (min>Bid) min=입찰가;
{ // 최소 가격 계산




정수 합계=OrdersTotal(); // 오픈 오더만
문자열 Symbol1=Symbol();
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) 계속;
{
if(OrderSymbol()==Symbol())
{
Alert("주문이 열렸습니다 #", OrderTicket(), " to ", OrderSymbol());
경고(분);
OrderModify(OrderTicket(),min+OTSTUP_BUY*Point,min-1*Point,min+TakeProfit*Point,0);//수정
경고(GetLastError());
경고(Symbol()," ",OrderTicket()," ",min+OTSTUP_BUY*Point," ",min-1*Point," ",min+TakeProfit*Point," ",0);
}
}
}



}
반품; // init() 종료
}

//------------------------------------------------ --------------------
int deinit() // 사양. 함수 초기화()
{
// Alert("언로드하는 동안 deinit() 함수가 작동했습니다."); // 메시지
반품; // deinit() 종료
}
//------------------------------------------------ --------------------

 

문자열iii[];

iii[0] = "1";
iii[1] = "2";
iii[2] = "3";

메시지박스 (iii[0]);
메시지박스(iii[1]);
메시지박스(iii[2]);
숫자 3을 세 번 줍니다! 규정된 1, 2, 3 대신.... WTF?

감사하다!

 
배열의 요소 수를 지정하지 않은 것이 문제인 것 같습니다. 그러나 처음에 요소의 수를 알 수 없고 배열이 루프에 채워져 있으면 어떻게 될까요? (내 경우에는 파일에서 읽을 때)
 
mrddt >> :
догадываюсьчто проблема в том что я не указал кол-во элементов в массиве. а что делать если кол-во элементов изначально неизвесно и массив заполняется в цикле? (в моём случае при чтении из файла)

배열 크기 조정