포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 457

 
처음에 설명을 좀 잘못했네요.. 1/3로 닫히면 그려야지
 
얘들아 아직 업데이트 안됐어?
 
프로그래머 여러분, 확률 지표 의 레벨이 20, 80인지 설명해주십시오. 또는 MACD 레벨이 0입니다.
그래서 문제는 지표가 20미만이거나 80이상일 때 주선과 신호선의 값을 어떻게 취하는가 하는 것입니다.이러한 레벨 뒤에서 교차하거나 이 레벨 뒤에서 교차합니다.지표의 값을 취한 것 같지만 그렇지 않습니다. 다음에 그들과 함께 무엇을 해야할지 압니다.

Stoh=iStochastic(Symbol(),PERIOD_H1,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,0);
StohSignal=iStochastic(Symbol(),PERIOD_H1,K주기,D주기,느림,MODE_SMA,0,MODE_SIGNAL,0);

Macd=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_MAIN,0);
MacdSignal=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_SIGNAL,0);
 
denis77515 :
프로그래머 여러분, 확률 지표의 레벨이 20, 80인지 설명해주십시오. 또는 MACD 레벨이 0입니다.
그래서 문제는 지표가 20미만이거나 80이상일 때 주선과 신호선의 값을 어떻게 취하는가 하는 것입니다.이러한 레벨 뒤에서 교차하거나 이 레벨 뒤에서 교차합니다.지표의 값을 취한 것 같지만 그렇지 않습니다. 다음에 그들과 함께 무엇을 해야할지 압니다.

Stoh=iStochastic(Symbol(),PERIOD_H1,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,0);
StohSignal=iStochastic(Symbol(),PERIOD_H1,K주기,D주기,느림,MODE_SMA,0,MODE_SIGNAL,0);

Macd=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_MAIN,0);
MacdSignal=iMACD(Symbol(),PERIOD_H4,fast_ema_period,slow_ema_period,signal_period,PRICE_CLOSE,MODE_SIGNAL,0);


우리는 교과서 를 공부한다

너무 늦었지만 오늘 업데이트합니다.

교과서 예

 //--------------------------------------------------------------------
// grafobjects.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start()                             // Спец. функция start
  {
//--------------------------------------------------------------- 1 --
   int Sit;
   double MACD_M_0,MACD_M_1,           // Главная линия, 0 и 1 бар
   MACD_S_0,MACD_S_1;                   // Сигнальная линия, 0 и 1 бар
   string Text[ 4 ];                     // Объявление строков. массива
   color   Color[ 4 ];                     // Объявление массива цветов

   Text[ 0 ]= "Открытие Buy" ;             // Текст для различных ситуаций
   Text[ 1 ]= "Открытие Sell" ;
   Text[ 2 ]= "Удерживаем Buy" ;
   Text[ 3 ]= "Удерживаем Sell" ;

   Color[ 0 ]= DeepSkyBlue;               // Цвет объекта ..
   Color[ 1 ]= LightPink;                 // .. для различных ситуаций
   Color[ 2 ]= Yellow;
   Color[ 3 ]= Yellow;
//--------------------------------------------------------------- 2 --
   ObjectCreate ( "Label_Obj_MACD" , OBJ_LABEL , 0 , 0 , 0 ); // Создание объ.
   ObjectSet ( "Label_Obj_MACD" , OBJPROP_CORNER , 1 );     // Привязка угол
   ObjectSet ( "Label_Obj_MACD" , OBJPROP_XDISTANCE , 10 ); // Координата Х
   ObjectSet ( "Label_Obj_MACD" , OBJPROP_YDISTANCE , 15 ); // Координата Y
//--------------------------------------------------------------- 3 --
   MACD_M_0 = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_MAIN , 0 );   // 0 бар
   MACD_S_0 = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_SIGNAL , 0 ); // 0 бар
   MACD_M_1 = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_MAIN , 1 );   // 1 бар
   MACD_S_1 = iMACD ( NULL , 0 , 12 , 26 , 9 , PRICE_CLOSE , MODE_SIGNAL , 1 ); // 1 бар
//--------------------------------------------------------------- 4 --
   // Анализ ситуации 
   if (MACD_M_1<MACD_S_1 && MACD_M_0>=MACD_S_0) // Персеч. снизу вверх
      Sit= 0 ;
   if (MACD_M_1>MACD_S_1 && MACD_M_0<=MACD_S_0) // Персеч. сверху вниз
      Sit= 1 ;
   if (MACD_M_1>MACD_S_1 && MACD_M_0>MACD_S_0) // Главная выше сигн.
      Sit= 2 ;
   if (MACD_M_1<MACD_S_1 && MACD_M_0<MACD_S_0) // Главная ниже сигн.
      Sit= 3 ;
//--------------------------------------------------------------- 5 --
   // Изменение свойств объекта
   ObjectSetText ( "Label_Obj_MACD" ,Text[Sit], 10 , "Arial" ,Color[Sit]);
//--------------------------------------------------------------- 6 --
   return ;                             // Выход из start()
  }
//--------------------------------------------------------------- 7 --
int deinit()                           // Спец. функция deinit
   {
   ObjectDelete ( "Label_Obj_MACD" );     // Удаление объекта
   return ;                             // Выход из deinit()
   }
//--------------------------------------------------------------- 8 --
 
double close_price( int nomer_bara)
{
if (nomer_bara< 1 )
{
Alert ( "нельзя анализировать текущий бар" );
}
else
{
if ( iClose ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)< iHigh ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)/ 3 ) //возвращает 1/3 если цена текущего бара закрылась ниже 1/3 его спреда 
{
return ( 1 / 3 );
}
if ( iClose ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)> iHigh ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)/ 3 &&( iClose ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)< iHigh ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)* 2 )/ 3 ) //возвращает 2/3 если цена текущего бара закрылась ниже 2/3 и выше 1/3 его спреда 
{
return ( 2 / 3 );
}

if (( iClose ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)>( iHigh ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara))* 2 )/ 3 && iClose ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)< iHigh ( Symbol (), NULL ,nomer_bara)- iLow ( Symbol (), NULL ,nomer_bara)) //возвращает 1 если цена текущего бара закрылась выше 2/3 его спреда
{
return ( 1 );
}
}

}

 if (close_price( 1 )== 1 / 3 ) // в случае если цена закрылась внизу то нарисовать линию на этом баре
   {
 SetVLine(Red, "" , Time [ 1 ], STYLE_SOLID , 2 );
   }
и так вся проблема заключается в том что линия рисуется на каждом баре не пойму какого черта... помогите пожалуйста
가격이 바닥에서 마감된 막대, 즉 막대의 1/3에 을 그어야 합니다.
 

안녕하세요! 윈도우 재설치 하려고 하는데 어드바이저 폴더를 하드디스크로 옮기는데 최근에 작성하신 전문가가 없네요! 가장 좋은 방법이 무엇인지 알려주세요.

*문서에 코드를 저장한 다음 코드가 많기 때문에 다시 생성하지 않겠습니다. 인적 요소로 인해 데이터가 손실되는 것을 원하지 않습니다. :)

 
안녕하세요! 도와주세요, 제발!!! 어드바이저가 사라졌다고 작성한 프로그래머가 직접 끝내야 했고 ... 구현되지 않은 기능이 하나 남았습니다. EA는 저항 지원 수준 + fibo 수준을 두 번째 신호로 분해하여 작동하므로 fibo에 따라 이동합니다. EA에는 fibo가 한 번만 입력되었는지 확인한 다음 새로운 정점의 모양으로 다시 그려지는 기능이 있습니다. 결과적으로 신호가 있음이 밝혀졌지만 최소 요구되는 dc 이익을 취하는 데 필요한 몇 가지 제한 사항이나 몇 가지 포인트로 인해 작동하지 않았습니다. fibo는 새로운 최고점을 형성하지 않았고, 다시 그리기도 하지 않았고, 가격이 계속 흐르고, 역전되어 매도가 필요할 때 매수 거래를 합니다 . .. 도와주세요, 알려주거나 어드바이저에게 링크를 던져주세요. 위로, 그리고 위에서 아래로 앉았다. 미리 감사드립니다!!!!!
 

여러분 도와주세요. (아직 마감되지 않은) 마지막 오픈 오더의 로트를 알려주는 기능이 있습니다. 끝에서 두 번째(시간 규모) 미결 주문(아직 마감되지 않음)의 로트를 반환하도록 수정할 수 있습니까? 배열을 사용하지 않고 그냥 하세요.

 double FindLastLots ( int otype)
{
   double oldopenprice,oldlots;
   int oldticket;
  
  ticket = 0 ;
  
   for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
  {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) 
    {
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic && OrderType () == otype)
      {
         oldticket = OrderTicket ();
         if (oldticket>ticket)
         {
            oldlots = OrderLots ();
            ticket = oldticket; 
         } 
      }  
    }
  }
   return (oldlots);
}
 
Trader7777 :

여러분 도와주세요. (아직 마감되지 않은) 마지막 오픈 오더의 로트를 알려주는 기능이 있습니다. 끝에서 두 번째(시간 규모) 미결 주문(아직 마감되지 않음)의 로트를 반환하도록 수정할 수 있습니까? 배열을 사용하지 않고 그냥 하세요.

여기에도 배열이 없습니다. 코드는 그다지 신뢰할 수 없습니다. 미결 주문 목록에서 마지막 주문을 찾고 있습니다. IMHO, 그것에 부착하는 것은 그다지 신뢰할 수 없습니다. 마지막 열린 것을 찾는 가장 슬픈 방법은 열리는 시간입니다 (모든 것 중 가장 작음)
 
단축키로 어떻게든 교묘하게 추세선을 호출하는 것이 가능합니까?