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

 
nuan :

전세 는 30분이 아니라 같은 시간에 주문을 마감한다는 의미입니다.


코드에서 귀하의 예와 같이 설정했습니다.


다른 이유로 로봇은 어떤 식으로든 닫히지 않습니다. 정지가 아니라 이익이 아닙니다.


1 2011.07.29 00:00 매수 1 0.01 1.4328 1.3328 1.5328 0.00 1000.00
2 2011.07.29 00:01 마감 1 0.01 1.4327 1.3328 1.5328 -0.10 999.90
3 2011.07.29 00:01 매수 2 0.01 1.4329 1.3329 1.5329 0.00 999.90
4 2011.07.29 00:01 마감 2 0.01 1.4326 1.3329 1.5329 -0.30 999.60
5 2011.07.29 00:01 매수 3 0.01 1.4328 1.3328 1.5328 0.00 999.60
6 2011.07.29 00:03 마감 3 0.01 1.4327 1.3328 1.5328 -0.10 999.50
7 2011.07.29 00:03 매수 4 0.01 1.4329 1.3329 1.5329 0.00 999.50
8 2011.07.29 00:03 종가 4 0.01 1.4329 1.3329 1.5329 0.00 999.50


이 모든 것을 start() 함수의 맨 끝에 넣으십시오. 당신의 작업은 이것을 직면해야 합니다.

 datetime TimeM30= iTime ( NULL , 30 , 0 );
     if (TimeM30==prevtime) return ( 0 ); 
    prevtime = TimeM30;   
    CloseAllPosTime();
 
nuan :
start()에서 다음 옵션으로 바꿉니다.
 datetime CloseTime;
//=====================
 int start(){

   if ( TimeCurrent ()-CloseTime > 30 * 60 ){CloseAllPos();CloseTime= TimeCurrent ();} //Можно поставить в любом месте функции старт.
   return ( 0 );
 }
//====================
 
forexnew :

이해합니다.

그리고 $0에 대한 계좌 개설을 시작으로 고려하고 잔액의 1차 보충을 충전으로 고려한다면. 계정에 이루어진 모든 리필(첫 번째 리필 포함)을 프로그래밍 방식으로 결정할 수 있습니까?


:-아르 자형

당신은 잘못된 방향으로 노를 젓고 있습니다 ... :-)))

기능이 있다

 double AccountBalance ( ) 

도움을 받아 언제든지 마감된 거래에 대한 거래 계정의 잔액 상태를 결정할 수 있습니다.

다음 - 우리가 시장에 진입했다고 가정합니다 - 열린 포지션 이 있는 계정에 부동 마이너스가 있는 경우 계정을 보충합니다 ... 여기에서 볼륨을 조정하기 위해 토핑(있는 경우) 양을 프로그래밍 방식으로 결정하는 것이 이미 필요합니다( 감소/이익에 대한 시작 "수당"을 저장하기 위한 열린 포지션의 증가), "시작" 시장 포지션의 양이 계산된 초기 금액(충전 전)에서 자본의 백분율로 가정해 보겠습니다. 이 문제에 대한 해결책은 무엇입니까?

 
CloseTime 
Нужно задавать этот параметр? если да то как?
 
nuan :


필요 없음. 이것은 "중간" 시간 변수이며 항상 마지막 마감 시간과 같습니다.

응답 시간은 초 단위로 설정됩니다. 귀하의 경우 30*60입니다.
exstern int closetime = 30과 같이 30을 일부 변수로 바꿀 수 있습니다.
그러면 응답 시간은 closetime*60과 같습니다.

 
charter :


필요 없음. 이것은 "중간" 시간 변수이며 항상 마지막 마감 시간과 같습니다.

응답 시간은 초 단위로 설정됩니다. 귀하의 경우 30*60입니다.
exstern int closetime = 30과 같이 30을 일부 변수로 바꿀 수 있습니다.
그러면 응답 시간은 closetime*60과 같습니다.

그냥 똑같이 해봤는데 시작은 몸 끝에서 .... 이게 왜 이해가 안가.. 아마도 다른 옵션이 있습니까?
 
Roman. :


:-아르 자형

당신은 잘못된 방향으로 노를 젓고 있습니다 ... :-)))

기능이 있다

도움을 받아 언제든지 마감된 거래에 대한 거래 계정의 잔액 상태를 결정할 수 있습니다.

다음 - 시장에 진입했다고 가정합니다. 미결 포지션이 있는 계정에 부동 마이너스가 있고 계정을 보충합니다 ... 여기에서 볼륨을 조정하기 위해 토핑(있는 경우)의 양을 프로그래밍 방식으로 결정하는 것이 이미 필요합니다( 감소/이익에 대한 시작 "수당"을 저장하기 위한 열린 포지션의 증가), "시작" 시장 포지션의 양이 계산된 초기 금액(충전 전)에서 자본의 백분율로 가정해 보겠습니다. 이 문제에 대한 해결책은 무엇입니까?


초기에 설정된 위험에 따라 StarLots(시작 로트)에 대한 StartBalance(시작 잔액)의 비율을 결정했다면, 충전 금액은 자본에서 결정되어야 합니다.

if(AccountEquity()<StartBalance) 충전 = (AccountBalance()+(StartBalance-AccountEquity()))*New Lot/StarLots

이것은 AccountCredit()가 없습니다. 물론 내가 당신을 올바르게 이해한다면.

 
nuan :
그냥 똑같이 해봤는데 시작은 몸 끝에서 .... 이게 왜 이해가 안가.. 아마도 다른 옵션이 있습니까?
다른 곳에서 오류를 찾으십시오.
두 옵션 모두 작동해야 합니다.
 
덕분에 찾았습니다!
 

안녕하세요. 질문이 있습니다. 가장 가까운 최대값과 최소값을 찾아야 합니다. 그러나 Open[0]에서 + - 10점 이내여야 합니다.

나는 지금 이것을 가지고있다 :

(int i=1;i<100;i++)

if (High[i+1]<High[i] && High[i]>High[i-1] break;

가장 가까운 최대값을 찾고,

High[i]>(Open[0]+0.0010) 및 High[i]<(Open[0]+0.0020) 비교를 추가하면 다음과 같습니다.

if (High[i+1]<High[i] && High[i]>High[i-1] && High[i]>(Open[0]+0.0010) && High[i]<(Open[0] +0.0020) 휴식;

프로그램이 잘못된 최대값을 제공합니다. 문제가 무엇입니까?

아직 최소값을 시도하지 않았습니다.