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

 
Lol Kek :

입력 매개변수 인터페이스의 부울 변수 입력 을 통해 true/false를 전환하는 대신 두 번 클릭할 때 텍스트를 표시할 수 있습니까? 감사해요

 enum   ENUM_ONOFF
{
On  = 1 ,   // On   тут любой текст
Off = 0    // Off  тут любой текст
};

input ENUM_ONOFF iValue = On; // Параметр
 
Vladimir Pastushak :

감사합니다. 하지만 그건 좀 다릅니다. 나는 이 방법에 대해 알고 있습니다. 이 경우에는 드롭다운 선택이 있습니다. 선택해야 할 때 값을 선택합니다.

그리고 input bool yesOrNo = true; - 입력 매개변수를 단순히 더블 클릭하면 값이 반대로 변경되고 반복되면 그 반대로 값이 변경됩니다. true 및 false 대신에만 텍스트를 표시합니다.

 
Lol Kek :

감사합니다. 하지만 그건 좀 그렇네요. 나는 이 방법에 대해 알고 있습니다. 이 경우에는 드롭다운 선택이 있습니다. 선택해야 할 때 값을 선택합니다.

그리고 input bool yesOrNo = true; - 입력 매개변수를 단순히 더블 클릭하면 값이 반대로 변경되고 반복되면 그 반대로 값이 변경됩니다. true 및 false 대신에만 텍스트를 표시합니다.

차이가 없습니다. bool은 true이고 false이고 true는 1이고 folse는 0입니다.

 

안녕하세요. 꽤 녹색 초보자입니다. 기본 사항을 알려주세요.

1 - 왜 mql4로 프로그래밍 중인데 - int OnInit() , void OnTick() 함수가 있는 mql 5용 템플릿을 롤아웃 합니까? 그들은 오류를 생성하지 않지만 작동합니다. 헷갈리기 시작합니다.

2 - 고문을 쓰고 있습니다. void OnTick() - 내가 알기로는 int start() function 을 대체하고 int OnInit()int init( ) 를 대체합니다 .

2.1 - int OnInit() 에서 사용할 변수를 등록했습니다. - 그는 맹세하기 시작했습니다. 변수 유형이 표시되는 즉시 할당됩니다. 욕을 멈췄다. 왜요?

2.2 - 구매 및 판매를 위해 보류 중인 주문을 여는 것은 기본입니다. 왜 그는 그것들을 열지 않습니까? 오류를 쓰지는 않지만?

 int BS1 = OrderSend ( Symbol (),OP_BUYSTOP,lots,Ask+ 50 , 3 , 0 , 0 , "bs1" , 1 , 0 , clrGreen );

int SS1 = OrderSend ( Symbol (),OP_SELLSTOP,lots,Bid+ 50 , 3 , 0 , 0 , "ss1" ,- 1 , 0 , clrRed );

3 - 카운터를 변수에 연결하는 방법 - 주문 번호. (BS1, SS1) - 어떤 순서인지 즉시 알려주는 변수. 그래서 그가 그리드를 계속할 때 원하는 순서를 찾기가 여전히 쉽습니다. OP_BUYSTOP 후 - 값을 BUY로 변경하면 식별자가 변경되지 않습니까? BS1의 데이터에 따라 찾을 수 있습니까?

4 - 특히 시작 매개변수에 3포인트까지 가능한 미끄러짐이 설정된 경우 보류 중인 주문 이 이미 열려 있는지 여부를 더 쉽게 확인하는 방법. 저것들. 단일 가격이 아닌 다양한 가격을 스캔하고 기본 가격보다 1-3핍 위/아래에 있는 가격으로 열 수 있습니다....

5. MQL4에 대한 튜토리얼이나 레슨을 받을 수 있는 다른 곳을 알려주십시오. 기술을 향상시키기 위해. 여기서 나는 놀랐다. 전략은 2줄로 설명할 수 있으며 100500줄의 코드에서 어드바이저를 엽니다. 왜 ... 그리고 코드는 당신이 그것을 알아낼 수 있는 것과 같습니다.


질문으로 가득 차 있습니다))) 알아낼 수 있도록 도와주세요

 


질문으로 가득 차 있습니다))) 알아낼 수 있도록 도와주세요

문단 2.2에 따르면: Ask+50 당신은 너무 멀리 갔습니다 :-) 50 내가 이해한 한, 이것이 요점입니다. 즉, Ask+50 대신 NormalizeDouble (Ask+50*_Point,_Digits)을 작성해야 합니다.

 
@Maxim Kuznetsov - 감사합니다))
 

나는 읽고, 각 매개 변수가 의미하는 바를 훈제하고, 설정 .....

보류 중인 판매가 열리지 않습니다. 젠장, 오류도 던지지 않습니다. GetLastError ()=0! 구매가 예상대로 열리지만 판매는 무시됩니다. 날 조롱해, 그가 원하는 게 뭐야? ))))

 int BS1 = OrderSend ( Symbol (),OP_BUYSTOP,lots, NormalizeDouble (Ask+ 50 * _Point , _Digits ), 3 , 0 , 0 , "bs1" , 1 , 0 , clrGreen );
   int SS1 = OrderSend ( Symbol (),OP_SELLSTOP,lots, NormalizeDouble (Bid+ 50 * _Point , _Digits ), 3 , 0 , 0 , "ss1" , 101 , 0 , clrRed );
     if ( GetLastError ()== 1 );
    {
     Alert ( GetLastError ());
    }

좋은 사람들이여, 필요한 지식은 어디서 얻습니까? ))

 
Gilmor :

나는 읽고, 각 매개 변수가 의미하는 바를 훈제하고, 설정 .....

보류 중인 판매가 열리지 않습니다. 젠장, 오류도 던지지 않습니다. GetLastError ()=0! 구매가 예상대로 열리지만 판매는 무시됩니다. 날 조롱해, 그가 원하는 게 뭐야? ))))

좋은 사람들이여, 필요한 지식은 어디서 얻습니까? ))

터미널에는 "전문가"라는 흥미로운 탭이 있습니다. 이것은 전문가 오류가 작성되는 곳입니다. 구경하다. 그런 다음 코드로 이동합니다.

 
int start()                                   // Спец. функция start()
  {                                          
   double prise;
   double lots = 0.01 ;  
   if ( OrdersTotal ()< 1 )
  {
  prise = MarketInfo( Symbol (), MODE_ASK);
   // int BS1 = OrderSend (Symbol(),OP_BUYSTOP,lots,NormalizeDouble(Ask+50*_Point,_Digits),3,0,0,"bs1",1,0,clrGreen);
   int SS1 = OrderSend ( Symbol (),OP_SELLSTOP,lots, NormalizeDouble (Bid+ 50 * _Point , _Digits ), 3 , 0 , 0 , "ss1" , 101 , 0 , clrRed );
   /* if (GetLastError()==1);
    {
    Alert (GetLastError());
    }
    */
  }
 
   return ;                                   // Выход из start()
  }

Artyom Trishkin :

터미널에는 "전문가"라는 흥미로운 탭이 있습니다. 이것은 전문가 오류가 작성되는 곳입니다. 구경하다. 그런 다음 코드로 이동합니다.

보시다시피, 이 탭은 또한 모든 것이 완벽하다고 가정합니다. 업로드, 시작되었습니다. 오류가 없습니다. :(

감사합니다! 이 탭을 사용하는 방법을 몰랐습니다.

 

안녕하세요.

정보를 찾느라 일주일간 고생했습니다. 코드 도움말

목표: 양초의 시작점과 닫힘점의 차이를 찾습니다.

그것을 더하여 화면에 표시하고 100 바에 대해 계속하십시오.

결과적으로 화면에서 총액을 보고 싶습니다.

무효 OnTick()

{

이중 최소 가격 = 99999, mp,cl,

최대 가격=-99999 ;

이중 인덱스 = 0;

이중 인덱스1 = 0;

for(int i=100; i>0; i--)

{

mp = iLow(심볼(), PERIOD_CURRENT , i);

cl = iClose(심볼(), PERIOD_CURRENT, i);

if( mp < 최소 가격)

최소 가격 = mp - cl;

인덱스 = 최소 가격 + mp ;

}

고맙습니다.

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.