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

 
-Aleks- :

게시한 마지막 코드를 확인하셨습니까? 그렇다면 휴식이 필요합니다... 감사합니다.
" c " 변수를 추적합니다.
 
Artyom Trishkin :
" c " 변수를 추적합니다.

네 감사합니다! 알겠습니다. 하지만 이 코드를 끝까지 이해할 수는 없습니다. 실험해 보겠습니다!

Victor Nikolaev - 도움을 주셔서 감사합니다!

 

모두에게 좋은 하루!

이미 마감 되어 마감된 주문 목록에 표시된 주문에 대해 MAGIC NUMBER 값을 변경할 수 있는지 알려주십시오.

, 주문을 종료한 후 MAGIC NUMBER의 값을 변경합니다.

가능한 경우 - 어떤 기능의 도움으로. 나는 김에서 그런 기능을 찾지 못했다.

고맙습니다.
 
ANDREY :

모두에게 좋은 하루!

이미 마감 되어 마감된 주문 목록에 표시된 주문에 대해 MAGIC NUMBER 값을 변경할 수 있는지 알려주십시오.

, 주문을 종료한 후 MAGIC NUMBER의 값을 변경합니다.

가능한 경우 - 어떤 기능의 도움으로. 김, 그런 기능을 찾지 못했습니다.

고맙습니다.

금지되어 있습니다. 그리고 왜 그것이 필요합니까? 문제에 대한 다른 해결책이 있습니까?
 
-Aleks- :

금지되어 있습니다. 그리고 왜 그것이 필요합니까? 문제에 대한 다른 해결책이 있습니까?

팁 고마워.

대답을 기다리던 중 문득 떠오른 것이 있었다. 잘 안되면 제가 필요한 내용을 적어보도록 하겠습니다.

말해주세요

if ( OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매

X = 주문 이익( ); // 이익실현 값 기억

if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매

if(X < 0) // 이 sat가 stop에 의해 닫혔다면

다른 주문 열기

문제

이러한 조건에 덧셈을 코딩하는 방법.

마지막 주문뿐만 아니라 pre -last 및 pre- pre -last 주문도 stop으로 마감해야 합니다.

그리고 그제서야

다른 주문 열기

고맙습니다.

 
geratdc : 메모장에 있는 동안 코드에 권장 사항을 변경했습니다. 코드를 올바르게 수정했는지 확인하십시오.

보았다. 수정했습니다. 3개월간 테스터에서 본 결과입니다.

단점이 크다

 
현재 날짜의 마지막 5개 교차로를 가정해 봅시다 금액에서 Mashek 교차로의 막대 수를 찾는 방법을 알려주세요
 
missha32 : 현재 날짜의 마지막 5개 교차점 수에서 Mashek 교차점 막대의 수를 찾습니다.

아침 4시에 - 오늘은 아직 술집이 거의 없습니다. H4에는 하루에 6개의 바만 있습니다. 검색할 막대의 수 또는 교차점의 수 를 설정해야 합니다.

//+-------------------------------------------------------+
//| Подсчет пересечений MA                    PROBA_MA.mq4|
//+-------------------------------------------------------+
#property strict

extern int Баров = 500;  // Баров для подсчета пересечений МА
extern int MA_1  =10;
extern int MA_2  =100;

void OnStart()
{
  int Бар, Счетчик;
  double MA_1_Предыдущая, MA_2_Предыдущая,
         MA_1_Следующая,  MA_2_Следующая;

  ObjectsDeleteAll(); // Удалить вертикальные линии

  for(Счетчик=0, Бар=0; Бар<Баров; Бар++) // Начинаем с послнего бара
  {
    MA_1_Предыдущая = iMA(_Symbol,0,MA_1,0,MODE_EMA,PRICE_CLOSE,Бар+1);
    MA_1_Следующая  = iMA(_Symbol,0,MA_1,0,MODE_EMA,PRICE_CLOSE,Бар);
    MA_2_Предыдущая = iMA(_Symbol,0,MA_2,0,MODE_EMA,PRICE_CLOSE,Бар+1);
    MA_2_Следующая  = iMA(_Symbol,0,MA_2,0,MODE_EMA,PRICE_CLOSE,Бар);

    if((MA_1_Предыдущая>=MA_2_Предыдущая && MA_1_Следующая<=MA_2_Следующая) ||
       (MA_1_Предыдущая<=MA_2_Предыдущая && MA_1_Следующая>=MA_2_Следующая))
    {
      Счетчик++;
      Alert(Счетчик, "  Бар = ", Бар, "  T = ",Time[Бар]);

      // Создать вертикальную линию
      ObjectCreate( (string)Счетчик+"_"+(string)Бар,OBJ_VLINE,0,Time[Бар],0);

      if(Счетчик == 5) break;  // 5 линий есть - выход
    }
  }
}

장거리 = 추세

 

말해주세요

if ( OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매

X = 주문 이익( ); // 이익실현 값 기억

if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY)) // 마지막 주문인 경우
if ( OrderType ()==OP_SELL) // 판매

if(X < 0) // 이 sat가 stop에 의해 닫혔다면

다른 주문 열기

문제

이러한 조건에 덧셈을 코딩하는 방법.

마지막 주문뿐만 아니라 pre -last 및 pre- pre -last 주문도 stop으로 마감해야 합니다.

그리고 그제서야

다른 주문 열기

고맙습니다.
 

재작업이 가능한 인디케이터 조언 부탁드립니다, 매일 시간별 차트에서 높은 곳에서 낮은 곳으로 선에 관심이 있고, 선의 길이와 경사각에 대한 데이터를 얻을 수 있는 능력과 작업이 가능했습니다 코드에 있는 이 데이터를 사용하여 처음부터 직접 작성하면 큰 문제가 되나요 ? 도와주세요, 제발

여기 칠면조가 있습니다. 두 좌표를 따라 선이 뻗어 있습니다. 아무리 말도 안되는 소리를 비틀지 않았더라도 도와주세요. 아마도 헛된이 칠면조에 연락했습니다.

#property indicator_chart_window
//---- input parameters
extern int   CountDays     =22;
extern int   GMT           =0;
extern color pivot         =Gold;
extern color day           =Yellow;
extern color metka         =MidnightBlue;

//---- indicator buffers
double range[];
double ny_close[];
double low[];
double high[];
datetime time1;
datetime time2;
datetime ny_time[];

int shift, num;
int ny_shift[];
datetime prevDay=0;
bool fTime;
// ----
void ObjDel()
{
   if (ObjectsTotal() > 0)
   for (num=0;num<=CountDays;num++)
   {
   ObjectDelete("PPw["+num+"]");   
          
   }
   ObjectDelete("mPw");           
}
// ----
void PlotLine(string name,double value,double value1,double line_color,double style)
{
   double valueN=NormalizeDouble(value,Digits);
   double valueN1=NormalizeDouble(value1,Digits);
   bool res = ObjectCreate(name,OBJ_TREND,0,time1,valueN,time2,valueN1);
   ObjectSet(name, OBJPROP_WIDTH, 1);
   ObjectSet(name, OBJPROP_STYLE, style);
   ObjectSet(name, OBJPROP_RAY, false);
   ObjectSet(name, OBJPROP_BACK, true);
   ObjectSet(name, OBJPROP_COLOR, line_color);
} 
//***********
void PlotVLine(string name,double tm,double line_color)
{
   bool res = ObjectCreate(name,OBJ_VLINE,0,tm,0);
   ObjectSet(name, OBJPROP_WIDTH, 0);
   ObjectSet(name, OBJPROP_STYLE, 2);
   ObjectSet(name, OBJPROP_COLOR, line_color);
} 
//***********
void PlotPrice(string name, double value, double line_color)
{
    double valueN=NormalizeDouble(value,Digits);
    bool res = ObjectCreate(name, OBJ_ARROW, 0, time2,valueN);
    ObjectSet(name, OBJPROP_COLOR, line_color);
    ObjectSet(name, OBJPROP_WIDTH, 1);
    ObjectSet(name, OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE);
}       
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   fTime = true;
   IndicatorBuffers(2);
   SetIndexBuffer(0,range);
   SetIndexBuffer(1,ny_close);
   return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+   
int deinit()
{
   ObjDel();
   Comment("");
   return(0);
}
//+------------------------------------------------------------------+
//| LNX_Pivots_v3.1                                                    |
//+------------------------------------------------------------------+
int start()
{
   int i;
   double P;
  
   datetime cDay = iTime(NULL,PERIOD_D1,0) + (GMT-Period()/60.0)*3600;
   if (cDay != prevDay || fTime)  
   {
   ObjDel();
   ArrayResize(ny_time,CountDays+1);
   ArrayResize(ny_shift,CountDays+1);
   ArrayResize(high,CountDays+1);
   ArrayResize(low,CountDays+1); 
   ArrayResize(range,CountDays+1);    
      for (shift=0;shift<=CountDays;shift++)
      {
      ny_time[shift]  = iTime(NULL,PERIOD_D1,shift) + (GMT-Period()/60.0)*3600;
      ny_shift[shift] = iBarShift(NULL,0,ny_time[shift]);
      ny_close[shift] = iClose(NULL,0,ny_shift[shift]);        
      }
     
 for (shift=0;shift<=CountDays-1;shift++)
      {
      int length = ny_shift[shift+1]-ny_shift[shift];
   
      high[shift] = High[iHighest(NULL,0,MODE_HIGH,length,ny_shift[shift])];
      low[shift]  = Low[iLowest(NULL,0,MODE_LOW,length,ny_shift[shift])];
      range[shift] = high[shift] - low[shift]; 
      }
  
  for (shift=0;shift<=CountDays-1;shift++)
      {
  
           
      P  = (ny_close[shift]+high[shift]+low[shift])/3;
      

      time1 = ny_time[shift]+Period()*60;    
         
         if (shift==0) 
         {
         time2 = ny_time[shift] + 24*3600+Period()*60 ;
         PlotVLine("pV0",time2,day);
         PlotPrice("mPw",P,metka);
                 
         }
         else
         time2 = ny_time[shift-1]+Period()*60;
         PlotVLine("pV["+shift+"]",time1,day);
            
      int pstyle=0;
   PlotLine("PPw["+shift+"]",P,P,pivot,pstyle); // *********две координаты*******

}
   fTime = false;
   prevDay = cDay;
   }           
   return(0);
}
//+------------------------------------------------------------------+