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

 
Mopo3 :

글쎄, 네, 그것은 "재료 배우기"라고합니다. 언어 :)


글쎄, 나는 그 원칙이 1 분의 반이 있다는 사실에 근거한 것을 기억합니다. 그런 다음 20분 동안 기간을 보려면 어떻게 해야 할까요? 데이터는 1분 동안 20개의 막대에 대해서만 가져옵니다....

의미는 ... 그렇다면 나는 이것에 대해 신경 쓰지 않았습니다 ...))

 

사람들! MA 트렌드 변화를 봐, 누군가 도와줄 수 있니? https://www.mql5.com/ru/forum/131277/page159

 
어렵지 않다면 머레이가 거짓말을 하지 않도록 어떤 기간을 설정해야 하는지 또는 각 TF마다 자체 기간을 설정해야 하는지 알려주십시오. 당신의 경우, 무엇
 

안녕하세요!!!!!

오류가 어디 있는지 알려주세요 ...... 컴파일시 오류는 없지만 오류 eSvechi + MA AUDUSD, H1: OrderSend error 131 이 테스터 로그에서 거래되지 않지만 무엇인지 이해하지 못합니다.

 //+------------------------------------------------------------------+
//|                                                   eSvechi+MA.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"


//---- input parameters
extern int        MA= 13 ;
extern double     Lots= 0.01 ;
extern int        StopLoss= 100 ;
extern int        TakeProfit= 100 ;
extern int        MagicNumber= 501 ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
  
bool CheckOrders( int Type)
{
 bool Result=True;
 for ( int i= 0 ;i< OrdersTotal ();i++)
   if ( OrderSelect (i,SELECT_BY_POS))
   if (OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol ())
       if (OrderType()==Type)
        {
         if (Type==OP_BUY)
           if (!OrderClose(OrderTicket(),OrderLots(),Bid, 0 ))
             Result=False;
         if (Type==OP_SELL)
           if (!OrderClose(OrderTicket(),OrderLots(),Ask, 0 ))
             Result=False;
         } 
         else Result=False;
 return (Result); 
}

// Проверяем наличие закрытой на текущей свече позиции типа Type. Если есть, то возвращает False  
bool CheckExists( int Type)  
{
 bool Result=True;
 for ( int i=OrdersHistoryTotal()- 1 ; i>= 0 ;i--)
   if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY))
   if (OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol () && OrderCloseTime() >= Time[ 0 ] && OrderType() == Type)
    {
     Result=False;
     break ;
     }
 return (Result); 
 }
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {

         // Узнаем уровень стопов и спрэд
     int Spread = MarketInfo( Symbol (), MODE_SPREAD);
     int StopLevel = MarketInfo( Symbol (), MODE_STOPLEVEL);

         //Рассчитываем значения средних на 0-ом и 1-м баре
     double MA_0 = iMA ( NULL , 0 , MA, 0 , 1 , 1 , 0 );    
     double MA_1 = iMA ( NULL , 0 , MA, 0 , 1 , 1 , 1 );
    
 //-------------открытие позиции Buy покупка-----------------
 //сравниваем на 1-м баре цену закр. и откр. между собой и с МА, на 0-м баре откр. меньше МА закр. больше МА
     if (
       (Open[ 0 + 1 ]<Close[ 0 + 1 ])&& 
       (Close[ 0 + 1 ]<MA_1)&&
       (Open[ 0 ]<MA_0)&&
       (Close[ 0 ]>MA_0)
      )
     if (CheckOrders(OP_SELL) && CheckExists(OP_BUY))
      {
       if (StopLoss <= StopLevel+Spread)
         double SL = 0 ;
         else
         SL = Ask - StopLoss* Point ;
       if (TakeProfit <= StopLevel-Spread)
         double TP = 0 ;
         else
         TP = Ask + TakeProfit* Point ;
       if (! OrderSend ( Symbol (), OP_BUY, Lots, Ask, 10 , SL, TP, NULL , MagicNumber))
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ()); 
       }
     //-------------------Конец блока покупки -------------------
     //-------------Открытие позиции Sell продажа----------------   
     if (
       (Open[ 0 + 1 ]>Close[ 0 + 1 ])&& 
       (Close[ 0 + 1 ]>MA_1)&&
       (Open[ 0 ]>MA_0)&&
       (Close[ 0 ]<MA_0)
      )
     if (CheckOrders(OP_BUY) && CheckExists(OP_SELL))
      {
       if (StopLoss <= StopLevel+Spread)
         SL = 0 ;
         else
         SL = Bid + StopLoss* Point ;
       if (TakeProfit <= StopLevel-Spread)
         TP = 0 ;
         else
         TP = Bid - TakeProfit* Point ;
       if (! OrderSend ( Symbol (), OP_SELL, Lots, Bid, 10 , SL, TP, NULL , MagicNumber))
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ()); 
       }
//-----------------конец блока продажи ----------------------
   return ( 0 );
  }
//+------------------------------------------------------------------+

ERR_INVALID_TRADE_VOLUME 131 볼륨이 잘못되었습니다. 볼륨 세분화 오류입니다. 모든 거래 시도를 중지하고 프로그램의 논리를 변경해야 합니다.

논리가 맞는듯 합니다.

 
igrok2008 :

안녕하세요!!!!!

오류가 어디 있는지 알려주세요 ...... 컴파일시 오류는 없지만 오류 eSvechi + MA AUDUSD, H1: OrderSend error 131이 테스터 로그에서 거래되지 않지만 무엇인지 이해하지 못합니다.

ERR_INVALID_TRADE_VOLUME 131 볼륨이 잘못되었습니다. 볼륨 세분화 오류입니다. 모든 거래 시도를 중지하고 프로그램의 논리를 변경해야 합니다.

논리가 맞는듯 합니다.


제비는 최소한 (+는 배수인 것 같습니다) MarketInfo( Symbol() , MODE_MINLOT);

많은 거래 프로그램의 경우 0.1이며 비용이 10배 적습니다.

 
ilunga :


랏은 적어도 (+는 배수인 것 같습니다) MarketInfo(Symbol(), MODE_MINLOT);

많은 거래 프로그램의 경우 0.1이며 비용이 10배 적습니다.

그리고 모든 것!!!! 이게 핵심!!!!!!!!! ........... 음, 5-10달러의 작은 창고는 어떻습니까????????
 
ilunga :


랏은 적어도 (+는 배수인 것 같습니다) MarketInfo(Symbol(), MODE_MINLOT);

많은 거래 프로그램의 경우 0.1이며 비용이 10배 적습니다.

로트를 0.1로 변경했지만 여전히 거래되지 않습니다
 
igrok2008 :
로트를 0.1로 변경했지만 여전히 거래되지 않습니다


InterBank에서 출시되어 모든 것이 0.01에서도 작동합니다.

Alpari는 0.01에서 오류 131 을 제공하고 0.1에서 작동합니다.

 
ilunga :


InterBank에서 출시되어 모든 것이 0.01에서도 작동합니다.

Alpari는 0.01에서 오류 131을 제공하고 0.1에서 작동합니다.

데모 계정 의 Alpari이며 테스트 중입니다 거래하지 않습니다!!!!! MT4 터미널 빌드 229.......말해줘!!!!!!
 
igrok2008 :

안녕하세요!!!!!

오류가 어디 있는지 알려주세요 ...... 컴파일시 오류는 없지만 오류 eSvechi + MA AUDUSD, H1: OrderSend error 131이 테스터 로그에서 거래되지 않지만 무엇인지 이해하지 못합니다.

ERR_INVALID_TRADE_VOLUME 131 볼륨이 잘못되었습니다. 볼륨 세분화 오류입니다. 모든 거래 시도를 중지하고 프로그램의 논리를 변경해야 합니다.

논리가 맞는듯 합니다.

NormalizeDouble 기능 을 사용하여 손절매를 정상화하고 가격을 취하고 공개해야 합니다.
사유: