터키에서 데이터를 가져오는 방법은 무엇입니까? - 페이지 6

 
Retabs :


수정하겠습니다. 이미 SRC 버튼을 사용하여 코드를 입력했습니다.

당신이 작성한 대로 규칙에 따라 삽입된 내 코드를 삭제하는 이유는 무엇입니까?


규칙에 따라 삽입된 코드를 제공해야 하기 때문에 나는 당신의 것이 아닙니다! 집에와서 바로 지웠어요!
 
borilunad :

규칙에 따라 삽입된 코드를 제공해야 하기 때문에 나는 당신의 것이 아닙니다! 집에와서 바로 지웠어요!


말해 주세요. 표시선다시 교차할 때, 즉 val1이 val2와 같지 않은 후에만 거래를 열 수 있도록 하는 방법은 무엇입니까? (위의 코드). 주기?

 
Retabs :


말해 주세요. 다른 거래가 마감될 때까지 한 거래의 시작을 어떻게 제한합니까? (위의 코드).


개봉 전 조건을 설정하고 위치가 없으면 열 수 있습니다!

다양한 기능이 있지만, 공부하는 동안 모든 경우에 적용되는 하나의 의무를 제안합니다!

 if (OrderTotal() == 0 )
{
   // потом остальные условия, чтобы зря не производить расчёты,
   // если пока ещё есть открытая позиция. 
   // Если понадобится открывать больше позиций, тогда проставите
   // допустимый максимум, например, 3 позиции:
if (OrderTotal() < 3 )
{
   // Всё это не ленитесь находить в Документации! Замечено, что 
   // если находите сами и сами делаете, тогда ваши знания и навыки
   // будут крепкими!
  
 

보릴루나드 :

규칙에 따라 삽입된 코드를 제공해야 하기 때문에 나는 당신의 것이 아닙니다! 집에와서 바로 지웠어요!

고맙습니다. 나는 나의 조건을 검토하고 내가 원하는 것을 정확하게 쓰지 못했다는 것을 깨달았습니다. 죄송합니다.

말해 주세요. 표시선다시 교차할 때 , 즉 val1이 val2와 같지 않은 후에 거래 를 열 수 있도록 하는 방법 은 무엇입니까? (위의 코드). 따라서 해당 시점에 열려 있는 과거 거래의 수와 관계없이 2개의 교차로 간에는 물론 해당 거래를 건드리지 않고 한 번의 거래만 허용됩니다.

교차 중에 값을 변경하는 마커로 새 변수를 추가하려고 했지만 아무 일도 일어나지 않았습니다.

유일한 탈출구는 거래가 발생한 순간을 포착하고 마커를 원래 값으로 다시 변경하는 것입니다.

 
Retabs :


말해 주세요. 표시선이 다시 교차할 때, 즉 val1이 val2와 같지 않은 후에만 거래를 열 수 있도록 하는 방법은 무엇입니까? (위의 코드). 주기?


내가 당신에게 쓰는 동안 당신은 내가 쓴 것을보고 싶은 조건을 추가했습니다! 여기에서 문서를 고려하고 시계열 차트, 촛대 를 보고 필요한 것을 직접 찾고 작성해야 하며 접근 가능한 방식으로 모든 것을 설명하는 Sergei Kovalev의 튜토리얼 연구를 탐구해야 합니다!

그러므로 시간을 낭비하지 말고 가르침을 받아들이십시오. 그러면 결과가 있을 것입니다! 그리고 팁에 따르면, 당신은 스스로에게 해가 될 것입니다. 전문적 으로 작성된 고문 조차도 항상 유모가 필요합니다. 유모가 없으면 언제든지 변덕스러워지고 시장 습관의 빈번한 변화로 인해 수입이 중단됩니다! 따라서 항상 새로운 솔루션을 찾고 실험하고 전략을 약간 또는 크게 변경해야하며 다른 사람을 이해하는 것보다 자신이 한 일을 아는 것이 훨씬 쉽습니다! 나는 당신에게 성공을 기원합니다!

 
borilunad :


내가 당신에게 쓰는 동안 당신은 내가 쓴 것을보고 싶은 조건을 추가했습니다! 여기에서 문서를 고려하고 시계열 차트, 촛대 를 보고 필요한 것을 직접 찾고 작성해야 하며 접근 가능한 방식으로 모든 것을 설명하는 Sergei Kovalev의 튜토리얼 연구를 탐구해야 합니다!

그러므로 시간을 낭비하지 말고 가르침을 받아들이십시오. 그러면 결과가 있을 것입니다! 그리고 팁에 따르면, 당신은 스스로에게 해가 될 것입니다. 전문적으로 작성된 고문조차도 항상 유모가 필요합니다. 유모가 없으면 언제든지 변덕스러워지고 시장 습관의 빈번한 변화로 인해 수입이 중단됩니다! 따라서 항상 새로운 솔루션을 찾고 실험하고 전략을 약간 또는 크게 변경해야하며 다른 사람을 이해하는 것보다 자신이 한 일을 아는 것이 훨씬 쉽습니다! 나는 당신에게 성공을 기원합니다!


좋은. 나는 도움을 거부하지 않습니다. " 거래가 발생한 순간을 포착하고 마커를 원래 값으로 되돌리기 위해 " 파기하는 방향을 알려주세요.
 
Retabs :

좋은. 나는 도움을 거부하지 않습니다. " 거래가 발생한 순간을 포착하고 마커를 원래 값으로 되돌리기 위해 " 파는 방향을 알려주세요.


시계열 문서에서 차트의 막대 양초 ! 그리고 그 과정에서 매우 필요하고 유용한 많은 것들을 배우게 될 것입니다! 그리고 교과서!

그리고 이것은 하루 이틀, 몇 달, 몇 년, 평생 동안 가르치는 것이 아닙니다. 정말로 알고 싶고 할 수 있다면! 행운을 빕니다!

 
_new-rena :

드디어.

오류 130은 중지 및 소요로 인한 것입니다. 작동해야 하는 가격 수준이 있어야 합니다. (가격 -100 또는 60을 기다리는 것은 불가능합니다. 예를 들어 Price-100*Point 또는 Price+60*Point와 같아야 합니다.)


말해 주세요. 표시선다시 교차할 때 , 즉 val1이 val2와 같지 않은 후에 거래 를 열 수 있도록 하는 방법 은 무엇입니까? 따라서 해당 시점에 열려 있는 과거 거래의 수와 관계없이 2개의 교차로 간에는 물론 해당 거래를 건드리지 않고 한 번의 거래만 허용됩니다.

 //+------------------------------------------------------------------+
//|                                Sovetnik_RegressionPolynomial.mq4 |
//|                                                      Retabs 2014 |
//|                                                        www.----- |
//+------------------------------------------------------------------+
#property copyright "Retabs 2014"
#property link        "www.-----"
#property version    "1.00"
#property strict
//--- input parameters
input int    StopLoss= 60 ;
input int    TakeProfit= 100 ;
input double    Lots= 0.10 ;
input int    Shift= 5 ;

double SL;
double TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   double val1= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 0 );
   double val2= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 0 );
   
   if (val1>val2)
   OrderSend ( Symbol (), OP_BUY , Lots, Ask ,Shift, Ask -StopLoss* Point , Ask +TakeProfit* Point , "коммент" , 5371533 , 0 ,Red);
   
   if (val1<val2)
   OrderSend ( Symbol (), OP_SELL ,Lots, Bid ,Shift, Bid +StopLoss* Point , Bid -TakeProfit* Point , "коммент" , 5371533 , 0 ,Blue);
  }
//+------------------------------------------------------------------+
 
Retabs :


말해 주세요. 표시선다시 교차할 때 , 즉 val1이 val2와 같지 않은 후에 거래 를 열 수 있도록 하는 방법 은 무엇입니까? 따라서 해당 시점에 열려 있는 과거 거래의 수와 관계없이 2개의 교차로 간에는 물론 해당 거래를 건드리지 않고 한 번의 거래만 허용됩니다.

이와 같이
 void OnTick ()
  {
//---
   double val10= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 0 );
   double val20= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 0 );

   double val11= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 1 );
   double val21= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 1 );
   
   if (val11 < val21 && val10>=val20)
   OrderSend ( Symbol (), OP_BUY , Lots, Ask ,Shift, Ask -StopLoss* Point , Ask +TakeProfit* Point , "коммент" , 5371533 , 0 ,Red);
   
   if (val11 > val21 && val10<=val20)
   OrderSend ( Symbol (), OP_SELL ,Lots, Bid ,Shift, Bid +StopLoss* Point , Bid -TakeProfit* Point , "коммент" , 5371533 , 0 ,Blue);
  }
 

답변 해주셔서 감사합니다. 바로 지금, 나는 다른 원칙에 따라 해결책을 생각해 냈습니다. 내 것과 당신의 것이 맞는 것 같습니다.

 //+------------------------------------------------------------------+
//|                                Sovetnik_RegressionPolynomial.mq4 |
//|                                                      Retabs 2014 |
//|                                                        www.----- |
//+------------------------------------------------------------------+
#property copyright "Retabs 2014"
#property link        "www.-----"
#property version    "1.00"
#property strict
//--- input parameters
input int    StopLoss= 100 ;
input int    TakeProfit= 160 ;
input double    Lots= 0.10 ;
input int    Shift= 5 ;

double SL;
double TP;
int     X= 0 ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   double val1= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 0 , 0 );
   double val2= iCustom ( NULL , 0 , "RegressionPolynomial" , 10000 , 55 , 5 , 2 , 0 , 1 , 0 );
   

   if (X> 0 && val1==val2)
   Ctrl= 0 ;
   
   
     if (X== 0   )
      {
       if (val1>val2)
       OrderSend ( Symbol (), OP_BUY , Lots, Ask ,Shift, Ask -StopLoss* Point , Ask +TakeProfit* Point , "коммент" , 5371533 , 0 ,Red);
      Ctrl=Ctrl+ 1 ;
      }
      
     if (X== 0 ) 
    
      { if (val1<val2)
       OrderSend ( Symbol (), OP_SELL ,Lots, Bid ,Shift, Bid +StopLoss* Point , Bid -TakeProfit* Point , "коммент" , 5371533 , 0 ,Blue);
      X=X+ 1 ;
      }
   
  }
//+------------------------------------------------------------------+

그러나 시각적 교차점에서 실제로 선이 각각 두 번 이상 교차하고 신호가 여러 번 도착하고 고문이 4-30 주문을 처리합니다.

우리는 이 단점을 없애야 합니다. 내가 생각해 낸 유일한 방법은 과거 판독 값을 평균화하고 현재 판독 값과 비교하는 것입니다. 논리적으로 그렇습니다. 그러나 프로그래밍 방식으로 수행하는 방법??? 돕다!