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);}
월의 숫자는 주문의 코메트리에 추가됩니다. 그날의 댓글과 함께 하루에 얼마나 많은 주문이 마감되었는지 계산하는 방법은 무엇입니까?
이것을 구현하는 방법을 알 수 없습니다.
코멘트 = 일();
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);
}
월의 숫자는 주문의 코메트리에 추가됩니다. 오늘의 댓글로 하루에 얼마나 많은 주문이 마감되었는지 계산하는 방법은 무엇입니까?
이것을 구현하는 방법을 알 수 없습니다.
코멘트 = 일();
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);
}
그리고 주문을 보낼 때도 마찬가지입니다!
더 나은 방법:
그리고 더 빠르고, 더 쉽고, 더 안정적입니다.부울 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()에서 종료
너무 가혹하게 판단하지 말아주세요 :)
더 나은 방법:
더 빠르고 더 쉽고 안정적입니다.동의하지만 다른 것에 더 집중했습니다.
여기, 시도하십시오. 그는 역사의 명령을 읽지 않습니다.
모든 것이 잘 읽힙니다. 닫은 후 댓글 내용을 확인하세요. 일부 브로커는 주문을 마감할 때 댓글에 항목을 추가합니다.