[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 422

 
教えてください - for(s)の中のforは機能するのですか?
 
elmucon:
教えてください - for(s)の中のforは機能するのですか?
効くんです。他のオペレーターも全て動くくらいです。
 
Zhunko:
効くんです。他のすべてのオペレーターでも動作します。

ありがとうございました。
 
エキスパートアドバイザーで、線の代わりに矢印を作成するインジケータ信号を入力に使用するコードの断片を提供してください(すなわち、インジケータスタイルはSetIndexStyle(0、DRAW_ARROW、EMPTY、3)として定義されています)。下矢印で売り、上矢印で 買いを表示させたい。標準のメソッドではなぜか失敗しました(
 

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すらポップアップしないのはなぜか、教えてください。

尊敬する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すらポップアップしないのはなぜか、教えてください。

尊敬するvoix_kasのロットコントローラ。私自身による若干のリデザイン。


そして、ティックごとにアレイのサイズが 大きくなっていくのですか?

バランスインジケーターを作ると楽かもしれませんね。そして、Expert Advisorsでは、それに対処することになる。

 
Vinin:


そして、毎ティックごとにアレイのサイズが大きくなるのですか?

それに、バランスインジケーターを作るのも簡単かもしれませんね。そして、Expert Advisorでは、すでにそれを参照することになります。


可能ですが、この場合、Expert Advisorの動作が遅くなります。と画面上の出力でもナンセンスが判明し、それは取引が閉じているときにのみ描画し、それがバランスの連続線として存在させる方法、私は理解していない、誰かが言うことができる?