[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 173

 
bestfx :
안녕하세요. 도와주세요, 제발.

결론은 다음과 같습니다. 특정 가격에 보류 중인 주문을 자동으로 배치하는 봇이 있습니다. ...
 double main_price= 1.251 ;
double price_to_byu= 1.253 ;
double price_to_sell= 1.249 ;
// --------
bool restriction=false;
if (Ask<=main_price)
if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
       if ( OrderSymbol ()!= Symbol ()) continue ;
       if ( OrderType ()==OP_BUY || OrderType ()==OP_BUYSTOP)
      {   if ( OrderOpenPrice ()==price_to_byu) restriction=true;
}  }  }
if (restriction==false)
{   OrderSend ( NULL ,OP_BUYSTOP,Lot,price_to_byu, ...);
   return ( 0 );
}
// --------
restriction=false;
if (Bid>=main_price)
if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
       if ( OrderSymbol ()!= Symbol ()) continue ;
       if ( OrderType ()==OP_SELL || OrderType ()==OP_SELLSTOP)
      {   if ( OrderOpenPrice ()==price_to_sell) restriction=true;
}  }  }
if (restriction==false)
{   OrderSend ( NULL ,OP_SELLSTOP,Lot,price_to_sell, ...);
   return ( 0 );
}

이러한 주문을 많이 하는 경우 배열을 사용해야 합니다. 어떻게? 배열에 대해 읽어보십시오.

 
Lisi4ka330 :
6월 1일부터 빌드 416 이전 버전은 지원되지 않습니다.

나타샤 , 더 이상 컴퓨터에서 지원하지 않습니까? )

409를 메인 터미널에 병렬로 놓고 다음 폴더에 필요한 모든 기록을 거기에 놓고 원하는 만큼 테스트하십시오. 이를 위해 서버에 연결할 필요가 없습니다. birt'script를 사용한 경우 어쨌든 오프라인 상태일 것입니다.

 
FAQ :
가격을 숫자로 나눕니다 = 정수로 가져와 매직에 쓴 다음 새 주문을 하기 전에 매직에 대한 열린 주문 배열을 찾습니다.

:=( 어떤 종류의 쓰레기가 나옵니다.
 
paladin80 :
이러한 주문을 많이 하는 경우 배열을 사용해야 합니다. 어떻게? 배열에 대해 읽어보십시오.

지금 3일째 읽고 있습니다. :=( php에서는 모든 것이 더 간단하지만 여기서는 어떤 식으로든 이해하지 못합니다.
 
Lisi4ka330 09.06.2012 20:33
예, 시도했지만 작동하지 않았습니다.

그러면 다르게 할 수 있습니다.

또한 MT4와 MT5 모두에서 작동합니다.

1. 모든 틱(어디에서 알 수 있음)을 다운로드하고 MS SQL 서버처럼 생성한 서버에 씁니다. 데이터 볼륨이 엄청나기 때문입니다.

2. SQL 서버와 MT4,MT5 상호작용을 위한 DLL을 작성합니다.

MT4에서 IsTesting() 플래그를 확인하고 테스트가 진행 중이면 따옴표 값 대신 데이터베이스의 데이터를 대체합니다(가격이 반환됨). 그게 전부입니다. 복잡해 보이지 않습니다.

추신: 이 옵션은 프로그램의 기계어 코드를 수정할 때 사용한 것보다 모든 빌드와 두 MT에서 모두 작동하므로 더 좋습니다.

 
bestfx :

:=( 헛소리.


귀하의 경우 이 가격으로 이미 주문이 접수되었는지 개봉하기 전에 확인해야 합니다. 두 가지 방법으로 갈 수 있습니다. 주문을 스캔하고 주문을 시작하기 전에 시작 가격을 확인하거나 각 주문을 표시합니다(정보에 가격 포함). 가격을 비교하는 경우 정규화에 대해 기억해야 하며 추가로 슬리피지에 대해 기억해야 합니다.

나는 두 번째 방법을 제안했습니다 - 시작 가격 을 주문에 interdick number로 쓰십시오. 이 경우 두 정수의 표준 비교(빠른)가 적용됩니다.

팔라딘80 :

이러한 주문을 많이 하는 경우 배열을 사용해야 합니다. 어떻게? 어레이에 대해 읽어보십시오.


OrdersTotal() 및 OrdersHistoryTotal() 등 배열.

 
pusheax :

그러면 다르게 할 수 있습니다.

또한 MT4와 MT5 모두에서 작동합니다.

1. 모든 틱(어디에서 알 수 있음)을 다운로드하고 MS SQL 서버처럼 생성한 서버에 씁니다. 데이터 볼륨이 엄청나기 때문입니다.

2. SQL 서버와 MT4,MT5 상호작용을 위한 DLL을 작성합니다.

MT4에서 IsTesting() 플래그를 확인하고 테스트가 진행 중이면 따옴표 값 대신 데이터베이스의 데이터를 대체합니다(가격이 반환됨). 그게 전부입니다. 복잡해 보이지 않습니다.

추신: 이 옵션은 프로그램의 기계어 코드를 수정할 때 사용한 것보다 모든 빌드와 두 MT에서 모두 작동하므로 더 좋습니다.

때문에 작동하지 않습니다 당신은 기초에서 인용에 거래를 할 수 없습니다, 그는 가격이 잘못되었다고 말할 것입니다. 자신의 테스터를 작성하는 것이 더 쉽습니다.

소녀를 혼동하지 마십시오. 방금 빌드 409의 고문을 이전 스크립트와 테스트했으며 모든 것이 잘 작동합니다.

 
alsu :

때문에 작동하지 않습니다 당신은 기초에서 인용에 거래를 할 수 없습니다, 그는 가격이 잘못되었다고 말할 것입니다. 자신의 테스터를 작성하는 것이 더 쉽습니다.

소녀를 혼동하지 마십시오. 방금 빌드 409의 고문을 이전 스크립트와 테스트했으며 모든 것이 잘 작동합니다.


네, 나중에 깨달았습니다. 내가 전에 비슷한 것을 시도했지만 틱을 수집 할 수 없었지만 여기에서는 이미 기성품입니다.

실제로 기계어를 수정하지 않고는 작동하지 않을 것 같습니다.

나는 아이디어가 정말 마음에 들었고 스스로 할 것이기 때문에 이 아이디어를 토론하고 혼동하지 않는 방식으로 썼습니다.

 
pusheax :

네, 나중에 깨달았습니다. 그 자신이 전에 비슷한 일을 시도했지만 틱을 수집 할 수 없었지만 여기에서는 이미 기성품입니다.

실제로 기계 코드를 수정하지 않고는 작동하지 않는 것 같습니다.

나는 아이디어가 정말 마음에 들었고 스스로 할 것이기 때문에 이 아이디어를 토론하고 혼동하지 않는 방식으로 썼습니다.

누군가는 이미 일반 테스터, 다중 통화 및 부동 스프레드 를 작성합니다)))

실제 진드기, 블랙잭 및 창녀 와 함께하는 ps 등

 
bestfx :

나는 이것을 사흘째 읽고 있다. :=( php에서는 모든 것이 더 간단하지만 여기서는 어떤 식으로든 이해하지 못합니다.
나는 시작 가격 을 비교하는 것보다 주문/포지션을 표시하는 것이 더 낫다는 중재자의 말에 동의합니다. 매직넘버 외에 댓글 체크를 사용할 수 있습니다. 시작 가격은 댓글에 기재할 수 있습니다(예: "EURUSD, 1.251").