[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 422

 
말해봐 - 내부에서 (a)가 작동합니까?
 
elmucon :
말해봐 - 내부에서 (a)가 작동합니까?
공장. 다른 모든 운영자도 작동합니다.
 
Zhunko :
공장. 다른 모든 운영자도 작동합니다.

감사합니다!
 
인사말! 선이 아니라 화살표를 입력하는 표시기의 신호를 사용하는 EA의 코드 조각을 알려주십시오(즉, 표시기 스타일은 SetIndexStyle(0, DRAW_ARROW, EMPTY, 3)로 정의됨). 아래쪽 화살표가 있으면 판매가 필요하고 위쪽 화살표 가있는 구매가 필요합니다. 어떤 이유로 표준 방법이 작동하지 않았습니다(
 

pliz, 어떻게 rsi 기간(기본값 14)을 변경할 수 있습니까?

감사해요


 //+------------------------------------------------------------------+
//|                                                  RSI_to_File.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.ru/"

#property show_inputs
string SymbolsArray[ 11 ]={ "" , "USDCHF" , "GBPUSD" , "EURUSD" , "USDJPY" , "CHFJPY" , "EURGBP" , "EURCHF" , "EURJPY" , "GBPJPY" , "GBPCHF" };

//+------------------------------------------------------------------+
//| string SymbolByNumber                                   |
//+------------------------------------------------------------------+
string GetSymbolString( int Number)
  {
//----
   string res= "" ;
   res=SymbolsArray[Number];   
//----
   return (res);
  }

//+------------------------------------------------------------------+
//| возвращает период                                                |
//+------------------------------------------------------------------+
int PeriodNumber( int number)
   {
   int per_min;
   switch (number)
      {
     
       case 5 : per_min= PERIOD_H4 ; break ;
       default : per_min= PERIOD_D1 ; break ;
      }
   return (per_min);   
   }

//+------------------------------------------------------------------+
//|   выводит в файл котировки + значения индикатора                 |
//+------------------------------------------------------------------+
void RSI_output( string SymbolName , int PeriodMinutes)
   {
   int size= iBars ( SymbolName ,PeriodMinutes);
//----
   if (size== 0 ) return ;
   int handle= FileOpen ( SymbolName +PeriodMinutes+ "_RSI.csv" , FILE_WRITE | FILE_CSV );
   if (handle< 0 ) return ;
   FileWrite (handle, "Time;RSI" );
   for ( int i=size- 1 ;i>= 0 ;i--)
      {
       FileWrite (handle, TimeToStr ( iTime ( SymbolName ,PeriodMinutes,i))
         , iCustom ( SymbolName ,PeriodMinutes, "RSI" , 0 ,i));
      }
   FileClose (handle);      
//----
   return ;
   }
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int SymbolCounter,PeriodCounter; 
//----
   for (SymbolCounter= 1 ;SymbolCounter< 13 ;SymbolCounter++)
      {
       for (PeriodCounter= 2 ;PeriodCounter<= 6 ;PeriodCounter++)
         {
         //Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M");
         RSI_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
         }
      }
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

 

여러분, OPLI 온라인을 사용할 수 있도록 등록할 수 있는 곳을 손가락으로 찌르십시오. 로그인 및 비밀번호는 어디에서 얻을 수 있습니까 ???

 
봐, 난 시간 기능이 있어
 ObjectGet ( "qwerty" ,OBJPROP_TIME2);
그것은 1323452400으로 밝혀졌습니다. 내가 이해하는 시간은 초 단위입니다. 이 시간에서 600을 빼면 새 위치는 5분 차트에서 뒤로 10바가 되지만 실제로 새 좌표는 1바만 이동했는데 왜 이런 일이 발생합니까? 그리고 시프트가 10바가 되려면 약 3000을 빼야 합니다. 여기에 논리가 어디에 있습니까?
 

변수를 인쇄할 수 없는 이유를 알려주십시오. 심지어 0도 나타나지 않습니다.

Lot Regulator 친애하는 voix_kas. 제가 조금 수정했습니다.

 double GetLot( int FastPeriodMA, int SlowPeriodMA) {
int i;
static double Lot = 0 ;
static double PrevBalance = 0 ;
static double BalanceOld[ 0 ];
static double BalanceNew[ 0 ];
if ( NormalizeDouble (PrevBalance - AccountBalance (), 2 ) != 0 ) {
ArrayResize (BalanceNew, ArraySize (BalanceOld) + 1 );
for (i = 0 ; i <= ArraySize (BalanceOld) - 1 ; i++)
BalanceNew[i] = BalanceOld[i];
BalanceNew[ ArraySize (BalanceOld)] = AccountBalance ();
ArrayResize (BalanceOld, ArraySize (BalanceOld) + 1 );
ArrayCopy (BalanceOld, BalanceNew);
PrevBalance = AccountBalance ();

if ( ArraySize (BalanceNew) > SlowPeriodMA) {
double FastMA = 0 , SlowMA = 0 ;
for (i = ArraySize (BalanceNew) - FastPeriodMA; i <= ArraySize (BalanceNew) - 1 ; i++)
FastMA += BalanceNew[i];
FastMA /= FastPeriodMA;
for (i = ArraySize (BalanceNew) - SlowPeriodMA; i <= ArraySize (BalanceNew) - 1 ; i++)
SlowMA += BalanceNew[i];
SlowMA /= SlowPeriodMA;
if (FastMA > SlowMA){ Lot = 5 ; Print ( " FastMA " ,FastMA, "; SlowMA= " ,SlowMA); } 
else Lot = 0.01 ;
}
}
if (Lot < MarketInfo ( Symbol (), MODE_MINLOT)) Lot = MarketInfo ( Symbol (), MODE_MINLOT);
else if (Lot > MarketInfo ( Symbol (), MODE_MAXLOT)) Lot = MarketInfo ( Symbol (), MODE_MAXLOT);
return (Lot);
}
 
001 :

변수를 인쇄할 수 없는 이유를 알려주십시오. 심지어 0도 나타나지 않습니다.

Lot Regulator 친애하는 voix_kas. 제가 조금 수정했습니다.


그리고 각 틱 에서 배열의 크기가 증가합니까?

그리고 균형 표시기를 만드는 것이 더 쉬울 수 있습니다. 그리고 고문에서 이미 그에게 연락하십시오.

 
Vinin :


그리고 각 틱마다 배열의 크기가 증가합니까?

그리고 균형 표시기를 만드는 것이 더 쉬울 수 있습니다. 그리고 고문에서 이미 그에게 연락하십시오.


가능하지만 이 경우 어드바이저가 느리게 작동합니다. 예, 그리고 화면에 출력되는 것도 넌센스입니다. 거래가 성사되었을 때만 그립니다. 그러나 그것을 연속적인 균형 선으로 존재하게 만드는 방법을 이해하지 못합니다. 누군가 나에게 말해 줄 수 있습니까?