포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 335

 
evillive :

그들이 말하는 것처럼 질문은 답입니다. 가격이 어떻게 계산되는지 누가 알고 수준이 미리 지정되지 않았습니다 ...


그러나 가격 = 입찰가인 경우


예, 예에서 가격 = 입찰가입니다. 나는 그것을 비교한다. "레벨" 대신에 무언가가 필요합니다. 이 옵션을 시도해 보겠습니다.


0 대신 1과 2만 점 뒤의 첫 번째 또는 두 숫자를 제공하며 더 이상 XXX가 아닙니다. 00 . 제로로 시도해야 합니다.

? 예를 들어 레벨이 00이 아닌 경우 XXX.15 또는 XXX.35가 필요합니다. 비교 방법

기능

 NormalizeDouble (Bid, 0 ))

값을 숫자 값 또는 Digits 로 자르지만 정수 부분에 무엇이 있든 소수점 이하 숫자를 선택하고 작업해야 합니다.

고맙습니다.

 
Shum_sp :

예, 예에서 가격 = 입찰가입니다. 나는 그것을 비교한다. "레벨" 대신에 무언가가 필요합니다. 이 옵션을 시도해 보겠습니다.


0 대신 1과 2만 점 뒤의 첫 번째 또는 두 숫자를 제공하며 더 이상 XXX가 아닙니다. 00 . 제로로 시도해야 합니다.

? 예를 들어 레벨이 00이 아닌 경우 XXX.15 또는 XXX.35가 필요합니다. 비교 방법

기능

값을 숫자 값이나 숫자로 자르지만 정수 부분에 무엇이 있든 상관없이 소수점 뒤의 숫자를 선택하고 작업해야 합니다.

고맙습니다.


그리고 좋은 밤 되세요.
 
Shum_sp :

안녕하세요!


모든 수준을 규정하는 것은 많다는 것을 의미합니다.

CAM 고문은 레벨이 XXX.00인지 결정해야 하며 사용자는 이에 참여해서는 안 되며 작업할 레벨을 지정해야 합니다.

현재 가격이 XXX라는 것을 어떻게 설명해야 할지 모르겠습니다. 00

감사합니다.

 //+------------------------------------------------------------------+
//|                                                       Ровное.mq4 |
//|                               Copyright 2013, Artyom A. Trishkin |
//|                       https://www.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, Artyom A. Trishkin"
#property link        "https://www.mql5.com/ru/users/artmedia70"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   double a= 140.20 ;
   double b=- 123.32 ;
//----
   if ( MathMod (a, 1.0 )== 0 ) b=a; 
   Alert ( "140 = " +b);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
artmedia70 :



좋은 하루, 모두!

덕분에. 구석에 "고마워요" 버튼이 없어서 홍수가 났어요 .

밤에 나는 이블라이브의 포스트 를 뒤집었다. 감사해요


감사합니다,

 
Shum_sp :

좋은 하루입니다, 여러분!

어드바이저의 모든 페이지를 검토한 후, 보류 중인 주문을 기반으로 어드바이저의 코드를 참조하여,

또한 포럼의 페이지를 살펴보고 MQL 자습서와 설명서 를 다시 읽어도 답을 찾지 못했습니다.

제가 잘 못 본 걸 수도 있어요. 여기에 물어보기로 결정.

보류 중인 주문을 기반으로 Expert Advisor를 작성하고 있습니다. 이전에는 지표 데이터(<,>,= 등)를 기반으로 포지션을 여는 기준에 문제가 없었습니다.

그러나 현재 시스템은 지표가 없습니다. 포지션을 여는 기준은 PRICE입니다.

즉, 입찰가가 PRICE 수준, XXX.00 또는 XXX.50(엔 쌍의 경우)과 같을 때 기준 블록은 다음과 같이 말합니다.

매수(매도) 기준이 있고 이를 오더 개시 블록으로 보냅니다.

그림의 대략적인 예. 1 레벨이 고정되고 예를 들어 사용자에 의해 설정되는 경우.

문제는 현재 BID를 미리 설정되지 않은 수준과 비교하는 조건을 작성하는 방법 입니다.

예를 들어 140.00, 141.00, 142.00 .... 즉 XXX.00에서

예를 들어 조건의 첫 번째 부분이 명확합니다.

레벨이 포함된 두 번째 부분에서는 수행할 작업입니다.

모두 미리 감사드립니다

감사합니다,


추신: 이것이 이미 논의되었고 제가 간과했다면 저를 찌르십시오.


질문을 올바르게 이해했다면 라운드 레벨에 따른 가격 움직임

EUR/USD의 경우

 //+------------------------------------------------------------------+
//|                                                        level.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   double level= NormalizeDouble (Bid, 2 );
   if (Bid == level)
   {
     Alert ( " ну вот  Bid равен level " );
   }
   
   
   Alert ( "level   " ,level);
   Alert ( "bid   " ,Bid);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 

표시기에 화살표를 설치하는 방법을 알아내려고 합니다. 이 코드에서 무엇이 잘못된 것인지 알려주십시오. 구매 화살표는 배치되지만 판매하지는 않습니다.

#property indicator_chart_window
#property indicator_color1 Aqua
#property indicator_width1 1
#property indicator_color2 Red
#property indicator_width2 1

int otstup = 50 ; //отступ стрелки от свечи pips
double buy[],sell[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators

   IndicatorBuffers( 2 );
   SetIndexBuffer ( 0 ,buy);
   SetIndexBuffer ( 1 ,sell);
   
   SetIndexArrow( 0 , 233 ); //buy
   SetIndexArrow( 1 , 234 ); //sell
   
   SetIndexStyle( 0 , DRAW_ARROW ,EMPTY, 1 ,Aqua);
   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexStyle( 1 , DRAW_ARROW ,EMPTY, 1 ,Red);
   SetIndexEmptyValue( 1 , 0.0 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

//----
        sell[ 1 ]= High[ 1 ]+otstup* Point ;
    
        buy[ 1 ] = Low[ 1 ]-otstup* Point ;
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
khorosh :

표시기에 화살표를 설치하는 방법을 알아내려고 합니다. 이 코드에서 무엇이 잘못된 것인지 알려주십시오. 구매 화살표는 배치되지만 판매하지는 않습니다.

노력하다
 #property indicator_buffers 2
а не 
 IndicatorBuffers( 2 );
 хотя у меня рисует обе стрелки и так, и эдак
 
pako :


질문을 올바르게 이해했다면 라운드 레벨에 따른 가격 움직임

EUR/USD의 경우

내가 그를 이해하는 한, 그는 자문가가 "원가"를 직접 볼 필요가 있습니다. 예를 들어:

140.42 - 그게 아니라

139.54 - 그게 아니라

140.00 - 원하는 가격

139.00 - 원하는 가격

즉, 가격의 소수 부분에 0이 있어야 합니다. 나는 그에게 대본의 예를 들었지만 내가 이해하는 한 어떤 사람들은 생각하는 것이 일반적이지 않습니다 ...

다음과 같이:

 if ( MathMod (Bid, 1.0 )== 0 ) Alert ( "Нашли круглую цену : " +DoubleToStr(Bid, Digits ));
 
artmedia70 :

내가 그를 이해하는 한, 그는 자문가가 "원가"를 직접 볼 필요가 있습니다. 예를 들어:

140.42 - 그게 아니라

139.54 - 그게 아니라

140.00 - 원하는 가격

139.00 - 원하는 가격

즉, 가격의 소수 부분에 0이 있어야 합니다. 나는 그에게 대본의 예를 들었지만 내가 이해하는 한 어떤 사람들은 생각하는 것이 일반적이지 않습니다 ...

다음과 같이:



아니요, 그는 140.15 또는 140.35도 둥근 가격이며 필요할 수 있다고 생각하고 결정했습니다. 클라이언트는 아직 그가 필요한 것을 결정하지 않았습니다.)))
 
evillive :
아니요, 그는 140.15 또는 140.35도 둥근 가격이며 필요할 수 있다고 생각하고 결정했습니다. 클라이언트는 아직 그가 필요한 것을 결정하지 않았습니다.)))

음 ... 그렇다면 마침내 그가 원하는 것을 결정했을 때 생각을 시작하게하십시오 ...