참고로 테스터에서 보고싶다면 실물보다 잠시 후 체크를 제거하시면 됩니다. OnInit에 있습니다. 그리고 테스터의 4k에서 현재 시간에 대한 요청이 테스터의 시간을 반환하는지 기억나지 않습니다. 제 생각에는 현재 시간을 반환하므로 테스터에서는 주문이 즉시 거기에 배치됩니다. 또한 현지 시간을 쿼리하면 현재 현지 시간이 반환됩니다.
변경할 수 있도록 도와주세요. 이 Expert Advisor는 미결 주문을 강제로 마감하지 않습니다. 제한을 설정하는 시간과 함께 강제 폐쇄 시간도 설정하는 것이 바람직합니다. 최적화하려면 TP와 트롤이 필요합니다. Thral, 그래서 모든 제한이 약간 있지만 야간 소음을 수집합니다.
안녕하세요. 누가 MT4의 고문에게 도움을 줄 수 있습니까? (마법이 있든 없든) 수동으로 주문한 명령을 수행하려면 종소리와 호루라기가 없는 고문이 필요합니다. 손절매로 주문이 마감되면 EA는 지정된 로트 SL 및 TP와 동일한 방향으로 새 주문을 엽니다. 이익실현으로 주문이 마감되면 EA 는 주어진 로트, SL 및 TP와 반대 방향으로 새로운 주문을 엽니다. 기성품 옵션이있을 수 있지만 아무것도 찾을 수 없습니다. 미리 감사드립니다.
참고로 테스터에서 보고싶다면 실물보다 잠시 후 체크를 제거하시면 됩니다. OnInit에 있습니다. 그리고 테스터의 4k에서 현재 시간에 대한 요청이 테스터의 시간을 반환하는지 기억나지 않습니다. 제 생각에는 현재 시간을 반환하므로 테스터에서는 주문이 즉시 거기에 배치됩니다. 또한 현지 시간을 쿼리하면 현재 현지 시간이 반환됩니다.
이것은 환경의 완전한 에뮬레이터 테스터에서 5k에 있습니다.
설명 감사합니다
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, 그래서 모든 제한이 약간 있지만 야간 소음을 수집합니다.
당신이 좋은 전략을 가지고 있고 그것을 공유할 준비가 되어 있다면, 나는 고문을 쓸 수 있습니다. 공개 토론에 초대합니다
그리고 한계에 대한 확산을 어떻게 제한할 수 있습니까?
그리고 한계에 대한 확산을 어떻게 제한할 수 있습니까?
예를 들어 스프레드가 5p보다 높으면 지연을 설정하지 마십시오. 그러나 이것이 매우 문제가 되는 경우 이 매개변수를 건너뛸 수 있습니다.
이게 무슨 소용이야? 지금은 실행되지 않습니다(이 제한 사항). 그리고 때가 되면 마법은 완전히 달라집니다.
이게 무슨 소용이야? 지금은 실행되지 않습니다(이 제한 사항). 그리고 때가 되면 마법은 완전히 달라집니다.
기본으로 무엇을 취하며 알고리즘이 얼마나 복잡한가.
이동 평균을 기반으로 추세를 결정합니다.