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

 
여러분, Metatrader 4에서 버튼 작업에 대한 유용한 기사를 어디에서 찾을 수 있는지 알려주실 수 있습니까?
 
BillionerClub :
여러분, Metatrader 4에서 버튼 작업에 대한 유용한 기사를 어디에서 찾을 수 있는지 알려주실 수 있습니까?
여기.
OBJ_BUTTON - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
OBJ_BUTTON - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Следующий скрипт создает и перемещает на графике объект "Кнопка". Для создания и изменения свойств графического объекта написаны специальные функции, которые вы можете использовать "как есть" в своих собственных программах. //| Создает кнопку                                                   |               chart_ID=0,               ...
 
Alexey Viktorov :
여기.

좋은 시간입니다. 전문가 프로그래머 여러분, 자동 섬유를 수정하는 데 도움을 주십시오.

1. fibo stretch를 뒤집어서 0이 아니라 100부터 늘려야 합니다. 즉, stretch는 마지막 HI에서 LOW로, LOW에서 HI로, stretch는 레벨 100 barno 뒤에서 시작해야 합니다. autofibo와 같은 가격이며 그 반대의 경우에만 해당됩니다. 늘어진 fibo가 HI 또는 LOW를 찾으면 fibo를 뒤집어 다른 색으로 칠하고, 색이 어려우면 그대로 두십시오.
2. 가격 채널을 활성화 및 비활성화합니다.
3. 코드에서 레벨을 추가 및 변경하는 기능과 각 레벨에서 가격이 표시되어야 하며 레벨 23.6 및 기타 레벨이 필요합니다.
4. fibo 그리드에 늘어나는 방향으로 주문하는 순간 fibo가 늘어남을 멈추고 주문이 처리 된 후 fibo가 제거됩니다. 스트레칭은 반대 방향으로 회전하고 다른 색상으로 칠해진 새로운 fibo로 시작됩니다. .

내 이해를 위해 변경된 내용을 코드에 기록해 두십시오.

파일첨부합니다....


미리 감사드립니다.

 #property link        "___"

#property   indicator_chart_window

#property indicator_buffers    2

#property   indicator_color1   LightSkyBlue

#property   indicator_color2   Plum

 
extern int        Band_Period   = 10 ;

extern int        price_type    = 0 ; // 0 = High/Low | 1 = Open/Close

 
//---- buffers

double WWBuffer1[];

double WWBuffer2[];

double WWBuffer3[];

double ATR;

int init() {

   IndicatorBuffers ( 2 );


   SetIndexStyle ( 0 , DRAW_LINE , 1 );

   SetIndexStyle ( 1 , DRAW_LINE , 1 );
   

   SetIndexLabel ( 0 , "High" );

   SetIndexLabel ( 1 , "Low" );
   

   SetIndexBuffer ( 0 , WWBuffer1);

   SetIndexBuffer ( 1 , WWBuffer2);
   

   IndicatorDigits ( Digits + 2 );

   
   IndicatorShortName ( "Automatic Fibonacci" );

   
   ObjectCreate ( "AutoFibo" , OBJ_FIBO , 0 , Time [ 0 ], High [ 0 ], Time [ 0 ], Low [ 0 ]);
   

   return ( 0 );

}

int deinit() {

   ObjectDelete ( "AutoFibo" );

}

int start() {

   int     counted_bars= IndicatorCounted ();

   int     limit,i;

   

   if (counted_bars> 0 ) counted_bars--;

   limit= Bars -counted_bars;
   

   for (i=limit- 1 ; i>= 0 ; i--) {
 

      WWBuffer1[i] = getPeriodHigh(Band_Period,i);

      WWBuffer2[i] = getPeriodLow(Band_Period,i);
      

       ObjectSet ( "AutoFibo" , OBJPROP_TIME1 , Time [Band_Period]);

       ObjectSet ( "AutoFibo" , OBJPROP_TIME2 , Time [ 0 ]);

       if ( Open [Band_Period] < Open [ 0 ]) { // Up

         ObjectSet ( "AutoFibo" , OBJPROP_PRICE1 , getPeriodHigh(Band_Period,i));

         ObjectSet ( "AutoFibo" , OBJPROP_PRICE2 , getPeriodLow(Band_Period,i));

      } else {

         ObjectSet ( "AutoFibo" , OBJPROP_PRICE1 , getPeriodLow(Band_Period,i));

         ObjectSet ( "AutoFibo" , OBJPROP_PRICE2 , getPeriodHigh(Band_Period,i));

      }


   }

   return ( 0 );

}

 

double getPeriodHigh( int period, int pos) {

   int i;

   double buffer = 0 ;

   for (i=pos;i<=pos+period;i++) {

       if (price_type == 0 ) {

         if ( High [i] > buffer) {

            buffer = High [i];

         }

      } else {

         if ( Open [i] > Close [i]) { // Down

             if ( Open [i] > buffer) {

               buffer = Open [i];

            }

         } else {

             if ( Close [i] > buffer) {

               buffer = Close [i];

            }

         }

      }

   }

   return (buffer);

}

double getPeriodLow( int period, int pos) {

   int i;

   double buffer = 100000 ;

   for (i=pos;i<=pos+period;i++) {

       if (price_type == 0 ) {

         if ( Low [i] < buffer) {

            buffer = Low [i];

         }

      } else {

         if ( Open [i] > Close [i]) { // Down

             if ( Close [i] < buffer) {

               buffer = Close [i];

            }

         } else {

             if ( Open [i] < buffer) {

               buffer = Open [i];

            }

         }

      }

   }

   return (buffer);

}

파일:
AutoFibo.mq4  6 kb
 
포럼 회원 여러분 안녕하세요.

얘들아 초보자가 배우도록 도와주세요
MQL4.MT4 프로그래밍의 기본

SendMail 기능 에 관심

코드를 올바르게 작성하는 방법
고문이 예금 인출의 지정된 비율에 도달하면
한 경주 고문이 이메일 메시지를 보낼 것입니다.
도와주세요, 정말 필요해요!

미리 감사드립니다.
 
Ruslan :
포럼 회원 여러분 안녕하세요.

얘들아 초보자가 배우도록 도와주세요
MQL4.MT4 프로그래밍의 기본

SendMail 기능 에 관심

코드를 올바르게 작성하는 방법
고문이 예금 인출의 지정된 비율에 도달하면
한 경주 고문이 이메일 메시지를 보낼 것입니다.
도와주세요, 정말 필요해요!

미리 감사드립니다.
예치금 인출이 지정된 비율에 도달하는 즉시 이메일 메시지를 보내십시오.
 
Ruslan :
포럼 회원 여러분 안녕하세요.

얘들아 초보자가 배우도록 도와주세요
MQL4.MT4 프로그래밍의 기본

SendMail 기능 에 관심

코드를 올바르게 작성하는 방법
고문이 예금 인출의 지정된 비율에 도달하면
한 경주 고문이 이메일 메시지를 보낼 것입니다.
도와주세요, 정말 필요해요!

미리 감사드립니다.

포럼 검색이 작동하지 않습니까?

Изменить скрипт
Изменить скрипт
  • 2018.02.20
  • www.mql5.com
Здравствуйте. Поскольку сам mql не знаю, кому не сложно, помогите пожалуйста чуть изменить скрипт...
 
Artyom Trishkin :
예치금 인출이 지정된 비율에 도달하는 즉시 이메일 메시지를 보내십시오.
Artyom, 코드 예제를 최소한 몇 개 작성할 수 있습니까? 어떻게 보여야 할까요?
 
Ruslan :
Artyom, 코드 예제를 최소한 몇 개 작성할 수 있습니까? 어떻게 보여야 할까요?
할 수 있지만 하지 않을 것입니다. 아주 간단합니다. 도움말을 읽으십시오 - 흥미로운 교훈.
 
Artyom Trishkin :
할 수 있지만 하지 않을 것입니다. 아주 간단합니다. 도움말을 읽으십시오 - 흥미로운 교훈.
사람이 MQL을 막 배우기 시작하면 적어도 나에게는 모든 것이 그렇게 간단하지 않습니다.
그러나 어쨌든 귀하의 답변에 감사드립니다.
 
Ruslan :
사람이 MQL을 막 배우기 시작하면 적어도 나에게는 모든 것이 그렇게 간단하지 않습니다.
그러나 어쨌든 귀하의 답변에 감사드립니다.
그들은 모두 시작했습니다. 나름대로 조언을 해주었다.