변경할 수 있도록 도와주세요. 이 Expert Advisor는 미결 주문을 강제로 마감하지 않습니다. 제한 설정 시간과 함께 강제 폐쇄 시간도 설정하는 것이 바람직합니다. 최적화하려면 TP와 트롤이 필요합니다. Thral, 그래서 모든 제한이 약간 있지만 야간 소음을 수집합니다.
거래 로봇 고문 작성을 도와주세요. 첫 번째 로트 구매 0.01 이하. 그가 2점을 가져갔다가 닫았다가 다시 0.01점을 2점 사십시오. 그렇지 않은 경우 로트는 항상 2배가 되며 반대로 포인트당 거래 규칙에 따라 2포인트 또는 3포인트에 0.02를 매도하고 마감합니다. 그가 그것을 취하지 않으면 매수는 0.04이고 청산되고, 그가 매수하지 않으면 0.08이 되는 식으로 최대 8번, 즉 최대 0.128랏입니다. 그리고 우리는 항상 방향을 바꿉니다. 를 취했다면 다시 0.01. ***
불행히도 이전 것은 적합하지 않았습니다. 휴식 을 취하다 코드베이스, 거의 필요한 것을 찾았습니다.
https://www.mql5.com/ru/code/10236
//+------------------------------------------------------------------+
//| i`lbeback.mq4 |
//| Copyright ? 2011, AM2 && Tiburond |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2011, AM2 && Tiburond"
#property link " http://www.forexsystems.biz "
#define MAGIC 20110406
extern int StopLoss = 1300 ; //???????? ??????
extern int StartHour = 21 ; //??? ?????? ????????(???????????? ?????)
extern int Distance = 250 ; //?????????? ?? ???? ??? ????????? ??????
extern int Step = 50 ; //??? ????????? ???????
extern int Count = 4 ; //?????????? ??????????????? ???????
extern int Expiration = 4 ; //????? ????????? ??????
extern double Lots = 1 ; //???
extern bool MM = true ; //?????????? ???????????????
extern double TSP = 5 ; //????
extern bool BU = true ; //?????????? ?????? ??????? ? ????????? ? ??????? ???
extern int BUHour = 2 ; //??? ????? ??????? ??????? ??????? ? ?????????
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int b= 0 ,s= 0 ,res;
datetime expiration = TimeCurrent ()+ 3600 *Expiration;
double BuyPrice=fND(Open[ 0 ]-Distance* Point );
double SellPrice=fND(Open[ 0 ]+Distance* Point );
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
if ( OrderSelect (i, SELECT_BY_POS))
{
if (OrderSymbol()!= Symbol () || OrderMagicNumber()!=MAGIC) continue ;
if (OrderType()==OP_BUYLIMIT) b++;
if (OrderType()==OP_SELLLIMIT) s++;
}
}
if (Hour()>BUHour && Hour()<StartHour && AllProfit()> 0 ) ClosePositions();
if (Hour()>BUHour && DayOfWeek() == 5 ) ClosePositions();
if (Hour()==StartHour && b< 1 && DayOfWeek() != 5 )
for (i= 1 ;i<=Count;i++)
{
{
res= OrderSend ( Symbol (),OP_BUYLIMIT,fLots(),fND(Ask-(Distance* Point +i*Step* Point )), 3 ,fND(BuyPrice-StopLoss* Point ),fND(Open[ 0 ]), "" ,MAGIC,expiration,Blue);
Sleep ( 3000 );
if (res< 0 )
{
Print ( "??????: " , GetLastError ());
} else {
RefreshRates();
}
}
}
if (Hour()==StartHour && s< 1 && DayOfWeek() != 5 )
for (i= 1 ;i<=Count;i++)
{
{
res= OrderSend ( Symbol (),OP_SELLLIMIT,fLots(),fND(Bid+(Distance* Point +i*Step* Point )), 3 ,fND(SellPrice+StopLoss* Point ),fND(Open[ 0 ]), "" ,MAGIC,expiration,Red );
Sleep ( 3000 );
if (res< 0 )
{
Print ( "??????: " , GetLastError ());
} else {
RefreshRates();
}
}
}
//----
return ( 0 );
}
//+------------------------------------------------------------------+
double fND( double d, int n=- 1 )
{
if (n< 0 ) return ( NormalizeDouble (d, Digits ));
return ( NormalizeDouble (d, n));
}
//+------------------------------------------------------------------+
double fLots()
{
double lot=Lots;
double lot_min =MarketInfo( Symbol (), MODE_MINLOT );
double lot_max =MarketInfo( Symbol (), MODE_MAXLOT );
if (MM)
{
double lot_step =MarketInfo( Symbol (), MODE_LOTSTEP );
double lotcost =MarketInfo( Symbol (), MODE_TICKVALUE );
double dollarsPerPip= 0.0 ;
lot = AccountFreeMargin()*TSP/ 100.0 ;
dollarsPerPip=lot/StopLoss;
lot=fND(dollarsPerPip/lotcost, 2 );
lot=fND(lot/lot_step, 0 ) * lot_step;
}
if (lot<lot_min) lot=lot_min;
if (lot>lot_max) lot=lot_max;
return (lot);
}
//+------------------------------------------------------------------+
void ClosePositions()
{
if (BU)
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol ())
{
if (OrderSymbol() == Symbol () && OrderMagicNumber() == MAGIC)
{
if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3 , Blue);
if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3 , Red);
}
Sleep ( 1000 );
}
}
}
//+------------------------------------------------------------------+
double AllProfit()
{
double Profit = 0 ;
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol () || OrderMagicNumber() != MAGIC) continue ;
if (OrderSymbol() == Symbol () && OrderMagicNumber() == MAGIC)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) Profit += OrderProfit();
}
return (Profit);
}
//+------------------------------------------------------------------+
변경할 수 있도록 도와주세요. 이 Expert Advisor는 미결 주문을 강제로 마감하지 않습니다. 제한 설정 시간과 함께 강제 폐쇄 시간도 설정하는 것이 바람직합니다.
최적화하려면 TP와 트롤이 필요합니다. Thral, 그래서 모든 제한이 약간 있지만 야간 소음을 수집합니다.
시간별 주문 제거, 중지 및 추적을 도입했습니다( https://www.mql5.com/ru/code/32662 참조, 설명 있음).
아이디를 찾는 방법
포럼에서 토론 없이 유료로 고문을 작성합니까?
그들은 프리랜스 서비스에서 유료로 글을 씁니다. 링크를 따라 참조 자료를 읽으십시오.
안녕하세요, 도와주세요.
스크린샷과 같이 차트에서 상황을 검색하고 표시할 고문이 필요합니다.
계산은 일반적인 포물선 SAR과 일반적인 채널을 사용합니다. 선형 회귀 .
원하는 형성.
나는 매우 감사하게 될 것입니다. 입력을 공유할 수 있습니다.
나는 매우 감사하게 될 것입니다. 입력을 공유할 수 있습니다.
왜 ParabolicSAR을 그렇게 조롱합니까? 이미 훌륭하고 입력 및 출력을 보여줍니다.