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

 

월의 숫자는 주문의 코메트리에 추가됩니다. 그날의 댓글과 함께 하루에 얼마나 많은 주문이 마감되었는지 계산하는 방법은 무엇입니까?

이것을 구현하는 방법을 알 수 없습니다.

코멘트 = 일();

int OpenOrdersDayHistory(문자열 기호, 정수 유형, 정수 마법, 문자열 주석)
{
국제;
정수 f = 0;
정수 합계 = OrdersHistoryTotal();
(n = 총계 - 1, n >= 0, n--)
{
주문 선택(n,SELECT_BY_POS, MODE_HISTORY );
if (OrderSymbol() == 기호 && OrderType() == 유형 && OrderMagicNumber() == 마법 && OrderComment() == 주석)
{
f++;
}
}
Print("주문건수 = ",f,"");
반환(f);
}

 
세레가393
함수 뒤에 있는 주석은 문자열입니까 아니면 정수입니까?
기능이 올바르게 구성된 것 같습니다. 명확한 그림을 보려면 내부에 들어오는 모든 변수의 출력물을 넣으십시오.
 
serega393 писал(а) >>

월의 숫자는 주문의 코메트리에 추가됩니다. 오늘의 댓글로 하루에 얼마나 많은 주문이 마감되었는지 계산하는 방법은 무엇입니까?

이것을 구현하는 방법을 알 수 없습니다.

코멘트 = 일();

int OpenOrdersDayHistory(문자열 기호, 정수 유형, 정수 마법, 문자열 주석)
{
국제;
정수 f = 0;
정수 합계 = OrdersHistoryTotal();
(n = 총계 - 1, n >= 0, n--)
{
주문 선택(n,SELECT_BY_POS,MODE_HISTORY);
if (OrderSymbol() == 기호 && OrderType() == 유형 && OrderMagicNumber() == 마법 && OrderComment() == 주석)
{
f++;
}
}
Print("주문건수 = ",f,"");
반환(f);
}

comment = TimeDay (iTime(Symbol(),Period(),0)) ;
그리고 주문을 보낼 때도 마찬가지입니다!
 
StatBars >> :
그리고 주문을 보낼 때도 마찬가지입니다!

더 나은 방법:

   comment = TimeDay(TimeCurrent());
그리고 더 빠르고, 더 쉽고, 더 안정적입니다.
 

부울 UseTF = true;


정수 시작()
{

문자열 주석 = TimeDay(TimeCurrent());

if (OpenOrdersDayHistory(Symbol(), OP_SELL, 123, comment) > 0)
{
UseTF=거짓;
인쇄("아니오");
}
또 다른
{
UseTF=참;
인쇄("예");

}

if(UseTF==true)
{
int 티켓 = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, Ask+10*Point, comment, 123, 0, Green);
}
리턴(0);
}

int OpenOrdersDayHistory(문자열 기호, 정수 유형, 정수 마법, 문자열 주석)
{
국제;
정수 f = 0;
정수 합계 = OrdersHistoryTotal();
(n = 총계 - 1, n >= 0, n--)
{
주문 선택(n,SELECT_BY_POS, MODE_HISTORY );
if (OrderSymbol() == 기호 && OrderType() == 유형 && OrderMagicNumber() == 마법 && OrderComment() == 주석)
{
f++;
}
}
Print("주문건수 = ",f,"");
반환(f);
}

여기, 시도하십시오. 그는 역사의 명령을 읽지 않습니다.

 

좋은 하루 되세요.

보류 중인 주문을 코드에 올바르게 "해머"하는 방법은 없습니다. 교과서, 도움말 및 기타 읽기. 거기에 답이 있을 것 같은데 이해가 잘 안가네요...


문제는 이것입니다. 최대 및 최소 가격을 검색하는 기간이 있습니다. 이 값은 두 개의 전역 변수 에 할당됩니다. 그런 다음 이 가격으로 보류 중인 주문을 열어야 합니다. 가격대를 알 수 없습니다. 현재 가격과 간격을 정확하게 나타내기 위해 연속적인 포레스트가 나온다.

1.질문 - 예를 들어 현재 막대의 가격 기능은 오전 6시에 어떻게 보입니까?

2.주문을 마감할 때 티켓 매개변수를 지정하는 방법은 무엇입니까?

또는 이전에 열린 두 주문 중 하나를 다른 방식으로 마감하는 방법은 무엇입니까?

이렇게 욕해야지...


for (int i=1; i<=OrdersTotal(); i++)

{

if(OrderSelect(i,SELECT_BY_POS)==true)

{

int T=OrderTicket();

int Cur_Hour2=시(); // 서버 시간(시간)

이중 Cur_Min2 =분(); // 서버 시간(분)

이중 Cur_time2=Cur_Hour2 + Cur_Min2/100; // 현재 시간

경고(cur_time2);

if (Cur_time2>=Time_of_buy_sell_2)

주문 닫기(T,1,문의,3,빨간색);

}

반품; // start()에서 종료


너무 가혹하게 판단하지 말아주세요 :)

 
TheXpert писал(а) >>

더 나은 방법:

더 빠르고 더 쉽고 안정적입니다.

동의하지만 다른 것에 더 집중했습니다.

 
serega393 писал(а) >>

여기, 시도하십시오. 그는 역사의 명령을 읽지 않습니다.

모든 것이 잘 읽힙니다. 닫은 후 댓글 내용을 확인하세요. 일부 브로커는 주문을 마감할 때 댓글에 항목을 추가합니다.

 
int start()
{
   string comment = TimeDay(TimeCurrent());   
   if (OpenOrdersDayHistory(Symbol(), OP_BUY, 123, comment) <3)   
   {      
      UseTF = true;      
      Print("Yes");   
   }
   else   
   {      
      UseTF = false;      
      Print("No");   
   }    
   
   if (UseTF == true)   
   {      
      int ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, Ask+100*Point, comment, 123, 0, Green);   
   }
   return(0);
}

int OpenOrdersDayHistory(string symbol, int type, int magic, string comment)
{   
   int n;   
   int f = 0;   
   int total = OrdersHistoryTotal();    
   for (n = total - 1; n >= 0; n--)   
   {      
      OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
      Print(OrderSymbol() == symbol && OrderType() == type && OrderMagicNumber() == magic," ",StringFind(OrderComment(),comment,0)>=0);
      if (OrderSymbol() == symbol && OrderType() == type && OrderMagicNumber() == magic && StringFind(OrderComment(),comment,0)>=0)          
            f++;   
   }    
   Print("колл-во ордеров = ",f,"");   
   return(f);
} 
 
여러분, 주어진 이익에 도달하면 모든 포지션(및 수익성 없는 포지션도 포함)을 닫고 미사용 지연을 모두 제거하는 고문을 알려주실 수 있습니까?