[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 1012

 
boris.45 :

감사합니다

따라서 데이터를 다운로드합니다. F2 키를 누르고 쌍을 선택하고 M1에 대한 전체 기록을 다운로드합니다.
 

안녕하세요!

Expert Advisor에서 다른 시간 간격(기간???????)의 가격과 지표 값을 비교하는 방법을 알려주세요. 나는 코드를 게시합니다. 검색은 아무 것도 제공하지 않았습니다. 내가 이 스레드(940부터)를 읽을 수 있는 힘이 얼마나 있었는지. 미리 감사합니다!!

 //+------------------------------------------------------------------+
//|                                        expert SAR_1_5_15 min.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

//---- input parameters
extern double     Lots= 0.01 ;
extern int        StopLoss= 300 ;
extern int        TakeProfit= 150 ;
extern int        MagicNumber= 123456 ;
//+------------------------------------------------------------------+
//| 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);

     // Рассчитываем значения Parabolic,на 0-ом, 1-ом и 2-м барах для 1,5-ти,15-ти минутн. графиков
     double sar10 = iSAR ( NULL , 1 , 0.02 , 0.2 , 0 );
     double sar11 = iSAR ( NULL , 1 , 0.02 , 0.2 , 1 );
     double sar50 = iSAR ( NULL , 5 , 0.02 , 0.2 , 0 );
     double sar51 = iSAR ( NULL , 5 , 0.02 , 0.2 , 1 );
     double sar150 = iSAR ( NULL , 15 , 0.02 , 0.2 , 0 );
     double sar151 = iSAR ( NULL , 15 , 0.02 , 0.2 , 1 );
     double sar152 = iSAR ( NULL , 15 , 0.02 , 0.2 , 2 );
        
   //-------------открытие позиции Buy покупка----------------- 
     if (
    (sar10>Open[ 0 ])&&     //  SAR 1 // сравниваем с ценой открытия
    (sar11>Close[ 0 + 1 ])&&     // минута и сравниваем с ценой закрытия
    (sar50>Open[ 0 ])&&         //  SAR 5
    (sar51>Close[ 0 + 1 ])&&       // минут
    (sar150>Open[ 0 ])&&         //  SAR 15
    (sar151>Close[ 0 + 1 ])&&     // минут
    (sar152<Close[ 0 + 2 ])       // начало тренда
    )
     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 (
    (sar10<Open[ 0 ])&&       //  SAR 1
    (sar11<Close[ 0 + 1 ])&&     // минут
    (sar50<Open[ 0 ])&&       //  SAR 5
    (sar51<Close[ 0 + 1 ])&&     // минут
    (sar150<Open[ 0 ])&&         //  SAR 15
    (sar151<Close[ 0 + 1 ])&&     // минут
    (sar153>Close[ 0 + 2 ])       // начало тренда
    )
     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 );
  }
//+------------------------------------------------------------------+
 
안녕하세요 친애하는 프로그래머!
스트로크를 거래하는 고문이 있습니다. 문제는 포지션의 정확한 오픈과 클로징이 항상 일어나는 것은 아니라는 점인데, 슬리피지 때문에 생각합니다. Slippage 매개변수를 EA에 첨부하십시오. 감사해요
파일:
 

안녕하세요 여러분!

이 고문을 설정하는 방법을 알려주십시오. https://www.mql5.com/ru/code/9434

나는 그것이 특정 마이너스 또는 플러스에 도달했을 때, 또는 헤지 포지션을 열거나, 이익으로 닫을 때 그것을 각각 필요로 합니다.

그러나 매개 변수에서 무엇을 변경해야 하는지 모르겠습니다.

매개변수가 있습니다: 이익플러스 1.0

이익 마이너스 -1.0

이익 1.0

어디서 바꿀까?

고맙습니다.

 

일간 캔들 개장 시 포지션을 오픈하는 어드바이저를 볼 수 있는 링크를 알려주세요.

고마워.

 
glasha :
안녕하세요 친애하는 프로그래머!
스트로크를 거래하는 고문이 있습니다. 문제는 포지션의 정확한 오픈과 클로징이 항상 일어나는 것은 아니라는 점인데, 슬리피지 때문에 생각합니다. Slippage 매개변수를 EA에 첨부하십시오. 감사해요
파일:
 
igrok2008 :

안녕하세요!

Expert Advisor에서 다른 시간 간격(기간???????)의 가격과 지표 값을 비교하는 방법을 알려주세요. 나는 코드를 게시합니다. 검색은 아무 것도 제공하지 않았습니다. 내가 이 스레드(940부터)를 읽을 수 있는 힘이 얼마나 있었는지. 미리 감사합니다!!

여기까지 이해하고 비교했습니다. 내가 틀렸다면, 저를 수정하십시오.

만약 (
(sar10>Open[ 0 ])&& // SAR 1 // 시가와 비교
(sar11>Close[ 0 + 1 ])&& // 분 및 종가 와 비교
(sar50>열기[ 0 ])&& // SAR 5
(sar51>닫기[ 0 + 1 ])&& // 분
(sar150>열기[ 0 ])&& // SAR 15
(sar151>닫기[ 0 + 1 ])&& // 분
(sar152<Close[ 0 + 2 ]) // 추세 시작
)

 

1. 실제 또는 테스터의 다양한 tf에서 프로그램을 조정하는 방법.

예: 시간에 우리는 30분 및 그 이하(.) 진입/출구에서 추세를 찾고 찾습니다.

감사하다.

 
좋은 날입니다. 이 EMA 교차 신호 표시기를 각 교차로에서 하나 이상의 소리 신호를 방출하도록 만드는 방법을 알려주세요. 하지만 몇 개를 원하나요?
 
x8profit :
좋은 날입니다. 이 EMA 교차 신호 표시기를 각 교차로에서 하나 이상의 소리 신호를 방출하도록 만드는 방법을 알려주세요. 하지만 몇 개를 원하나요?

코드를 보지는 않았지만 가장 먼저 떠오른 것은 하나의 사운드 신호가 나오는 코드 대신 루프를 만들고 반복 횟수를 외부에 출력하는 것이었습니다. 신호는 설정에서 지정한 횟수만큼 생성됩니다...

비록 ... 신호 길이 * 루프의 반복 횟수 동안 칠면조 작업이 일시 중지됩니다.