[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 350

 
時間割は自分で更新する必要があります。
 
smartemiy:

を、同じルーピングで?

やってみる
 
Serg16:

iHigh(Symbol(),timeframe,shift)のシフト制限で 1000という数字に 制限されている問題を解決して ください。

iTime(Symbol(),timeframe,1001)は1970.01.01 00:00を与える。

履歴ファイルから読み込むという1つの選択肢しかないことを誰も助けられないのですか?それしかない場合、履歴ファイルで必要な情報を判断する既成の方法をお持ちの方はいらっしゃいますか?
 
sergeev:

スペースバーを押さずに、電源ボタンを信号が消えるまで5〜10秒押し続けるのです。

KVNではモデレータの間で、あなたはチームのキャプテンになります...スペースバーを押しても警告が消えないのですが・・・。端末のバージョンは最新の500...初めて見ました。
 
そして、「ツール - 設定」メニューの「イベント」タブでは、かなりひどい状況になっていますが。使ってみてください :(
 

みんな、ヒントをください。すでに質問しているのですが、コードがうまくいきません。

もう一度、そのアイデアの要点をお伝えします。Awesomインジケータにより、ボトム(0以下)からトップ(0以上)まで、波のボリューム(インジケータVolumes)を計算します。

波動の体積の合計を示すテキストラベルは、インジケータ・チャートに印刷され、全履歴にわたって計算されるはずです。

これを手に入れた。

イチジク

エラーは何ですか?

#property  indicator_separate_window
#property  indicator_buffers 2
#property  indicator_color1  Red
#property  indicator_color2  SteelBlue
#property  indicator_width1  2

//---- basic fan indicator parameters

extern bool Show_AOLine_2=true;
extern int SlowEMA3=34;
extern int EMA=3;
extern bool Show_Volume=true;
extern double coaf=0.5;
//---- indicator buffers
double AOBuffer3[];
double ExtMapBuffer1[];


    double VLUP, AO_up,AO_dn;
    double prhgh_e=0, prhgh_s, prlw_e=0, prlw_s;
    datetime tmhgh, tmlw;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   //---- drawing settings
   
  string name_ind = "Awesome_super_volumes";
   IndicatorShortName("Awesome_super_volumes");
   
   
//---- AO_fan line 2 (basic)
   if(Show_AOLine_2 ==true){Show_AOLine_2=DRAW_LINE; }
   else 
    {Show_AOLine_2=DRAW_NONE; }
   SetIndexBuffer(0,AOBuffer3);
   SetIndexStyle(0,Show_AOLine_2);
   SetIndexLabel(0,"basic line");   

   SetIndexBuffer(1,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexLabel(1,"Volume");
   
  //---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Awesome Oscillator                                               |
//+------------------------------------------------------------------+
int start()
  {
  
   int    limit;
   int    counted_bars=IndicatorCounted();
   double prev,current;
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++)
   {
     
 //---- AO_fan + Volumes
     
AOBuffer3[i]=iMA(NULL,0,EMA,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,SlowEMA3,0,MODE_SMA,PRICE_MEDIAN,i);
if (Show_Volume==true)
{
double nSum = Volume[i]*Point*coaf;
   if (AOBuffer3[i]<=0)ExtMapBuffer1[i] = nSum;
   if (AOBuffer3[i]>0)ExtMapBuffer1[i] = -nSum;


double Vol_Arr[];
  if (AOBuffer3[i]<=0)Vol_Arr[i]=Volume[i]*Point*coaf;
  if (AOBuffer3[i]>0)Vol_Arr[i] = -Volume[i]*Point*coaf;
}
}

  //-- Поиск High & Time & Min_AO  
  if (AOBuffer3[i]>0)
  {
    
  AO_up = AOBuffer3[i]*0.1+AOBuffer3[i];
  prhgh_s = High[i];
  if (prhgh_s >= prhgh_e) {prhgh_e = prhgh_s; tmhgh = Time[i];}
  //SetText("Awesome_super_volumes"+Close[i], DoubleToStr(VLUP,0), tmhgh, AO_up, Black);
  }   
   
  //-- Поиск Low & Time & Max_AO 
  if (AOBuffer3[i]<0)
  {
  AO_dn = AOBuffer3[i]*0.1+AOBuffer3[i];
  prlw_s = Low[i];
  if (prlw_s > prlw_e) {prlw_e = prlw_s; tmlw = Time[i];}
  //SetText("Awesome_super_volumes"+Close[i], DoubleToStr(VLUP,0), tmlw, AO_dn, Black);
  } 
  
  // -- Пересчет баров от High до Low
  
  if(NewBar())
{ 
int colbr = iBarShift(NULL,0,tmhgh)-iBarShift(NULL,0,tmlw);     
int shift=iBarShift(NULL,0,tmhgh);
 for (i=0; i<=colbr; i++)
{VLUP += MathAbs(iVolume(NULL,0, shift+i));}
}


    
   Comment("Vol_",VLUP,prlw_e,prhgh_e); 
  for(i=0; i<limit; i++)
   {     
SetText("Awesome_super_volumes"+Close[i], DoubleToStr(VLUP,0), tmlw, AO_dn, Black);     
 }
        
//---- done
   return(0);
  }
//+------------------------------------------------------------------+
void SetText(string name, string Vl, datetime t1, double p1, color c)
 {
 // if (ObjectFind(name)!=-1) ObjectDelete(name);
  ObjectCreate(name,OBJ_TEXT,WindowFind("Awesome_super_volumes"),0,0,0,0);
  ObjectSetText(name, Vl, 10, "Times New Roman", c);
  ObjectSet(name, OBJPROP_TIME1 , t1);
  ObjectSet(name, OBJPROP_PRICE1, p1);
  ObjectSet(name, OBJPROP_COLOR, c); 
  }
  
  bool NewBar()
{
   static datetime lastbar = 0;
   datetime curbar = Time[0];
   if(lastbar!=curbar)
   {
      lastbar=curbar;
      return (true);
   }
   else
   {
    return(false);
   }}
 
smartemiy:

1.変換機能で変換し、この機能での変数の変化は、目盛りがない場合は変化しません。TimeToStr(TimeLocal(), TIME_MINUTES) - tickに依存します。

EAが動かなくならないように、Win32/User32から時間を抜き出す方法ってありますか?

1.これらの機能はいずれもダニに依存するものではありません。関数を呼び出すだけで、戻り値を得ることができます。インジケーターとExpert Advisorはティックの到着時に呼び出しますが、大きな問題はありません。Expert Advisorやスクリプトはループさせることができます。呼び出しの頻度は、インジケーターやスクリプトと同じになります。

2.センスがない。同じTimeLocal()を考案する必要があります。

 
Heroix:

形式的な関数パラメータにおける「&」の意味について、教科書には何も書かれていなかったんです。何に影響するのか、どういう意味なのか、教えてください。


https://docs.mql4.com/ru/basis/variables/formal


パラメータを参照渡しすることができる...」という言葉から2番目の部分です。そこをよく見てください。 例

 
でも、早いですね。自分で見つけたので投稿を削除。ありがとうございます!(笑)。
 

こんにちは。

例えばストキャスティクスのクロスを修正するのに最適な方法をアドバイスしていただけませんか?

は、信号線と主線の値を比較したり、第1と第3のバーで第1と第2?