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

 
Vinin:

iBarShift

バー値ではなく、シーケンス番号です。
 
001:
これはシーケンス番号であり、バーの値ではない。
つまり、インデックスを使って欲しいものを探すことができるのです))MQL4リファレンスガイド / 定義済み変数
 

預け入れ通貨(ルーブル)でのSL/TP注文の損益をプログラムで計算する方法は?

つまり、SL/TPラインの上にマウスを置いたり、マウスでドラッグしたときにMT4が表示する利益数値を正確に 取得する必要があります。

MODE_TICKVALUEを取得して、SL/TPまでの距離をpips単位で掛けてみてはどうでしょうか?EURUSDで試してみましたが、同じような感じですが、他のペアでは少なくとも若干のダイバージェンスが出現します。そして、MT4では、少なくとも何ルーブルか常に多くなっています。例えばGBPNZDの場合。

 

新しいバーが表示されたときにログに情報を出力する簡単なEAを作りました。

#property strict
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(IsNewBar(_Symbol,PERIOD_CURRENT)==true) Print("New bar!");
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//=== Function
bool IsNewBar(string f_Symbol,      // symbol
              ENUM_TIMEFRAMES f_TF) // timeframe
  {
//---
   static datetime f_LastBar=0;
   datetime f_CurrentBar=iTime(f_Symbol,f_TF,0);
//---
   if(f_LastBar!=f_CurrentBar)
     {
      f_LastBar=f_CurrentBar; return(true);
     }
   else return(false);
  }

新しいバーの最初のティックにメッセージが表示されるという意味で、正しく動作しています。しかし、なぜかメッセージの時刻は前のバーと関係がある。写真を添付したいのですが。最初のものは、現在時刻が21:50:57で、 新着メッセージが2件だけであることを示しています。2番目の図では、現在の時間21時51分23秒、新しいバーの3番目のレコードがあり、それが21時51分00秒後に現れたメッセージを見た何とかログに記録の時間その20時50分47秒(明らかに、サーバーと私のコンピュータの間に1時間の差がある)、私の時間が正しくないことです。自分のをチェックしてもらえますか?みんな同じなのか、不具合なのか。



 

あなたのコンピュータの時計が数秒遅れているか、サーバーの時計が少し速いか、あるいはその両方かもしれません。現在のバータイムをPrint()する。

if(IsNewBar(_Symbol,PERIOD_CURRENT)!=true) Print("New bar! ", Time[0]);

または、サーバ時刻とローカル時刻の 両方

 
Vadim_2015:
まあ、インデックスを使って欲しいものを探せばいいんですけどね))MQL4リファレンス / 定義済み変数

いいえ、そうではありません。私は、「 インジケーターの バーの値を時間によって バーの時間によって)知るにはどうしたらいいのですか?もし私たちが単にiBarShiftに 一日の希望する時間帯(例えばTF H1では、我々は常に新しい日ごとに変化するチャートD1上のシフトを取得し、すなわち、すべての新しいバーには同じことがあります)入れた。

 
001:

いや、これはちょっと違う。私は、「 インジケーターの バー(WANTED DAY)の値を 時間(by bar time)で知るには?もし私たちが単に iBarShiftに 希望する日の時間(例えば、TF H1で、我々は常に新しい日の到来とともに変化するチャートD1、上のシフトを取得し、すなわち、すべての新しいバーが同じ値を持つことになります)。


- インジケータで 値を 求めるには?

価値とは何か?

- "あからさまな代用品なら"

この関数を理解していないと、「新しい」値が得られるので、新しいバーはすべて同じ値を持つことになります。

 

こんにちは。

EAをテストする際に問題に直面した。数ヶ月間はすべてが順調で、私は自分のルールに従って注文を出したり閉じたりするEAをいくつか作りました。ある日、別のEAがテストを停止した。テスターで設定した時間に関係なく1ヶ月が経過すると、必ず2014年9月となり、テストが停止してしまいます。それを掘り出すのに時間がかかり、ヒストリカルデータをダウンロードするなどして、MetaTraderを再インストールすることにしました。そこで、Meta Traderを 再インストールしようと思い、アンインストール、再インストールを行いました。現在、一般的に利用可能なすべてのExpert Advisorが機能しなくなりました。注文が開けない。過去のデータもありますしね。イメージングが有効な場合、チャートは必要な期間を通過しますが、取引は行われません。せめてどの方向に掘ればいいのか、アドバイスをください。私の考えはすべて終わっています。

ありがとうございました。

 
sergeev:

- インジケータで 値を 求めるには?

価値とは何か?

- "プラグインすれば"

この "マヌケ "なコードを見せれば、何か話せることがあるはずだ。今のところ、私たちが見ることができるのは、あなたが関数の仕組みを理解していないことだけだ。


反論する気も起きない。プログラミングは苦手なんです。私は、たまにですが。コードは後で。"Value "はオープンです。

 

みなさん、こんにちは!三角形のプロットや鈍角の計算の仕方を教えてください。