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

 
eddy :
관심이 없다. 선을 긋고싶다..
그림의 포인트. 최대 최소인가요?
 
아니, 젠장
 
비싼_ :

이것은 옵티마이저 보고서에 없는 비표준 접근 방식을 위한 것입니다. 여기에 파일을 터미널\테스터\파일

"최적의 결과"에서 보고서를 저장합니다. 다른 이름으로 저장>>


이제 나는 무언가를 저장하는 방법을 이해합니다. 최적화 결과 를 자동으로 저장하는 방법을 알려주세요. 원칙적으로 최대 드로다운과 이익만 고려됩니다.
 
001 :

이제 나는 무언가를 저장하는 방법을 이해합니다. 최적화 결과를 자동으로 저장하는 방법을 알려주세요. 원칙적으로 최대 드로다운과 이익만 고려됩니다.

기본적으로 OrdersHistoryTotal 을 통해 계산합니다. 모든 수익성, 수익성, 손실, 이익 및 파일 의 합계 ;)

그런 것

   for (i= 0 ;i<OrdersHistoryTotal();i++)
     if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol()== Symbol ())
     if (OrderProfit()>= 0 )
     profit+=OrderProfit();
     else noprof+=OrderProfit();
   прибыль = profit  -  noprof;



 
eddy :
아니, 젠장

대략적으로, 더 젊은 기간에 H4 ind 설정의 H1 차트에서 더 오래된 것의 벡터를 볼 수 있습니다.

그리고 그는 왜?!

파일:
maxvekt.mq4  2 kb
 
costy_ :

기본적으로 OrdersHistoryTotal 을 통해 계산합니다. 모든 수익성, 무익, 인출, 이익 및 파일 의 합계 ;)

그런 것




예, 그렇습니다. 불행히도 이 방법은 MT와 다른 데이터를 제공합니다. 최적화 결과 를 파일에 자동으로 저장하기만 하면 됩니다.
 
계산이 이해가 안됩니다. 내 그림을 예로 들어 설명할 수 있습니까?
 
costy_ :

목록의 포지션 번호 순서대로 미결 주문과 보류 주문을 스크롤하여 관심 있는 주문을 선택하고 티켓을 추출합니다.

티켓 작업을 계속하십시오.



답변 해주셔서 감사합니다.

동일한 주문을 이미 선택한 경우 왜 이 작업을 수행해야 합니까?

아니면 내가 뭔가를 오해하고 있습니까? 이 코드:

문자열 기호 = Symbol(), int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES );
if(OrderSymbol() == 기호 && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket();OrderSelect(티켓 구매, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
이중 입찰 = MarketInfo(symbol,MODE_BID);
새로 고침();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }

그리고 이것:

문자열 기호 = Symbol(), int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == 기호 && OrderMagicNumber()==Magicbuy) {
lotbuy2=OrderLots() ;
이중 입찰 = MarketInfo(symbol,MODE_BID);
새로 고침();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }

그들은 같은 일을 할 것인가?

 
Aleksandr_8 :

답변 해주셔서 감사합니다.

동일한 주문을 이미 선택한 경우 왜 이 작업을 수행해야 합니까?

아니면 내가 뭔가를 오해하고 있습니까? 이 코드:

문자열 기호 = Symbol(), int cnt;
for(cnt = OrdersTotal() -1 ; cnt >= 0; cnt--){
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == 기호 && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket();OrderSelect(티켓 구매, SELECT_BY_TICKET, MODE_TRADES); lotbuy2=OrderLots() ;
이중 입찰 = MarketInfo(symbol,MODE_BID);
새로 고침();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
}

그리고 이것:

문자열 기호 = Symbol(), int cnt;
for(cnt = OrdersTotal() -1 ; cnt >= 0; cnt--){
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == 기호 && OrderMagicNumber()==Magicbuy) {
lotbuy2=OrderLots() ;
이중 입찰 = MarketInfo(symbol,MODE_BID);
새로 고침();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }
}

그들은 같은 일을 할 것인가?

두 코드 모두 동일한 작업을 수행합니다. 빨간색으로 강조 표시된 것은 불필요하기 때문에 주문은 이미 선택되었으며 작업을 위해 다시 선택할 필요가 없습니다. 티켓을 통해 또는 목록의 번호를 통해 주문을 선택하는 방법에는 차이가 없습니다. 파란색으로 강조 표시된 누락된 요소

 
Aleksandr_8 :

답변 해주셔서 감사합니다.

동일한 주문을 이미 선택한 경우 왜 이 작업을 수행해야 합니까?

아니면 내가 뭔가를 오해하고 있습니까? 이 코드:

문자열 기호 = Symbol(), int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == 기호 && OrderMagicNumber()==Magicbuy) {
ticketbuy=OrderTicket(); OrderSelect(티켓 구매, SELECT_BY_TICKET, MODE_TRADES); lotbuy2=OrderLots() ;
이중 입찰 = MarketInfo(symbol,MODE_BID);
새로 고침();
OrderClose( ticketbuy ,lotsbuy2,bid,3,Magenta); }

그리고 이것:

문자열 기호 = Symbol(), int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == 기호 && OrderMagicNumber()==Magicbuy) {
lotbuy2=OrderLots() ;
이중 입찰 = MarketInfo(symbol,MODE_BID);
새로 고침();
OrderClose( ticketbuy ,lotsbuy2,bid,3,Magenta); }

그들은 같은 일을 할 것인가?

첫 번째 변형에서 두 번째 OrderSelect by ticketbuy는 아마도 두 번째 수표를 사용합니다(지연 chtoli +1 ordertotal에 의한 개시가 미끄러지는 경우 ...).

이전 게시물에서 오류를 올바르게 발견했습니다(녹색 오류 제외).

두 번째 티켓 구매는 표시되지 않습니다. 정의할 필요

 string symbol = Symbol (); int cnt;
for (cnt = OrdersTotal (); cnt >= 0 ; cnt--){
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
ticketbuy=OrderTicket();
RefreshRates();
OrderClose( ticketbuy ,lotsbuy2,bid, 3 , Magenta ); }