どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1159

 
Vitaliy Sendyaev: データをファイルに保存するインジケータがあるのですが、1つのチャートにある複数のインジケータを別のファイルにデータを書き込んで、再初期化が起きたときにそこから読み出すようにするにはどうしたらよいでしょうか?

異なる名前を持つインジケーターのコピーを作成することができます。ファイル名=インジケータ名 Automatically!乱数を使って名前を形成することができます。でも、じゃあ、誰のファイルかどうやって探すんだ?

 
STARIJ:

異なる名前を持つインジケーターのコピーを作成することができます。ファイル名=インジケータ名 自動的に乱数を使って名前を形成することができます。しかし、それでは、誰のファイルが誰のものかをどうやって探すのでしょうか?


乱数は初期化中は同じで、MathSrandで 変更するには何かとリンクさせないといけないのでは?インジケーター名は変更できません。

 
Vitaliy Sendyaev:

乱数は初期化中は同じで、MathSrandを介して変更するには、再度何かにバインドする必要がありますよね?インジケーター名は変更できません。


各インジケータは独自の設定/パラメータを持っており、これがファイル名の付け方です。"name+TF+symbol+parameter1+parameter2+parameter3"

 
Taras Slobodyanik:

各インジケータはそれぞれ設定・パラメータを持っており、そこから「name+TF+symbol+parameter1+parameter2+parameter3」のようにファイル名を決定します。


入力パラメータが同じ場合、グラフィカルなオブジェクトで動作する ため、インジケータのデータは時間的に異なる場合があります。私は、「気まぐれ」でない指標には、御社の方法を用いています。

 
Vitaliy Sendyaev:

同じ入力パラメータでも、グラフィカルなオブジェクトで 動作するため、インジケータのデータは時間の経過とともに変化する可能性があります。私は、「気まぐれ」でない指標には、御社の方法を用いています。


であれば、最初のオブジェクトが生成されるときに名前を生成し、この名前をオブジェクト(および/またはグローバル変数)に書き込み、再起動時にそれぞれが順番にその名前を取得する...。

 

動的な一次元のVariable配列がある。1日1回、D1からのフラクタルデータを入れています。動作がかなり遅くなっているその理由を考えてみました。何かコツがあれば教えてください。

追伸:MT4でMT5 Expert Advisorを動かしています。だから遅いということはないと思います。そのために遅いとはあまり思っていません。このコードのせいではないと思います。

//+------------------------------------------------------------------+
int ii=1;
double  val;
double  Variable[];
static int    PrevTime=0;
int start=1;
int New_Day,N=0;
#include <InitMQL4.mqh>
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void OnTick()
  {
//----
   int     BARS=iBars(NULL,1440);

   ArrayResize(Variable,ii+BARS,10);
   int Size=ArraySize(Variable);

   for(int x=0; x<N; x++)
     {
      //Print(" Variable[x] =",Variable[x]," x =",x," N =",N);
     }
//////////
   if(iTimeMQL4(NULL,1440,0)>PrevTime)
     {
      PrevTime=iTime(NULL,1440,0);
      New_Day=PrevTime;
      for(int i=BARS; i>0; i--)
        {
         val=iFractalsMQL4(NULL,1440,MODE_UPPER,i);
         if(val!=EMPTY_VALUE && val>0)
           {
            Variable[ii]=val;
            ii++;
           }
        }
      N=ii;
      ii=0;
     }
/////////
  }
//+------------------------------------------------------------------+
 
親愛なるトレーダーの皆様、ストラテジーに組み込めるスピードやモメンタムのインディケータを提案していただけませんか?ローソクの最大値、最小値で注文できるように......できたけど、安定しない。みたいなのがあると思うんですけど...。1ドルか2ドルのプルバックが必要だ・・・。最小限の...それだけです。
ファイル:
9na7.mq4  23 kb
 
ivan12347777:
親愛なるトレーダーの皆様、ストラテジーに組み込めるスピードやモメンタムのインディケータを提案していただけませんか?ローソクの最小値の最大値で注文できるように......できたけど、不安定だなぁ。みたいなのがあると思うんですけど...。1-2ドルのプルバックが必要だ・・・。最低限...それだけです。
知っていたら、ソチに住んでいたかもしれませんね。そして残りはCodeBaseにある - それを探すか、似たようなものを名前で見ていくしかない
 
STARIJ:
価格を知っていれば、ソチに住んでいたはずです。そして残りはCodeBaseにある - それを探すか、似たようなものを名前で見ていくしかない

その熱意と眼差しはどこへやら。

 
ivan12347777:
親愛なるトレーダーの皆様、ストラテジーに組み込めるスピードやモメンタムのインジケータを提案していただけませんか?ローソクの最小値の最大値で注文できるように......できたけど、不安定だな。みたいなのがあると思うんですけど...。1-2ドルのプルバックが必要だ・・・。最低限...それだけです。
スピード=価格変動/時間価格=HI-LOW、時間 バッファに書き込む。Speed = (High[1]-Low[1])/Period().