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

 
MakarFX # :

1) 예, 이것은 "확인 초" 수 값입니다.

2) 아니오, 첫 번째에 열리지 않고 지정된 수의 "확인 양초" 후에만 열립니다.

3) 마법을 변경하고 모든 쌍에 베팅하십시오.

Magic은 외부 변수를 만드는 것이 좋습니다.

1) 이해했다;

2) 이 메시지에 화면을 첨부하겠습니다. 첫 번째는 열리지 않지만 4개의 양초에 대한 항목이 조건에 있으면 화면과 같이 4번째에 열립니다. 물론 이것이 가장 중요한 것은 아닙니다. 제거할 수 있는 방법을 알고 싶습니다. 그러나 그대로 두더라도 "Init=true"는 무엇을 담당합니까? 그 본질은 무엇입니까?

3) 마술사를 외부 변수로 만드는 방법은 무엇입니까? 나는 마술을 만지지 않았고 그것을하는 방법을 모른다는 것입니다.

 #property copyright "Copyright 2021, DrMak."
#property link        " https://www.mql5.com "
#property version    "1.00"
#property strict
//--- input parameters
#define MagicNumber   122122
extern string s1             = "Trading options" ;
extern double Lot            = 0.01 ;     // размер лота 0 - авт.расчет
extern double StopLoss       = 40 ;     // стоплосс
extern double TakeProfit     = 10 ;     // тейкпрофит
extern double TrailStop      = 21 ;     // уровень без убытка
extern int     Trailing       = 0 ;       // трейлинг стоп 1 вкл. 0 выкл.
extern int     Breakeven      = 0 ;       // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour" ;
extern int     HrStart        = 0 ;       // время начала торговли
extern int     HrEnd          = 23 ;     // время окончания торговли
extern int     Monday         = 1 ;       // Понедельник 1 вкд. 0 выкл.
extern int     Tuesday        = 1 ;       // Вторник
extern int     Wednesday      = 1 ;       // Среда
extern int     Thursday       = 1 ;       // Четверг
extern int     Friday         = 1 ;       // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5 ;      
int MovingPeriodS1        = 75 ;
int MovingPeriodS2        = 85 ;
double StopLevel;
double TrailStep             = 3 ;       // шаг трейлинг стопа
bool OrderBuy = true , OrderSell = true , Order = false , Init = true ;
int timeprev = 0 , Slip = 3.0 , Start, cnt= 1 ;
datetime newbar= 0 ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   if ( Digits == 3 || Digits == 5 ) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10 ;
      TrailStop *= 10 ;
      TrailStep *= 10 ;
      StopLoss *= 10 ;
      Slip *= 10 ;
   } 
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   StopLevel = MarketInfo( Symbol (), MODE_STOPLEVEL); 
   //---
   if (newbar!=Time[ 0 ])
     {
       if (CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt= 1 ;}
       else
        {cnt+= 1 ;}
       //---
       if (cnt== 8 )
        {
         // Открытие ордера по методу Пуриа
         if (CheckForOpen()== 0 ) // Если сигнал для покупок 
           {
             if ( OrderSend ( Symbol (),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss* Point ,Ask+TakeProfit* Point , "" ,MagicNumber, 0 ,Blue))
              { Print ( "BUY OK" );}
               else { Print ( GetLastError ());}
           } 
         if (CheckForOpen()== 1 ) // Если сигнал для продаж 
           {
             if ( OrderSend ( Symbol (),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss* Point ,Bid-TakeProfit* Point , "" ,MagicNumber, 0 ,Red))
              { Print ( "SELL OK" );}
               else { Print ( GetLastError ());}
           }
        }   
      newbar=Time[ 0 ];
     }
  }
파일:
 
MakarFX # :

나쁘지 않다!

 
artem artem # :

1) 이해했다;

2) 이 메시지에 화면을 첨부하겠습니다. 첫 번째는 열리지 않지만 4개의 양초에 대한 항목이 조건에 있으면 화면과 같이 4번째에 열립니다. 물론 이것이 가장 중요한 것은 아닙니다. 제거할 수 있는 방법을 알고 싶습니다. 그러나 그대로 두더라도 "Init=true"는 무엇을 담당합니까? 그 본질은 무엇입니까?

3) 마술사를 외부 변수로 만드는 방법은 무엇입니까? 나는 마술을 만지지 않았고 그것을하는 방법을 모른다는 것입니다.

 #define MagicNumber   122122

로 대체

 extern string MagicNumber = 122122 ;

"Init=true"는 제거할 수 있습니다.

1차 엔트리도 생각하겠지만 내일)

 

artem artem # :

제거하는 방법을 알고 싶습니다.

제거됨

파일:
artem.mq4  11 kb
 
MakarFX # :
 // Мертвая строка

좋은 생각이야, 잘했어, 마카르!

 

어떻게 해야 하는지 알려주세요. 비정상적인 경우가 있습니다.

테스트 통과는 지난 6개월 동안 40건의 거래를 보여줍니다. 계정 잔액이 $1,000 이상입니다.

나는 일년 내내 같은 세트를 운영합니다 - 단 8 거래. 나머지는 약 1,000달러입니다.

저는 2020년 초부터 런칭하여 3개월 동안 거래한 후 반응이 0입니다.

나는 그가 왜 장기간 거래를 원하지 않는지 이해할 수 없습니다. 로그에 오류가 표시되지 않습니다.

 
artem artem # :

테스터에서 재미를 위해 좋은 것입니다.

그리고 이것은 당신을 위한 선물로 돈을 벌기 위한 것입니다.

\\\\\\\\\\\\\\\\\\\\\\\\\\

검증을 위해 출시됨 - 저녁에 작동 방식을 확인할 것입니다.

스크린샷 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\

모든 차트에서 템플릿이 어떻게 변경되는지 확인했습니다. 모든 것이 작동했습니다! 전체 이익은 어떻게 목표에 도달했습니까?

스크린샷 2021-10-10 055232

파일:
artem_artem.mq4  26 kb
 

테스터에서 확인하는 것이 좋습니다. 지표가 있는 템플릿을 저장할 때 지표 설정을 변경하는 경우 테스터에서 일시 중지를 누르고 지표를 설정하기만 하면 됩니다.

스크린샷 2021-10-10 063557

\\\\\\

차트 템플릿 - 위의 전문가용.

파일:
 
SanAlex # :

테스터에서 재미를 위해 좋은 것입니다.

그리고 이것은 당신을 위한 선물로 돈을 벌기 위한 것입니다.

좋은 아침과 좋은 분위기 모두! 궁금하다. 어렵지 않다면 MT5용 artem artem.mq4 코드를 번역하십시오. 나는 그가 실제 계정에서 롤오버에 어떻게 대처할 것인지 보고 싶습니다.

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin # :

좋은 아침과 좋은 분위기 모두! 궁금하다. 어렵지 않다면 MT5용 artem artem.mq4 코드를 번역하십시오. 나는 그가 실제 계정에서 롤오버에 어떻게 대처할 것인지 보고 싶습니다.

안부 인사를 전합니다. 블라디미르.

좋은 아침! 이제 mt5에 대한 이러한 표시기의 신호 표시기를 눈멀게 하고 있습니다.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

여기에서 그는 자신의 욕망과 논리, 트롤 및 기타 모든 것을 가진 전문가로 눈을 멀게했습니다. 그러면 모든 것이 매우 간단합니다.

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

Expert Advisor에서 영점 막대 또는 첫 번째 막대에서 열리도록 설정할 수 있습니다.

스크린샷 2021-10-10 085616

파일:
Fx10_artem.mq5  20 kb