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

 
link1 :

날짜는 2월 15일부터 2월 16일까지 동일합니다.


또는 다른 날짜. 조건은 모두 같으나 매번 결과가 다르다

 

보류 중인 주문 이 작동했는지 여부를 확인하는 방법은 무엇입니까?

또는 일반적으로 다른 방향으로 두 개의 보류 중인 주문이 하나가 작동하는 즉시 두 번째 주문을 닫습니다.

 
link1 :


또는 다른 날짜. 조건은 모두 같으나 매번 결과가 다르다

스프레드는 현재 시장에서 가져오고 테스트 기간 동안 동일한 것으로 간주됩니다.
 
ilunga :
스프레드는 현재 시장에서 가져오고 테스트 기간 동안 동일한 것으로 간주됩니다.


아... 그게 다야 이제 이해가 갑니다. 정말 감사합니다! )

보고서에는 모델링 품질에 대한 요점이 있으며 항상 25%입니다. 어떻게 개선할 수 있습니까?

 
link1 :


아... 그게 다야 이제 이해가 갑니다. 정말 감사합니다! )

보고서에는 모델링 품질에 대한 요점이 있으며 항상 25%입니다. 어떻게 개선할 수 있습니까?

모델링에 대한 기사 읽기

예: https://www.mql5.com/ru/articles/1513

 
ilunga :

모델링에 대한 기사 읽기

예: https://www.mql5.com/ru/articles/1513


오, 또 감사합니다 필요했던 것처럼 감사합니다)
 

지연이 작동했는지 확인하고 티켓을 비교하는 방법은 무엇입니까?

 
DOCTORS :

지연이 작동했는지 확인하고 티켓을 비교하는 방법은 무엇입니까?

OrderSelect를 사용 하여 주문을 선택하고 해당 OrderType을 확인합니다.
 

//+------------------------------------------------------------------+
//| Stas_helper_v01.mq4 |
//| DOC |
//| DR_GAD@mail.ru |
//+------------------------------------------------------------------+
#property copyright "DOC"
#property link "DR_GAD@mail.ru"

//--- input parameters
extern double Stop=15;
extern double Profit=35;
extern double Lots=1;

extern int k=1;
extern int x;
extern int y;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
int i;
//----
ObjectsDeleteAll();

for(i=OrdersTotal()-1; i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if (OrderType() == OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
if (OrderType() == OP_SELLSTOP)
{
OrderDelete(OrderTicket());
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int ticket1,ticket2, total,i;
double price;
string Symb;
//1.выставление отложенных ордеров
Symb=Symbol();

if(k==1)
{
price=NormalizeDouble((Ask-Bid)/2,Digits);

ticket1=OrderSend(Symb,OP_BUYSTOP,Lots,Bid+((Stop*Point))+price,3,Bid+(Ask-Bid)/2,Bid+((Stop*Point))+price+Profit*Point, "Отложенник",1,0,Green);
if(ticket1<0)
{
Print("Ошибка!#",GetLastError());
return(0);
}
ticket2=OrderSend(Symb,OP_SELLSTOP,Lots,Bid-((Stop*Point))+price,3,Ask-(Ask-Bid)/2,Bid-((Stop*Point))+price-Profit*Point, "Отложенник2",2,0,Green);
if(ticket2<0)
{
Print("Ошибка!#",GetLastError());
return(0);
}
k=2;
}
//1.-----------------------------

//2. Если ордер открылся.

if (k==2)

{
OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES);
if (OrderType()==OP_BUY)
{
OrderDelete(ticket2);
k=3;

}
OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES);
if (OrderType()==OP_SELL)
{
OrderDelete(ticket1);
k=3;

}



}


//2----------------------
return(0);
}
//+------------------------------------------------------------------+

왜 다른 하나는 닫히지 않습니까?

 
DOCTORS :


//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{

int ticket1,ticket2, total,i;

왜 다른 하나는 닫히지 않습니까?

이것은 이미 두 번째 틱에 티켓 대신 쓰레기를 저장하는 지역 변수 이기 때문에