단순화하면 알고리즘은 다음과 같습니다. 주문이 없으면 매수를 열고 각 틱에서 매도를 엽니다.
추가 조건 없이 작동하도록 코드를 변경하는 방법은 무엇입니까?
Alert (Sborinfo(Magic)); // Closse(Magic); if (Sborinfo(Magic)== 0 ) { Print ( "количество ордеров " ,Sborinfo(Magic)); MassivPrice(step); if ( OrdersTotal ()< 2 ) // без таких условий tiket= OrderSend ( Symbol (), OP_BUY , 0.01 , Ask ,slippage, 0 , 0 , NULL , 0 , 0 ,Green); if (tiket>= 0 ) LastPrice= Ask ; }
MassivPrice(step); if ( OrdersTotal ()< 2 ) // без таких условий tiket= OrderSend ( Symbol (), OP_SELL , 0.01 , Bid ,slippage, 0 , 0 , NULL , 0 , 0 ,Red); if (tiket>= 0 ) LastPrice= Bid ;
} //+------------------------------------------------------------------+ int Sborinfo( int magic) { kol= 0 ; for ( int i= 0 ; i< OrdersTotal (); i++) { Print ( " чему ровно кол " , kol ); if ( OrderSelect (i, SELECT_BY_POS ) && OrderMagicNumber ()==magic) { Print ( " ордера после " , kol );
MT4 Better Volume도 테스터에서 부족하다
왜 매 틱마다 열리는지 알려주실 수 있나요?
{
Alert (Sborinfo(Magic));
if (Sborinfo(Magic)<= 0 )
{
MassivPrice(step);
tiket= OrderSend ( Symbol (), OP_BUY , 0.01 , Ask , 0 , 0 , 0 , NULL , 0 , 0 ,Blue);
if (tiket>= 0 )
LastPrice= Ask ;
else LastPrice=- 1 ;
}
MassivPrice(step);
tiket= OrderSend ( Symbol (), OP_SELL , 0.01 , Bid , 0 , 0 , 0 , NULL , 0 , 0 ,Red);
if (tiket>= 0 )
LastPrice= Bid ;
else LastPrice=- 1 ;
}
//+------------------------------------------------------------------+
int Sborinfo( int magic)
{
for ( int i= 0 ; i< OrdersTotal (); i++)
{
Print ( "колличество ордеров " ,kol);
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderMagicNumber ()==magic)
kol++;
}
Print ( "новые ордера " ,kol);
return (kol);
}
왜 매 틱마다 열리는지 알려주세요.
항상 이 모드에서 테스트했기 때문에
{
Alert (Sborinfo(Magic));
if (Sborinfo(Magic)<= 0 )
{
MassivPrice(step);
tiket= OrderSend ( Symbol (), OP_BUY , 0.01 , Ask , 0 , 0 , 0 , NULL , 0 , 0 ,Blue);
if (tiket>= 0 )
LastPrice= Ask ;
else LastPrice=- 1 ;
}
MassivPrice(step);
tiket= OrderSend ( Symbol (), OP_SELL , 0.01 , Bid , 0 , 0 , 0 , NULL , 0 , 0 ,Red);
if (tiket>= 0 )
LastPrice= Bid ;
else LastPrice=- 1 ;
}
//+------------------------------------------------------------------+
int Sborinfo( int magic)
{
for ( int i= 0 ; i< OrdersTotal (); i++)
{
Print ( "колличество ордеров " ,kol);
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderMagicNumber ()==magic)
kol++;
}
Print ( "новые ордера " ,kol);
return (kol);
}
왜 매 틱마다 열리는지 알려주실 수 있나요?
코드가 그렇게 작성되었기 때문입니다.
단순화하면 알고리즘은 다음과 같습니다. 주문이 없으면 매수를 열고 각 틱에서 매도를 엽니다.
코드가 그렇게 작성되었기 때문입니다.
단순화하면 알고리즘은 다음과 같습니다. 주문이 없으면 매수를 열고 각 틱에서 매도를 엽니다.
// Closse(Magic);
if (Sborinfo(Magic)== 0 )
{
Print ( "количество ордеров " ,Sborinfo(Magic));
MassivPrice(step);
if ( OrdersTotal ()< 2 ) // без таких условий
tiket= OrderSend ( Symbol (), OP_BUY , 0.01 , Ask ,slippage, 0 , 0 , NULL , 0 , 0 ,Green);
if (tiket>= 0 )
LastPrice= Ask ;
}
MassivPrice(step);
if ( OrdersTotal ()< 2 ) // без таких условий
tiket= OrderSend ( Symbol (), OP_SELL , 0.01 , Bid ,slippage, 0 , 0 , NULL , 0 , 0 ,Red);
if (tiket>= 0 )
LastPrice= Bid ;
}
//+------------------------------------------------------------------+
int Sborinfo( int magic)
{
kol= 0 ;
for ( int i= 0 ; i< OrdersTotal (); i++)
{
Print ( " чему ровно кол " , kol );
if ( OrderSelect (i, SELECT_BY_POS ) && OrderMagicNumber ()==magic)
{
Print ( " ордера после " , kol );
// kol++;
}
}
return (kol);
}
추가 조건 없이 작동하도록 코드를 변경하는 방법은 무엇입니까?
그러나 방법이 없습니다. 사고 팔고 심지어 그 수를 제한해야 하는 경우. 그러나 나는 OrdersTotal ()을 보지 않고 현재 시장에 얼마나 많은 구매와 판매가 있는지 계산할 것입니다.
그리고 다시, OrdersTotal ()을 사용한다면 이 " if (Sborinfo(Magic)== 0 )" 이 왜 필요한가요 ???
그러나 방법이 없습니다. 사고 팔고 심지어 그 수를 제한해야 하는 경우. 그러나 나는 OrdersTotal ()을 보지 않고 현재 시장에 얼마나 많은 구매와 판매가 있는지 계산할 것입니다.
그리고 다시, OrdersTotal ()을 사용한다면 이 " if (Sborinfo(Magic)== 0 )" 이 왜 필요한가요 ???
CloseFirst(Magic);
int b= 0 ;
int s= 0 ;
for ( int i= 0 ; i<= OrdersTotal (); i++)
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== true && OrderMagicNumber ()==Magic && OrderSymbol ()== _Symbol )
{
if ( OrderType ()== OP_BUY )
b++;
if ( OrderType ()== OP_SELL )
s++;
}
if (b== 0 )
tiket= OrderSend ( Symbol (), OP_BUY , 0.01 , Ask ,slippage, 0 , 0 , NULL ,Magic, 0 ,Green);
if (s== 0 )
tiket= OrderSend ( Symbol (), OP_SELL , 0.01 , Bid ,slippage, 0 , 0 , NULL ,Magic, 0 ,Red);
}
동지! 질문이 있습니다.
Expert Advisor는 전날의 극한 상황에 따라 00:00에 하루의 시작부터 지연을 엽니다.
평일에는 모든 것이 잘 작동하지만 월요일이 열리면서 금요일의 극단이 아니라 어떤 이유로 목요일 수준에서 지연이 발생합니다. 어때요?
currtime= TimeToStr ( TimeCurrent (), TIME_MINUTES );
Format= Digits ();
DH= NormalizeDouble ( iHigh ( NULL , PERIOD_D1 , 1 ),Format) ;
DL= NormalizeDouble ( iLow ( NULL , PERIOD_D1 , 1 ),Format);
if (currtime==OpenTime)
{
отложки
}
이런 뜻인가요? 다른 더 쉬운 옵션이 있습니까?
예, 그런 것입니다. 어디가 더 쉽나요?
예, 그런 것입니다. 어디가 더 쉽나요?