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

 
zfs :
평균 이기는 거래는 슬리피지를 커버하지 못하고 수익성이 작으며 적합할 수도 있습니다.

나는 전문가를 직접 썼다. 정지 손실이 없습니다.

 
PetrovichV :

나는 전문가를 직접 썼다. 정지 손실이 없습니다.

더 심합니다.)
 
zfs :
더 심합니다.)
고맙습니다.
 

솔루션이 발견되었으므로 아마도 내 자신의 질문 에 답할 것입니다. 누가 Google을 사용할지 결코 알 수 없습니다 ...

문제는 기록에서 마지막 주문의 시작 가격을 올바르게 가져오는 방법에 대한 것이었습니다. (적어도 나에게는) 방법이 없다는 것이 밝혀졌습니다. 주문이 아니라 거래 가격을 추출해야 했습니다. 게다가 테스터에서는 원래 버전(제가 작성하지 않음)도 작동했습니다. 차이점은 데모에서 가격 대신 단순히 "시장 가격"이 쓰여지고 요청하려고 할 때 double, 어떤 이유로 0이 반환됩니다. 글쎄, 그들과 함께 지옥에 이제 기능은 다음과 같습니다.

PositionID = PositionGetInteger ( POSITION_IDENTIFIER );

double FindLastPrice( long PositionID) {
   int   i = 0 , DealsTotal;
   ENUM_DEAL_TYPE CheckType;
   long Ticket, OldTicket = 0 , PosID, Magic, Type;
   double OrderPrice = 0 ;
   
   DealsTotal = HistoryDealsTotal ();
   
   for (i = 0 ; i < DealsTotal; i++) {
      Ticket = ( int ) HistoryDealGetTicket (i);
      PosID  = HistoryDealGetInteger (Ticket, DEAL_POSITION_ID );
      Magic  = HistoryDealGetInteger (Ticket, DEAL_MAGIC );
      Type   = HistoryDealGetInteger (Ticket, DEAL_TYPE );
      
       if (Sell) CheckType = DEAL_TYPE_SELL ; 
       else CheckType = DEAL_TYPE_BUY ;
      
       if ((PosID == PositionID) && (Magic == MagicNumber) && (Type == CheckType)) {
         if (Ticket > OldTicket) {
            OrderPrice = HistoryDealGetDouble (Ticket, DEAL_PRICE );
            OldTicket = Ticket;
         }
      }
   }
   if (!OrderPrice) Print ( "Ошибка получения цены открытия предыдущей сделки! Error " , GetLastError ());
   return (OrderPrice);
}

나는이 말도 안되는 소리에 몇 시간을 죽여야했지만 적어도 모든 것에는 장점이 있습니다.이 작동하지 않는 기능 때문에 어리석게 쓰기 위해 파일에 대한 기본 작업을 동시에 마스터 한 후 해결 방법을 찾아야했습니다. 각각의 새로운 주문 가격을 파일로 저장하고 필요한 경우 읽습니다...

 
Lone_Irbis :

솔루션이 발견되었으므로 아마도 내 자신의 질문 에 답할 것입니다. 누가 Google을 사용할지 결코 알 수 없습니다 ...

문제는 기록에서 마지막 주문의 시작 가격을 올바르게 가져오는 방법에 대한 것이었습니다. ....

또는 사이트에서 검색을 사용하거나 이미 아무 것도 없는 기사를 볼 수 있습니다.

>>> MQL5 레시피 - 거래 내역 및 위치 속성 가져오기를 위한 함수 라이브러리

 
tol64 :

또는 사이트에서 검색을 사용하거나 이미 아무 것도 없는 기사를 볼 수 있습니다.

>>> MQL5 레시피 - 거래 내역 및 위치 속성 가져오기를 위한 함수 라이브러리

예, 지금 일주일 동안 이 사이트를 구글링하고 있습니다(Google을 통해, 기본 제공 검색이 여기에서 약간 이상하기 때문입니다: 완전히 어두운 것을 관련성이 아닌 임의의 순서로 제공하거나 일반적으로 다음과 같이 보고합니다. "동일한 문서에서 복사한 요청에 대해서도 "아무것도 찾을 수 없음)... 그러나 유용한 것을 찾으려면 최소한 이 유용한 항목의 이름과 기존의 작동하지 않는 옵션과 어떻게 다른지 구체적으로 알아야 합니다. ) 어느정도 수준의 언어를 아는 사람 입장에서 검색 얘기는 쉽지만, mql5라는 이름을 일주일만 알고 이미 작성하려고 하면 구현하기가 더 어렵습니다...

글쎄, 게다가, 나는 기성품 솔루션과 개념과 같은 상세한 매뉴얼을 별로 좋아하지 않습니다. 그것들은 스스로 그것을 알아내고자 하는 모든 욕구를 이깁니다. :) 어쩌면 내 독학 방법은 그다지 효과적이지 않을 수도 있지만 흥미롭다는 것이 더 중요합니다. 그렇지 않으면 오랫동안 이 주제에 개인 시간을 투자할 열정이 충분하지 않을 것입니다.

그래도 링크 감사합니다 한번 보겠습니다.

 

안녕하세요.

어떻게든 20-30년 동안의 통화에 대한 과거 데이터를 업로드할 수 있습니까?

그리고 Alfa-forex에서는 지난 12년 동안만, 그리고 그 이전에는 일부 조각이 있었습니다.

 
PetrovichV :

안녕하세요.

어떻게든 20-30년 동안의 통화에 대한 과거 데이터를 업로드할 수 있습니까?

그리고 Alfa-forex에서는 지난 12년 동안만, 그리고 그 이전에는 일부 조각이 있었습니다.

브로커는 내역을 제공하며 기간이 증가하면 품질이 저하됩니다.
 

다음은 구매 주문 을 하고 SL과 TP를 변경하는 코드입니다.

오류: 2013.09.06 00:03:39 거래 '10022332': 주문 수정 #0 실패
레벨 변경 요청이 잘못된 것은 무엇입니까?

 int Positions;
double delta= 0.00500 ;

MqlTradeRequest   Request;
MqlTradeResult    Result;
MqlTick          InfoTick;


void OnTick ()

{
//---

 if ( PositionsTotal ()== 0 ) // если открытых позиций нет, покупаем
   { 
      
     SymbolInfoTick ( _Symbol , InfoTick);
                              
    Request.action= TRADE_ACTION_DEAL ;
    Request.symbol= _Symbol ;
    Request.volume= 1 ;
    Request.price=InfoTick.bid;
    Request.sl=InfoTick.bid - delta;
    Request.tp=InfoTick.bid + delta;
    Request.deviation= 50 ;
    Request.type= ORDER_TYPE_BUY ;
    Request.type_filling= ORDER_FILLING_FOK ;
               
     OrderSend (Request, Result);
   
  } else {                                     // меняем уровни
        SymbolInfoTick ( _Symbol , InfoTick); 
        
        Request.action= TRADE_ACTION_MODIFY ;
        Request.symbol= _Symbol ;
        Request.sl=InfoTick.last - delta;
        Request.tp=InfoTick.last + delta;
                          
         OrderSend (Request, Result);
       }
}
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
agvozdezkiy :

다음은 구매 주문 을 하고 SL과 TP를 변경하는 코드입니다.

오류: 2013.09.06 00:03:39 거래 '10022332': 주문 수정 #0 실패
레벨 변경 요청이 잘못된 것은 무엇입니까?

시작하려면 오류 코드를 받으십시오.
사유: