초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 301

 
pako :

구매에

 
PokrovMT5 : 썼습니다. 결과는 동일합니다. 10013, stop과 TP를 제거했지만 도움이되지 않습니다. 반환 제거, 컴파일러는 값( Res.retcode) 으로 맹세합니다.
 MqlTradeRequest Req={ 0 };
MqlTradeCheckResult Check={ 0 }; 
MqlTradeResult Res={ 0 };
ZeroMemory (Req);
ZeroMemory (Check);
ZeroMemory (Res);
   string TradeSmb;
   if (TradeSmb== "" ) TradeSmb= _Symbol ;
   Req.action= TRADE_ACTION_DEAL ;
   Req.symbol=TradeSmb;
   Req.volume= 0.1 ;
   Req.type= ORDER_TYPE_BUY ;
   Req.type_filling= ORDER_FILLING_RETURN ;
   Req.price = sym_ask;
   Req.sl= NormalizeDouble (sym_bid - (StopLoss*sym_point),sym_digits);
   Req.tp= NormalizeDouble (sym_ask + (TakeProfit*sym_point),sym_digits);
   Req.deviation= 3 ;
   Req.comment= "777" ;
if (! OrderSend (Req,Res)|| Res.retcode != TRADE_RETCODE_DONE ) 
     {
       Print ( "Не удалось открыть BAY позицию по " , Symbol ());
     } 

 
PokrovMT5 :

이 스크립트를 scripts 폴더에 놓고 편집기에서 이 스크립트를 열고 컴파일하십시오.

거래소가 열리면 이 스크립트를 차트로 드래그하세요.

파일:
test_buy.mq5  2 kb
 
pako :
그래서 거기에 쓰여있습니다, 마지막 극단
내가 알기 로는 mql5 언어의 표준 기능을 사용하여 ZigZag의 끝에서 두 번째 극점을 찾는 것이 불가능합니까?
 



일부 배수와 정수로 차트에서 척도를 만드는 방법은 무엇입니까? 어떤 패턴을 시각적으로 계산하려고 하거나 계산기 없이 정지를 하려고 할 때 두뇌가 끓습니다.

셀의 차이를 어떻게 계산합니까? 계산기를 근처에 두나요? 아니면 MT5에 비밀 설정이 있습니까?

긴장을 풀지 않도록 스케일이 구체적입니다!

 
mavar :

일부 배수와 정수로 차트에서 척도를 만드는 방법은 무엇입니까? 어떤 패턴을 시각적으로 계산하려고 하거나 계산기 없이 정지를 하려고 할 때 두뇌가 끓습니다.

셀의 차이를 어떻게 계산합니까? 계산기를 근처에 두나요? 아니면 MT5에 비밀 설정이 있습니까?

비밀 설정이 없습니다. 가능한 솔루션은 다섯 가지뿐입니다.

1. 스스로 하세요.

2. 코드베이스에서 무엇을 검색합니다.

3. 작업 순서.

4. 시장에서 사십시오.

5. 터미널에서 µl이 완료될 때까지 기다리십시오.

 
#property 버전 에서 버전 번호를 읽을 수 있는 방법이 있습니까?
 

만세! 오늘 저는 MT5에서 첫 번째 Expert Advisor를 시작했습니다!

시장에 필요한 상황이 왔고 어드바이저가 구매 및 구매 방법을!!! 글쎄, 적어도 나는 그럭저럭 응답할 수 있었다. 코드에서 잘못된 점을 알려주세요. 내 생각에 그는 한 랏만 사서 즉시 중지하고 이익을 취해야 합니다. 그가 무언가를 구입하자마자 Bye_openedtrue 가 되어야 하고 정지에 도달할 때까지 후속 거래를 허용하지 않아야 합니다. 그럼에도 불구 하고 마지막 거래에서 중지하기 위해 마지막 거래의 가격 을 찾는 방법은 무엇입니까?


그런데 제가 뭔가 잘못한 것 같습니다. 제 실수를 지적해주세요.


 //--- Do we have positions opened already?
   bool Buy_opened= false ;   // variable to hold the result of Buy opened position
   bool Sell_opened= false ; // variables to hold the result of Sell opened position

   if ( PositionSelect ( _Symbol )== true ) // we have an opened position
     {
       if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_BUY )
        {
         Buy_opened= true ;   //It is a Buy
        }
       else if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_SELL )
        {
         Sell_opened= true ; // It is a Sell
        }
     }

//+------------------------------------------------------------------+
//|   СОВЕРШАЕМ СДЕЛКУ                                               |
//+------------------------------------------------------------------+
                  
     if (last_tick.last < BBLow[ 2 ] && Buy_opened == false )
        {
         int znak = last_tick.last - BBLow[ 2 ];

       //--- 1. Создать запрос
         
         MqlTradeRequest Trade_reqst={ 0 };             // Инициализация структуры торгового запроса
         Trade_reqst.action= TRADE_ACTION_DEAL ;       // Тип: немедленное совершение сделки
         Trade_reqst.symbol= _Symbol ;                 // Инструмент: текущий
         Trade_reqst.volume=Lot;                     // Объём: 1 лот
         Trade_reqst.price= SymbolInfoDouble ( _Symbol , SYMBOL_ASK )-TakeProfit* _Point ; // Цена исполнения
         Trade_reqst.type= ORDER_TYPE_BUY ;             // Тип ордера: на продажу
         Trade_reqst.type_filling= ORDER_FILLING_RETURN ; // Политика исполнения 
         Trade_reqst.sl=last_tick.last - StopLoss * _Point ;   // Stop Loss
         Trade_reqst.tp= SymbolInfoDouble ( _Symbol , SYMBOL_ASK ) + TakeProfit * _Point ; // Take Profit
       // Trade_reqst.tp=Trade_reqst.price + TakeProfit * 2 * _Point; // Take Profit
       //--- 2. Отправить торговый приказ
         MqlTradeResult Trade_reslt={ 0 };             // Инициализация структуры результата торгового запроса
         OrderSend (Trade_reqst,Trade_reslt);         // Отправка торгового запроса на сервер
   //--- выведем в лог ответ сервера  
   //Print(__FUNCTION__," - : - ",Trade_reslt.comment);
   if (Trade_reslt.retcode== 10016 ) Print ( "Ответ: " ,Trade_reslt.bid,Trade_reslt.ask,Trade_reslt.price);
 
전략 테스터에서 명령 MarketInfo(Symbol(),MODE_TICKVALUE) = 0 (!) 이것은 예를 들어 상품이 EURUSD이고 잔액 통화가 RUR ....인 상황 및 기타 조합에서 발생합니다. 잔액 통화는 통화 쌍의 두 번째 통화 이름과 일치해야 함을 이해했습니다. 그렇지 않으면 명령이 ZERO 값을 제공합니다(전략 테스터에서).결과적으로 원하는 조합으로 테스트할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?
 

MT4 737은 보기로 결정했습니다.

MetaQuotes-Demo에는 역사가 있고 얼마나 오래 되었습니까?

D1은 5월 72일부터 좋은 옛날, 그리고 주 - 95에서, 월 - 93, 일반적으로 12에서 시간과 같습니다.

사유: