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

 
TheXpert писал(а) >>

여기 . 당신이 준 표현은 확실히 가치가 있습니다.

감사해요!

 
모두에게 좋은 하루). Grebenshchikov 거래 시스템이 있습니다. 채널에서 작업하고 채널의 고장뿐만 아니라 플랫에서 주문이 보류 중인 항목에 대해 작업합니다. 히스토리에서 테스트하고 MM을 조정하고 싶습니다. ktonit이 이미 코드에서 이 시스템의 점수를 매길 수 있습니까? 그리고 어떤 요소에서 그러한 시스템을 조립할 수 있습니까? 다음은 시스템 자체에 대한 설명입니다. http://www.fx4u.ru/rinki-forex-commodities-cfd-futures-f14/strategii-opitnih-f4/ts-grebenschikova-si-forex-i-mi-t529. HTML
 

질문이 있습니다

네 가지 주요 쌍에 대한 평균 차트를 출력하도록 기간 변환기를 만들 수 있습니다.

그리고 달러 엔이 101.50의 가격을 가지고 있다고 가정하면, 그것을 1.0150의 상태로 옮기고 이 평균 차트를 구성할 때 사용하십시오.

네, 이 환경 차트를 테스트 및 최적화에 사용할 수 있다면 좋을 것입니다.

미리 들어주셔서 감사합니다...

 

안녕 모두와 모든 것!

코드를 제공합니다(기능 시작만)

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

     // Рассчитываем значения средних на 0-ом и 1-ом барах
     double MAF_0 = iMA ( NULL , 0 , MAFP , 0 , 1 , 1 , 0 ) ;
     double MAF_1 = iMA ( NULL , 0 , MAFP , 0 , 1 , 1 , 1 ) ;
     double MAS_0 = iMA ( NULL , 0 , MASP , 0 , 1 , 1 , 0 ) ;
     double MAS_1 = iMA ( NULL , 0 , MASP , 0 , 1 , 1 , 1 ) ;
    
   // ----открытие позиции Buy покупка-----
     if ( MAF_0 > MAF_1 & & MAS_0 > MAS_1 ) { //-условие на покупку--- 
     if ( isCloseLastPosByTake ( NULL , OP_SELL , MagicNumber ) = = true ) {
     if ( CheckOrders ( OP_SELL ) )                                        {
       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 , 5 , SL , TP , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Buy. Ошибка №" , GetLastError ( ) ) ; 
                 }
               }
               }
   //-------------------Конец блока покупки ------------------
    
   //  ----- Открытие позиции Sell продажа------------  
     if ( MAF_0 < MAF_1 & & MAS_0 < MAS_1 ) { //-условие на продажу---
     if ( CheckOrders ( OP_BUY ) )                                      {
       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 , 5 , SL , TP , NULL , MagicNumber ) )
         Print ( "Не открыт ордер Sell. Ошибка №" , GetLastError ( ) ) ; 
                 }
                 }
   //-------------------конец блока продажи -------------------
     
   return ( 0 ) ;
   } //+----------КОНЕЦ ФУНКЦИИ СТАРТ -------------------+

//ЖЖЖЖЖЖЖ Другие вызываемые пользовательские функции ЖЖЖЖЖЖ
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.05.2008                                                     |
//|  Описание : Возвращает флаг закрытия                                       |
//|  последней позиции по тейку.                                               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool isCloseLastPosByTake ( string sy = "" , int op = - 1 , int mn = - 1 ) {
   datetime t ;
   double    ocp , otp ;
   int       dg , i , j = - 1 , k = OrdersHistoryTotal ( ) ;

   if ( sy = = "0" ) sy = Symbol ( ) ;
   for ( i = 0 ; i < k ; i + + ) {
     if ( OrderSelect ( i , SELECT_BY_POS , MODE_HISTORY ) ) {
       if ( OrderSymbol ( ) = = sy | | sy = = "" ) {
         if ( OrderType ( ) = = OP_BUY | | OrderType ( ) = = OP_SELL ) {
           if ( op < 0 | | OrderType ( ) = = op ) {
             if ( mn < 0 | | OrderMagicNumber ( ) = = mn ) {
               if ( t < OrderCloseTime ( ) ) {
                t = OrderCloseTime ( ) ;
                j = i ;
               } } } } } } }

   if ( OrderSelect ( j , SELECT_BY_POS , MODE_HISTORY ) ) {
    dg = MarketInfo ( sy , MODE_DIGITS ) ;
     if ( dg = = 0 ) if ( StringFind ( OrderSymbol ( ) , "JPY" ) < 0 ) dg = 4 ; else dg = 2 ;
    ocp = NormalizeDouble ( OrderClosePrice ( ) , dg ) ;
    otp = NormalizeDouble ( OrderTakeProfit ( ) , dg ) ;
     if ( ocp = = otp ) return ( True ) ;
   }
   return ( False ) ;
}
 

여기서, 즉, rid의 권고에 따라 하나의 조건이 구현됩니다. 그의 발언과 수정.

EA 자체가 정리가 되어 거래되고.......사실은 그렇지 않습니다.......

나는 테스터에 롱 만 넣으려고했습니다. 단일 거래가 아니라 숏만 넣어도 단일 거래도 아닙니다.

구매 조건이 충족되고 어드바이저가 거래를 하고 거래가 테이크에 의해 성사되면 논리는 간단합니다.

그런 다음 고문은 다음 거래 조건을 기다립니다. 이 조건만 이전과 반대여야 합니다.

즉, 트랜잭션이 BAY에 있었다면 다음 트랜잭션은 SHELL에 있어야 합니다.

 

그리고 더. 이 스레드에서 훨씬 이전에 나와 대략 비슷한 질문이 제기되었습니다. 깃발에 관한 것이었습니다. 이것이 모든 소란의 이유입니다.

 

그리고 질문 하나 더.

첫 번째 5분, 두 번째 15분에 2개의 창을 엽니다.

두 MAC(10)을 모두 사용합니다. 5분 동안의 경우 진술이 정확할 것입니다. (30)으로 마카를 그린 다음 15분 동안 MA(10)에 해당합니다.

차트 15 및 30 계수의 경우. 2가 됩니다.

차트 30 및 1시간 계수의 경우. 2가 됩니다.

차트의 경우 1h. 그리고 4시간. 계수 4가 됩니다.

사실인지 아닌지????????????

 

igrok2008 писал(а) >>

사실인지 아닌지????????????

엄밀히 말하면, 아닙니다. 그러나 매우 가깝습니다.

 

안녕하세요.

포럼에 처음으로 글을 올립니다. 마지막이 아니길 바랍니다. 포럼에 쓰여진 내용에 비하면 저는 초보자입니다. 한 달 반 만에 언어를 배웠다

뒤로, Sergey Kovalev의 "MQL4 프로그래밍 자습서 " . 훌륭한 교과서. 여러 Expert Advisors, 맞춤형 지표 작성,

스크립트. 포럼에서 이해할 수 없는 모든 질문에 대한 답을 찾으려고 노력합니다. 그러나 나는 겉보기에 사소한 일에 부딪쳤지만 답을 찾을 수 없었습니다.

도와주세요, 제발.

질문은 #include <ХХХ.mqh> 사용에 관한 것입니다. 전체 포럼을 다시 읽었지만 답을 찾지 못했습니다. 지점 중 하나는 다음과 같이 말합니다.

"... ex4 파일이 자급자족한다고 추가할 수도 있습니다. 작동하려면
포함에 사용자 정의 함수의 소스 코드가 포함될 필요는 없습니다.
ex4 파일을 복사하여 다른 거래자에게 전송하여 사용할 수 있습니다.
생산 기술에 구애받지 않고 완벽하다"고 말했다.

그게 문제 야. Expert Advisor를 전달할 때 함수를 "보지" 않고 작성합니다. 컴파일할 때 프로그램 파일을 열 수 없습니다.

다른 터미널 포함에 ex4에서 컴파일되지 않은 항목이 있었지만.

무엇이 잘못되었는지 설명하십시오. 고맙습니다.

 
gvi2504 >> :

... Expert Advisor가 전달되면 함수를 "보지" 않고 컴파일하는 동안 작성합니다. 프로그램 파일을 열 수 없습니다.

다른 터미널 포함에 ex4에서 컴파일되지 않은 항목이 있었지만.

무엇이 잘못되었는지 설명하십시오. 고맙습니다.

전체 로그와 함께 예를 들어보십시오. Expert Advisor에서 라이브러리를 호출하는 방법, 라이브러리 자체의 헤더에 있는 내용. 그게 요점일 수도 있어요.

그건 그렇고, 여기 근처 어딘가에 Xpert가 달렸습니다. 그는이 문제에 대해 잘 알고 있습니다.

사유: