int bar_sto2_0= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i)); int bar_sto2_1= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i+ 1 )); double sto1_0= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i); double sto1_1= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i+ 1 ); double sto2_0= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_0); double sto2_1= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_1);
if (sto2_0> 55 ) { BufferUP[i]=low[i]-distance*MyPoint; }
표시기가 이전 ph로 설정된 경우. 모든 것이 정확하고 표시선이 55 이상일 때 화살표가 배치됩니다.
주니어 그래프로 전환하면 혼돈.
지표 주기에 대해 이야기하는 경우 더 높은 기간의 막대가 더 낮은 TF의 주기 지수에 의해 표시된 막대에 해당하는지 알기 위해서는 막대 시간 i 를 얻어야 합니다 . 그런 다음 이 시간까지 이 시간에 해당하는 더 높은 TF의 막대를 결정합니다. 예: 하나의 H4 막대는 4개의 H1 막대에 해당합니다. 따라서 TF H1이 있는 주기 지수 i의 4개 값은 TF H4에서 동일한 막대를 가리킵니다.
귀하의 변수(이름)로는 값을 가져오는 막대를 파악할 수 없습니다. 따라서 이론 외에 다른 것을 말하기는 어렵습니다.
지표 주기에 대해 이야기하는 경우 더 높은 기간의 막대가 더 낮은 TF의 주기 지수에 의해 표시된 막대에 해당하는지 알기 위해서는 막대 시간 i 를 얻어야 합니다 . 그런 다음 이 시간까지 이 시간에 해당하는 더 높은 TF의 막대를 결정합니다. 예: 하나의 H4 막대는 4개의 H1 막대에 해당합니다. 따라서 TF H1이 있는 주기 지수 i의 4개 값은 TF H4에서 동일한 막대를 가리킵니다.
귀하의 변수(이름)로는 값을 가져오는 막대를 파악할 수 없습니다. 따라서 이론 외에 다른 것을 말하기는 어렵습니다.
감사 합니다, 맞습니까?
if (label==Lime) BUY_ = true ;
아니요, 이것이 색상 데이터를 int 로 얻는 방법입니다.
여기에서 댓글에 표시되는 내용을 확인하세요.
변환에 대해 읽기
변환에 대해 읽기
감사해요, 조건 자체가 맞습니까?
if (label==Lime) BUY_ = true ;
if (label==Red) BUY_ = false ;
아마 그렇지 않을 것입니다. 데이터가 string 유형 이면 따옴표로 프레임을 지정하고 전체 문자별 색상 일치를 작성해야 합니다. "clrLime"
아마 그렇지 않을 것입니다. 데이터가 string 유형 이면 따옴표로 프레임을 지정하고 전체 문자별 색상 일치를 작성해야 합니다. "clrLime"
아니요, 따옴표는 필요하지 않습니다. 상수입니다. 즉, 다음이 필요합니다. if(label==clrLime) {}
덕분에 작동합니다.
더 높은 기간에서 확률 지표의 수준을 올바르게 얻는 방법을 알려주십시오.
int bar_sto2_1= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i+ 1 ));
double sto1_0= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i);
double sto1_1= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i+ 1 );
double sto2_0= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_0);
double sto2_1= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_1);
if (sto2_0> 55 )
{
BufferUP[i]=low[i]-distance*MyPoint;
}
표시기가 이전 ph로 설정된 경우. 모든 것이 정확하고 표시선이 55 이상일 때 화살표가 배치됩니다.
주니어 차트로 전환하면 혼돈.
덕분에 작동합니다.
더 높은 기간에서 확률 지표의 수준을 올바르게 얻는 방법을 알려주십시오.
int bar_sto2_1= iBarShift ( Symbol (),TimeFrame2, iTime ( Symbol (),TimeFrame2,i+ 1 ));
double sto1_0= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i);
double sto1_1= iStochastic ( Symbol (),TimeFrame1,kperiod1,dperiod1,slowing1, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,i+ 1 );
double sto2_0= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_0);
double sto2_1= iStochastic ( Symbol (),TimeFrame2,kperiod2,dperiod2,slowing2, MODE_LWMA , STO_CLOSECLOSE , MODE_MAIN ,bar_sto2_1);
if (sto2_0> 55 )
{
BufferUP[i]=low[i]-distance*MyPoint;
}
표시기가 이전 ph로 설정된 경우. 모든 것이 정확하고 표시선이 55 이상일 때 화살표가 배치됩니다.
주니어 그래프로 전환하면 혼돈.
지표 주기에 대해 이야기하는 경우 더 높은 기간의 막대가 더 낮은 TF의 주기 지수에 의해 표시된 막대에 해당하는지 알기 위해서는 막대 시간 i 를 얻어야 합니다 . 그런 다음 이 시간까지 이 시간에 해당하는 더 높은 TF의 막대를 결정합니다. 예: 하나의 H4 막대는 4개의 H1 막대에 해당합니다. 따라서 TF H1이 있는 주기 지수 i의 4개 값은 TF H4에서 동일한 막대를 가리킵니다.
귀하의 변수(이름)로는 값을 가져오는 막대를 파악할 수 없습니다. 따라서 이론 외에 다른 것을 말하기는 어렵습니다.
지표 주기에 대해 이야기하는 경우 더 높은 기간의 막대가 더 낮은 TF의 주기 지수에 의해 표시된 막대에 해당하는지 알기 위해서는 막대 시간 i 를 얻어야 합니다 . 그런 다음 이 시간까지 이 시간에 해당하는 더 높은 TF의 막대를 결정합니다. 예: 하나의 H4 막대는 4개의 H1 막대에 해당합니다. 따라서 TF H1이 있는 주기 지수 i의 4개 값은 TF H4에서 동일한 막대를 가리킵니다.
귀하의 변수(이름)로는 값을 가져오는 막대를 파악할 수 없습니다. 따라서 이론 외에 다른 것을 말하기는 어렵습니다.
표시기는 M1으로 설정됩니다.
위쪽 화살표의 주요 조건은 55 레벨 위의 M5에 있는 표시선 입니다.
M5의 선이 레벨 55 아래에 있더라도 이 조건이 충족되지 않으면 화살표가 계속 배치됩니다.
로봇에 "1바의 최고값이 3번째 바의 최저값보다 높은 경우..."라는 조건을 작성하는 방법
동시에 트리거는 "OnTick()"이 아니어야 합니다.
0 막대가 1이 될 때마다
로봇에 "1바의 최고값이 3번째 바의 최저값보다 높은 경우..."라는 조건을 작성하는 방법
동시에 트리거는 "OnTick()"이 아니어야 합니다.
0 막대가 1이 될 때마다
이렇게 될 수 있을까
//| test03.mq4 |
//| Sergey Gritsay |
//| https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link "https://www.mql5.com/ru/users/sergey1294"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CNevBar
{
private :
datetime curbar;
datetime lastbar;
public :
CNevBar();
~CNevBar();
bool new_bar( string symbol, ENUM_TIMEFRAMES period);
};
//+------------------------------------------------------------------+
void CNevBar::CNevBar()
{
}
//+------------------------------------------------------------------+
void CNevBar::~CNevBar( void )
{
}
//+------------------------------------------------------------------+
bool CNevBar:: new_bar( string symbol, ENUM_TIMEFRAMES period)
{
curbar=( datetime ) SeriesInfoInteger (symbol,period, SERIES_LASTBAR_DATE );
if (lastbar== 0 )lastbar=( datetime ) SeriesInfoInteger (symbol,period, SERIES_LASTBAR_DATE );
if (lastbar!=curbar)
{
lastbar=curbar;
return ( true );
}
return ( false );
}
CNevBar newbar;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
if (newbar.new_bar( _Symbol , PERIOD_CURRENT ))
{
if ( High [ 1 ]> Low [ 3 ])
{
}
}
}
//+------------------------------------------------------------------+
...