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

 

나는 앉아서 알고리즘을 구현하는 방법을 정말로 이해할 수 없습니다.

누구든지 도울 수 있습니다.

1. 하루의 시작을 찾아라 (나는 이것을 했다)

2. 오늘의 최고점 찾기 (완료)

3. 이 최대값 이후에 MA를 위에서 아래로 교차한 후 첫 번째 프랙탈을 따를 막대를 계산해야 합니다.


도면을 첨부합니다.


[삭제]  
komposter >> :

iRSI 대신 iCCI가 있어야 합니다.

EPRST.......눈이 완전히 빠졌어요..... 감사합니다, 붐 에디트

 
luka >> :

나는 앉아서 알고리즘을 구현하는 방법을 정말로 이해할 수 없습니다.

누구든지 도울 수 있습니다.

3. 이 최대값 이후에 MA를 위에서 아래로 교차한 후 첫 번째 프랙탈을 따를 막대를 계산해야 합니다.

"따라오는 막대를 계산하십시오 ..."

더 간단하게 작성하십시오. "컴퓨터를 켠 후 가격이 어디로 갈지 알고 싶습니다..." :-)))))

 
mukata >> :

"따라오는 막대를 계산하십시오 ..."

더 간단하게 작성하십시오. "컴퓨터를 켠 후 가격이 어디로 갈지 알고 싶습니다..." :-)))))


당신은 이해하지 못했습니다.

이 막대는 이미 차트에 있습니다. 또는 이것이 현재 막대라고 가정해 보겠습니다. 그리고 조건을 충족하면 원하는 바입니다.

처음입니다.

그리고 두 번째로, 그것이 무엇인지 이해하지 못한다면 왜 다시 홍수를 일으키겠습니까?

[Deleted]  
Skydiver >> :

당신은 이렇게 시도 할 수 있습니다

OrderSelect(1, SELECT_BY_POS)

if(OrderOpenTime()!=0) 

{

///необходимая операция

}

그러나 이것은 주문이 1개만 있는 경우에만 옵션입니다!

그래서 우리는 주문이 보류 중인지 확인합니다.


아이디어는 다음과 같습니다. 예를 들어 주문 중지와 함께 3개의 보류 주문이 구매에 배치됩니다.

이 3개의 보류 주문 중 하나가 일반 "작업 주문"이 되는 조건을 원합니다.

 
luka >> :

당신은 이해하지 못했습니다.

이 막대는 이미 차트에 있습니다. 또는 이것이 현재 막대라고 가정해 보겠습니다. 그리고 조건을 충족하면 원하는 바입니다.

처음입니다.

그리고 두 번째로, 그것이 무엇인지 이해하지 못한다면 왜 다시 홍수를 일으키겠습니까?

" re... 다음에 첫 번째 프랙탈을 따를 막대를 계산하십시오.". 이는 "이미 차트에 있는" 것이 아니라 할 것임을 의미 합니다 ...

이제 "그리고 그것이 조건을 충족한다면 - 그것은 원하는 바" - 그것은 또 다른 문제입니다. "조건"을 설명하면 누군가가 도움이 될 것입니다.

홍수에 대해 사과드립니다.



 
mukata >> :

" re... 다음에 첫 번째 프랙탈을 따를 막대를 계산하십시오.". 이는 "이미 차트에 있는" 것이 아니라 할 것임을 의미 합니다 ...

이제 "그리고 그것이 조건을 충족한다면 - 그것은 원하는 바" - 그것은 또 다른 문제입니다. "조건"을 설명하면 누군가가 도움이 될 것입니다.

홍수에 대해 사과드립니다.



와, 제가 쓴게 맞습니다.

나는 내가 무엇을, 어디서, 어떻게 알지 못하는지를 찾는 것을 목표로 삼지 않을 것입니다.

이미 존재하는 특정 바에 관심이 있습니다. 또는 오히려 그들의 교대.

그건 그렇고, 나는 이미 그것을 구현했습니다. 그렇게 어렵지 않은 것으로 나타났습니다. :)

 
fima_ >> :

그래서 우리는 주문이 보류 중인지 확인합니다.


아이디어는 다음과 같습니다. 예를 들어 주문 중지와 함께 3개의 보류 주문이 구매에 배치됩니다.

이 3개의 보류 주문 중 하나가 일반 "작업 주문"이 되는 조건을 원합니다.

3번의 지연이 있고 최소 1번이 작동했다면 어떤 조건이 설정되었습니까?

그렇다면 당신은 할 수 있습니다

for(int cnt=0;cnt<OrdersTotal();cnt++) // последовательно проверяем все ордера

{

OrderSelect(cnt, SELECT_BY_POS)
if(OrderOpenTime()!=0) ///время не равно 0 значит отложка сработала(или как писал Roger  if(OrderType()<2)  )
{
///необходимая операция
}
}

또는 1개의 미결 주문 + 3개의 보류 중인 주문이 있습니까?

그런 다음 다음과 같이 시도 할 수 있습니다.

//в глобальных переменных 

int tick[3];  

//в функции start

//cначало записываем номера тикетов отложек в переменные 

for(int cnt=0;cnt<OrdersTotal();cnt++) // последовательно проверяем все ордера

{

  OrderSelect(cnt, SELECT_BY_POS)
  if(OrderOpenTime()!=0)

  {

     tick[cnt]=OrderTicket();

  }

}

//а далее проверяем выполнился ли отложенный ордер


for(int cnt=0;cnt<OrdersTotal();cnt++)

{

   OrderSelect(cnt, SELECT_BY_POS)
   if(OrderOpenTime()!=0)

{

   for(int cnt2=0;cnt2<3;cnt++)

   if(tick[cnt]==OrderTicket())

   {

     //необходимое условие

   }

}

또는 모든 지연에 대해 특정 마법을 사용하고 이 마법과 함께 열린 주문이 나타나면 다음 조건을 사용해야 합니다. 예를 들면 다음과 같습니다.

в глоб перем

int mag=12345;

в ф start

/// При открытии отложки укажите ему в качестве магика mag

///ну а далее идет поиск "бывшей" отложки по Magic

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

   OrderSelect(cnt, SELECT_BY_POS)
   if(OrderOpenTime()!=0&&OrderMagic()==Mag)

{

///необходимая операция

}

}

코드에서 가능한 오류를 확인하지 않았습니다!

 
OrderSelect (0,SELECT_BY_POS) 함수는 어떤 순서를 반환합니까? 어느 것이 먼저 열렸습니까? 주문을 바꿀 수 없습니까? (나는 대기 주문을 사용하지 않습니다)
 
AndreyK AndreyK писал(а)
OrderSelect (0,SELECT_BY_POS) 함수는 어떤 순서를 반환합니까? 어느 것이 먼저 열렸습니까? 주문을 바꿀 수 없습니까? (나는 대기 주문을 사용하지 않습니다)

맞습니다. 첫 번째입니다. 이것은 원칙적으로 하나의 주문만 개설할 수 있고 파산을 피할 수 있다는 것을 확실히 안다면 편리합니다. 주문은 교환되지 않지만 이전 주문이 마감되면 가장 작은 주문으로 이동합니다.