MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 257

 
다시 안녕! 당신을 위한 이 진부함을 도와주세요, 나는 그것을 이해할 수 없습니다....

나는 다음을하고 싶다!

예를 들어 1.23455의 가격으로 첫 번째 거래가 열릴 때 가격이 1.23415가 될 때 두 번째 거래가 열리길 원합니다.

PHP 코드:
이중 positionTPask = NormalizeDouble ( 묻기 * , 자릿수 );
이중 lastTPask1 = NormalizeDouble ( 묻기 - 40 * , 자릿수 );

if (
RSI0 < RSIDownLevel && RSIDownLevel <= RSI1 ){
TP = NormalizeDouble ( 물음 + 이익실현 * 포인트 , 자릿수 );
if (
OrderSend ( Symbol (), OP_BUY , Lot , NormalizeDouble ( Ask , Digits ), slippage , 0 , TP , NULL , Magic )==- 1 ) Print( GetLastError ());

if (
positionTPask1 > lastTPask1 ){
if (
takeprofit != 0 ) TPm = NormalizeDouble ( 물어보기 + takeprofit * 포인트 , 숫자 );
if (
OrderSend ( Symbol (), OP_BUY , Lot , NormalizeDouble ( Ask , Digits ), slippage , 0 , TPm , NULL , Magic )==- 1 ) Print( GetLastError ());
}}
그리고 같은 가격에 한번에 2개 주문을 열어요...
잘 됐어? 봐주세요...
 

sviter-pro :
Здраствуйте еще раз! Помогите с этой банальностью для вас, ато я разобраться не могу....

Хочу сделать следующее! 

Когда открывается первая сделка по цене к примеру 1.23455, то хочу что бы вторая сделка открывалась когда цена пойдет на 1.23415

 double positionTPask = NormalizeDouble ( Ask * Point , Digits );
double lastTPask1 = NormalizeDouble ( Ask - 40 * Point , Digits );

if (RSI0 < RSIDownLevel && RSIDownLevel <= RSI1){
      TP  = NormalizeDouble ( Ask + takeprofit * Point , Digits ); 
       if ( OrderSend ( Symbol (), OP_BUY , Lot, NormalizeDouble ( Ask , Digits ),slippage, 0 ,TP, NULL ,Magic)==- 1 ) Print ( GetLastError ());
      
   if (positionTPask1 > lastTPask1){
       if (takeprofit!= 0 ) TPm  = NormalizeDouble ( Ask + takeprofit * Point , Digits ); 
       if ( OrderSend ( Symbol (), OP_BUY , Lot, NormalizeDouble ( Ask , Digits ), slippage, 0 , TPm, NULL , Magic)==- 1 ) Print ( GetLastError ());
      }}  
그리고 같은 가격에 한번에 2개 주문을 열어요...

잘 됐어? 봐주세요...

첫 번째 줄에서 나는 이상함을 보았다. 더 이상 보지 않았습니다.

이게 왜?

 double positionTPask = NormalizeDouble ( Ask * Point , Digits );

계산기에서 Ask by Point 곱하기

그리고 코드를 올바르게 붙여넣으십시오 . 새 포스트 편집기 메뉴에 이를 위한 SRC 버튼이 있습니다.

 
sviter-pro :
다시 안녕! 당신을 위한 이 진부함을 도와주세요, 나는 그것을 이해할 수 없습니다....

나는 다음을하고 싶다!

예를 들어 1.23455의 가격으로 첫 번째 거래가 열릴 때 가격이 1.23415가 될 때 두 번째 거래가 열리길 원합니다.

PHP 코드:
이중 positionTPask = NormalizeDouble ( 묻기 * , 자릿수 );
이중 lastTPask1 = NormalizeDouble ( 묻기 - 40 * , 자릿수 );

if (
RSI0 < RSIDownLevel && RSIDownLevel <= RSI1 ){
TP = NormalizeDouble ( 물음 + 이익실현 * 포인트 , 자릿수 );
if (
OrderSend ( Symbol (), OP_BUY , Lot , NormalizeDouble ( Ask , Digits ), slippage , 0 , TP , NULL , Magic )==- 1 ) Print( GetLastError ());

if (
positionTPask1 > lastTPask1 ){
if (
takeprofit != 0 ) TPm = NormalizeDouble ( 물어보기 + takeprofit * 포인트 , 숫자 );
if (
OrderSend ( Symbol (), OP_BUY , Lot , NormalizeDouble ( Ask , Digits ), slippage , 0 , TPm , NULL , Magic )==- 1 ) Print( GetLastError ());
}}
그리고 같은 가격에 한번에 2개 주문을 열어요...
잘 됐어? 봐주세요...
Ask-40*Point가 아니라 1개 포즈-40*Point의 시작 가격에서 춤을 춰야 합니다.
 

표시기로 작업을 많이 하지 않았기 때문에 " 데이터 창 "에서 그래픽 버퍼 표시를 비활성화하는 방법에 대한 간단한 질문이 생겼습니다. 3 및 4 버퍼를 제거하고 싶습니다. 코드는 다음과 같습니다.

 #property strict
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Yellow
#property indicator_color3 Black
#property indicator_color4 Black

//---- input parameters
input int RSIPeriod= 14 ;
input int Levl= 50 ;
input ENUM_TIMEFRAMES TF= PERIOD_CURRENT ;
//---- buffers
double RSIBuffer[];
double MABuffer[];
double PosBuffer[];
double NegBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- 2 additional buffers are used for counting.
   IndicatorBuffers ( 4 );
   SetIndexBuffer ( 0 ,RSIBuffer);
   SetIndexBuffer ( 1 ,MABuffer);
   SetIndexBuffer ( 2 ,PosBuffer);
   SetIndexBuffer ( 3 ,NegBuffer);
   
//---- indicator line
   SetIndexStyle ( 0 , DRAW_NONE );
   SetIndexStyle ( 1 , DRAW_LINE );
   SetIndexStyle ( 2 , DRAW_NONE );
   SetIndexStyle ( 3 , DRAW_NONE );
//----
//---- name for DataWindow and indicator subwindow label
   short_name= "RSI(" + IntegerToString (RSIPeriod, 0 , ' ' )+ ")" ;
   IndicatorShortName (short_name);
   SetIndexLabel ( 0 ,short_name);
   SetIndexLabel ( 1 , "Levl" + "_" + IntegerToString (Levl, 0 , ' ' )+ " Price" );
   SetIndexLabel ( 2 , "U" );
   SetIndexLabel ( 3 , "D" );
   

   return ( 0 );
  }

이것은 수정된 RSI입니다. 계산이 과거 데이터를 기반으로 하고 매번 버퍼의 크기를 변경하고(그래픽이 아닌 경우) 거기에 새 데이터를 추가하고 싶지 않기 때문에 버퍼가 필요하므로 그래픽 버퍼는 내 목적에 편리합니다.

 
Alekseu Fedotov :
Ask-40*Point가 아니라 1개 포즈-40*Point의 시작 가격에서 춤을 춰야 합니다.

그럼 시가를 읽고 춤을....

 
Aleksey Vyazmikin :

표시기로 작업을 많이 하지 않았기 때문에 " 데이터 창 "에서 그래픽 버퍼 표시를 비활성화하는 방법에 대한 간단한 질문이 생겼습니다. 3 및 4 버퍼를 제거하고 싶습니다. 코드는 다음과 같습니다.

이것은 수정된 RSI입니다. 계산이 과거 데이터를 기반으로 하고 매번 버퍼의 크기를 변경하고(그래픽이 아닌 경우) 거기에 새 데이터를 추가하고 싶지 않기 때문에 버퍼가 필요하므로 그래픽 버퍼는 내 목적에 편리합니다.


내가 당신을 얼마나 잘 이해했는지 모르겠어요.

이것을 시도하십시오: #property indicator_buffers 2

 #property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Black
#property indicator_color2 Yellow
 
Alexander Voronkov :

내가 당신을 얼마나 잘 이해했는지 모르겠어요.

이것을 시도하십시오: #property indicator_buffers 2


당신이 맞는 것 같습니다! 그리고 저는 단순하게 그래픽 버퍼를 계산에 사용한다면 반드시 선언해야 한다고 생각했습니다.

고맙습니다!
 
Aleksey Vyazmikin : " 데이터 창 "에서 그래픽 버퍼 표시를 비활성화하는 방법은 무엇입니까? 3 및 4 버퍼를 제거하고 싶습니다. 코드는 다음과 같습니다.

데이터 창에 대한 출력을 비활성화하려면 다음을 수행하십시오.

 SetIndexLabel ( 2 , NULL );   // Запрет в окно Данные буфера 3
SetIndexLabel ( 3 , NULL );   // Запрет в окно Данные буфера 4
 
STARIJ :

데이터 창에 대한 출력을 비활성화하려면 다음을 수행하십시오.


고맙습니다. 이러한 이동을 통해 iCustom을 통해 버퍼 데이터 창 에서 금지된 출력을 볼 수 있습니까?

 
Aleksey Vyazmikin : 감사합니다. 이러한 이동을 통해 iCustom을 통해 버퍼 데이터 창 에서 금지된 출력을 볼 수 있습니까?

iCustom을 사용하면 데이터 창 에 있는 것만 볼 수 있습니다. 함수의 끝에서 두 번째 매개변수 는 데이터 창 에 표시되는 버퍼의 번호일 뿐입니다.

Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Графики в торговой платформе отображают изменение котировок финансовых инструментов во времени. Они необходимы для проведения технического анализа...