초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 190

 
gyulnara.kosareva :
안녕하세요. 이 EA의 ex 파일만 있으면 mql4 파일 없이 EA를 설치할 수 있습니까?

네, 업무에 필요한 .ex 파일입니다.

 
안녕 모두.
Android에서는 MT4 애플리케이션 버전 400.1129가 설치되어 2019년 10월 29일까지 애플리케이션이 시계처럼 작동했습니다. 금요일에 휴대전화에서 앱을 열기 시작했고 화면 보호기가 깜박이고 새 데모 계정을 만들고 있으며 애플리케이션이 즉시 종료되었습니다. 그리고 결국 바탕화면에 올랐습니다. 다음 수십 번의 시도는 같은 결과로 끝났습니다. 터미널을 철거하고 플레이 마켓에서 새 것으로 다운로드하여 설치하고 동일한 결과를 실행했습니다. 응용 프로그램이 충돌했습니다. 나는 시장에서 "robo forex MT4"를 다운로드하여 설치하고 실행했습니다. 시계처럼 작동합니다. MT5 마켓에서 버전 500.1780을 다운로드하여 설치하고 실행하고 데모 계정을 열면 모든 것이 잘 작동합니다.
MT4가 내 휴대폰에서 다시 작동하도록 하려면 어떻게 해야 하는지 알려주세요! 제발.
 

좋은 오후에요 여러분! 무슨 일인지 말해주세요? 시장의 테스터가 재인용에 대해 불평합니다. - NEW_ORDER(): lot=0.20; POSITION_TYPE_BUY (EURUSD); 오류: 4756/ 거래 요청을 보내지 못했습니다 . retcode : 10004/ 인용 ;

이 오류 및 해결 방법에 대한 자세한 내용은 어디에서 읽을 수 있습니까?

 
Nikolai Konstantinov :

좋은 오후에요 여러분! 무슨 일인지 말해주세요? 시장의 테스터가 재인용에 대해 불평합니다. - NEW_ORDER(): lot=0.20; POSITION_TYPE_BUY (EURUSD); 오류: 4756/ 거래 요청을 보내지 못했습니다 . retcode : 10004/ 인용 ;

이 오류 및 해결 방법에 대한 자세한 내용은 어디에서 읽을 수 있습니까?


이것은 실수가 아니라 시장 상황입니다.
1. 실행을 위해 거래를 제출하기 전에 가격을 업데이트하십시오.
2. 수리 후 다시 열기 시도
3. 미끄러짐 증가
 
Vladislav Andruschenko :

이것은 실수가 아니라 시장 상황입니다.
1. 실행을 위해 거래를 제출하기 전에 가격을 업데이트하십시오.
2. 수리 후 다시 열기 시도
3. 미끄러짐 증가

감사합니다. 하지만 귀하가 작성한 모든 내용은 이미 고려되었습니다. 아마도 다른 것이 있습니까?

 

여기요! 도와주세요, 제발!

명백한 이유 없이 MT4가 멈추기 시작했습니다. 그리고 다른 DC의 모든 것.

터미널이 시작될 때 멈춥니다 . 디스패처에는 자신의 앞에 '무응답'이라고 적었다. 아무 반응도 하지 않음, MT 패널의 Down; 연결이 없음을 나타냅니다.

터미널 다시 시작, 다른 브로커에서 변경, 삭제 및 재설치, Clean 프로그램을 사용한 데이터 정리, 컴퓨터를 껐다가 켜도 작동하지 않았습니다.

OS를 다시 설치하는 것이 남아 있지만 너무 꺼려집니다.

어쩌면 누군가가 이것을 가지고 있었습니까?

누가 할 수 있는지 알려주세요.

 
odyn :

OS를 다시 설치하는 것이 남아 있지만 너무 꺼려집니다.

옵션으로 가상머신 에 OS와 터미널을 설치하고, Oracle VM VirtualBox를 문제 없이 설치했는데, MT4/MT5가 거기에서 작동합니다.

그런 다음 OS 인 경우 다시 설치하십시오.


직접 확인해보니 MT4와 MT5 모두 문제 없이 작동합니다. Win10 - 64

 
odyn :

여기요! 도와주세요, 제발!

명백한 이유 없이 MT4가 멈추기 시작했습니다. 그리고 다른 DC의 모든 것.

터미널이 시작될 때 멈춥니다 . Dispatcher에서 그는 맞은편에 "응답하지 않습니다"라고 적습니다. 아무 반응도 하지 않음, MT 패널의 Down; 연결이 없음을 나타냅니다.

터미널 다시 시작, 다른 브로커에서 변경, 삭제 및 재설치, Clean 프로그램을 사용한 데이터 정리, 컴퓨터를 껐다가 켜도 작동하지 않았습니다.

OS를 다시 설치하는 것이 남아 있지만 너무 꺼려집니다.

어쩌면 누군가가 이것을 가지고 있었습니까?

누가 할 수 있는지 알려주세요.

Internet Explorer가 문제의 원인일 수 있습니다.

상황에 따라 - 업데이트되거나 롤백되어야 합니다 :-) 그리고 어떤 경우에도 추가 기능, 플러그인 및 확장이 허용되어서는 안 됩니다.

저자는 시장/시그널/뉴스/채팅을 표시하기 위한 익스플로러 구성 요소 규칙을 결정했지만 익스플로러 자체는 영원한 베타입니다. 그리고 그의 문제는 터미널을 "방해"합니다.

 

좋은 하루 되세요.

코드에서 조건을 변경할 수 있습니다: "전문가 고문은 마지막 포지션의 마감에 따라 포지션을 엽니다. 포지션이 없다면 마지막 캔들의 방향에 따라" 2개의 보류 주문 을 할 가능성에 대해 현재 가격과 일정 거리가 있고 주문 2 중 하나가 실행되면 제거되었습니다 . 나머지 알고리즘은 변경되지 않은 상태로 유지됩니다.

직접 수정했지만 작동 버전을 얻을 수 없었습니다.

 #property description "Советник открывает позицию в зависимости от закрытия прошлой позиции. Если позиции не было то в зависимости от направления прошлой свечи"
#property description "При достижение Т/P следующий ордер открывается в эту же сторону"
#property description "При достижение S/L следующий открывается в противоположную сторону"
//+------------------------------------------------------------------
#property show_inputs
//+------------------------------------------------------------------
enum TT {BUY, SELL, BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP};
enum YN {No,Yes};
//+------------------------------------------------------------------
extern TT     Type         = BUY;
extern double Price        = 0 ; 
extern int     Distance     = 0 ;
extern int     stoploss     = 300 ,
              takeprofit   = 300 ;
extern double risk         = 0.01 ; //процент от депозита для рассчета объема первой позиции
extern double KoeffMartin  = 2.0 ;
extern int     OkrLOT       = 2 ; //округление лота
extern int     slippage     = 3 ; //Максимально допустимое отклонение цены для рыночных ордеров
extern int     MagicNumb    = 77 ; //Magic

double MINLOT,MAXLOT;                                  
//+------------------------------------------------------------------+
int OnInit ()
{
   MAXLOT = MarketInfo( Symbol (),MODE_MAXLOT);
   MINLOT = MarketInfo( Symbol (),MODE_MINLOT);
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
void OnTick ()
{
   double OSL,OTP,OOP,SL,TP;
   int tip;
   double STOPLEVEL=MarketInfo( Symbol (),MODE_STOPLEVEL);
   for ( int i= 0 ; i
   {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumb)
         {
            tip = OrderType(); 
            OSL = NormalizeDouble (OrderStopLoss(), Digits );
            OTP = NormalizeDouble (OrderTakeProfit(), Digits );
            OOP = NormalizeDouble (OrderOpenPrice(), Digits );
            SL=OSL;TP=OTP;
             if (tip==OP_BUY)             
            {  
               if (OSL== 0 && stoploss>=STOPLEVEL && stoploss!= 0 )
               {
                  SL = NormalizeDouble (OOP - stoploss   * Point , Digits );
               } 
               if (OTP== 0 && takeprofit>=STOPLEVEL && takeprofit!= 0 )
               {
                  TP = NormalizeDouble (OOP + takeprofit * Point , Digits );
               } 
               if (SL != OSL || TP != OTP)
               {  
                   if (!OrderModify(OrderTicket(),OOP,SL,TP, 0 ,White)) Print ( "Error OrderModify <<" , GetLastError (), ">> " );
               }
            }                                         
             if (tip==OP_SELL)        
            {
               if (OSL== 0 && stoploss>=STOPLEVEL && stoploss!= 0 )
               {
                  SL = NormalizeDouble (OOP + stoploss   * Point , Digits );
               }
               if (OTP== 0 && takeprofit>=STOPLEVEL && takeprofit!= 0 )
               {
                  TP = NormalizeDouble (OOP - takeprofit * Point , Digits );
               }
               if (SL != OSL || TP != OTP)
               {  
                   if (!OrderModify(OrderTicket(),OOP,SL,TP, 0 ,White)) Print ( "Error OrderModify <<" , GetLastError (), ">> " );
               }
            } 
             return ;
         }
      }
   }
   tip=- 1 ;
   double Lot= 0 ;
    for (i=OrdersHistoryTotal()- 1 ; i>= 0 ; i--)
   {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY))
      {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumb)
         {
             if (OrderProfit()< 0 ) 
            {
               Lot=lot(OrderLots(),KoeffMartin);
               tip=OrderType();
            }
             else 
            {
               Lot=lot( 0 , 1 );
               if (OrderType()==OP_BUY)  tip=OP_SELL;
               if (OrderType()==OP_SELL) tip=OP_BUY;
            }
             break ;
         }
      }
   }

   if (tip==- 1 )
   {
      Lot=lot( 0 , 1 );
       if (Open[ 1 ]>Close[ 1 ]) tip=OP_BUY;
       else tip=OP_SELL;
   }
   if (tip==OP_BUY) if ( OrderSend ( Symbol (),OP_SELL,Lot, NormalizeDouble (Bi  d, Digits ),slippage, 0 , 0 , NULL ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Sell" );
   if (tip==OP_SELL) if ( OrderSend ( Symbol (),OP_BUY ,Lot, NormalizeDouble (Ask, Digits ),slippage, 0 , 0 , NULL   ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Buy" );                               
}
//--------------------------------------------------------------------

double lot( double l, double k)

{

   double ML = AccountFreeMargin()/MarketInfo( Symbol (),MODE_MARGINREQUIRED);

   if (k== 1 ) l = ML*risk/ 100 ;
   else l = NormalizeDouble (l*k,OkrLOT);
   if (l>ML) l = ML;
   if (l>MAXLOT) l = MAXLOT;
   if (l
   return (l);
}
//-----------------------------------------------------------------
            {
               Lot=lot( 0 , 1 );
               if (OrderType()==OP_BUY)  tip=OP_SELL;
               if (OrderType()==OP_SELL) tip=OP_BUY;
            }
             break ;
         }
      }
   }

   if (tip==- 1 )
   {
      Lot=lot( 0 , 1 );
       if (Open[ 1 ]>Close[ 1 ]) tip=OP_BUY;
       else tip=OP_SELL;
   }
   
   if (tip==OP_BUY) if ( OrderSend ( Symbol (),OP_SELL,Lot, NormalizeDouble (Bi  d, Digits ),slippage, 0 , 0 , NULL ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Sell" );
   if (tip==OP_SELL) if ( OrderSend ( Symbol (),OP_BUY ,Lot, NormalizeDouble (Ask, Digits ),slippage, 0 , 0 , NULL   ,MagicNumb,Blue)!=- 1 ) Comment ( "Open Buy" );                                 
}
//--------------------------------------------------------------------
double lot( double l, double k)
{
   double ML = AccountFreeMargin()/MarketInfo( Symbol (),MODE_MARGINREQUIRED);
   if (k== 1 ) l = ML*risk/ 100 ;
   else l = NormalizeDouble (l*k,OkrLOT);
   if (l>ML) l = ML;
   if (l>MAXLOT) l = MAXLOT;
   if (l
   return (l);
}
//-----------------------------------------------------------------
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
파일:
SSSR_v.1.mq4  11 kb
 
내 마지막 게시물을 다시 표현해 보겠습니다.

//-------------------------------
알고리즘에 따르면 어드바이저는 이전 포지션의 청산에 따라 포지션을 오픈합니다.
위치가 없으면 마지막 촛불의 방향에 따라 다릅니다.

이 알고리즘은 다음으로 대체되어야 합니다.

구입:

설정에 지정된 가격으로 2개의 보류 중인 BuyStop 주문을 설정하고 설정에 지정된 가격으로 SellStop을 배치합니다.
가격이 스탑 오더 중 하나에 도달하는 즉시 TP 및 SL이 있는 시장 위치로 이동합니다. 작동하지 않은 주문은 삭제됩니다.

나머지 알고리즘은 변경되지 않은 상태로 유지됩니다. 즉: "T/P에 도달하면 같은 방향으로 다음 주문이 열립니다"
"S/L에 도달하면 다음은 반대 방향으로 열립니다."
//------------------------------------------------ ---
사유: