[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 286

 
GarKain:


質問ですが、この2人が最後にすれ違ったのは、どのように計算するのでしょうか?

これでよしとする。

//+------------------------------------------------------------------+
//|                                                        e_RVI.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern int ExtRVIPeriod=10;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
 double RVI_1 = iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,0,1);
 double RVI_2 = iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,0,2);
 double RVIS_1= iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,1,1);
 double RVIS_2= iCustom( NULL,0,"Relativ Vigor Index",ExtRVIPeriod,1,2);
 
 Comment("\n","\n"," RVI:  1 Бар = ",RVI_1,
              "\n"," RVI:  2 Бар = ",RVI_2,
              "\n"," RVIS: 1 Бар = ",RVIS_1,
              "\n"," RVIS: 2 Бар = ",RVIS_2); 
              
   if(RVI_2<RVIS_2&&RVI_1>RVIS_1)    //Biu 
       SetArrow(241,Blue,"Biu"+Time[0],Time[0],Low[0],0);
       
   if(RVI_2>RVIS_2&&RVI_1<RVIS_1)    //Sell
       SetArrow(242,Red,"Sell"+Time[0],Time[0],High[0],0);       
//----
   return(0);
  }
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка значка на графике, объект OBJ_ARROW.                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cd - код значка                                                         |
//|    cl - цвет значка                                                        |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время открытия бара        (0  - текущий бар)                      |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    sz - размер значка              (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl,
              string nm="", datetime t1=0, double p1=0, int sz=0) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1    , t1);
  ObjectSet(nm, OBJPROP_PRICE1   , p1);
  ObjectSet(nm, OBJPROP_ARROWCODE, cd);
  ObjectSet(nm, OBJPROP_COLOR    , cl);
  ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
 

ごきげんよう。

トレーダーの皆さん、あるフォーラムの投稿 で、興味深い「指標」を目にしました。

間違っていなければ、5thチャートの背景には、1時間足 ローソク足のシルエット が表示されています。つまり、1時間の間に価格がどのように変化したかが明確にわかるようになっていたのです。

できればドロップ(igrok081@mail.ru) するか、どこでダウンロードできるか、せめて 名前だけでも教えてください。

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

アレクサンダー

 
r772ra:

これでよしとする。

*shamefully*私はコードを全く理解していませんでした。しかし、潔癖症で申し訳ないが、この2人が最後の1回で交差する瞬間をどうやって計算するのか知りたかった。もしかしたら、コードが正しくて、実行されてからカウントが始まるのかもしれません。もしそうなら、スクリプトを実行する前の状態を確認するにはどうしたらよいでしょうか。


どうすれば自分でできるのか?



スクリプトを開始する前かどうか、その時点の価格はいくらなのか、どうすれば確認できるのでしょうか。

 
GarKain:


醸造所がどこにあるのか、ダミーに説明してください。


こちらをご覧ください。

https://book.mql4.com/ru/samples/indicators

そして、ここにも。

https://book.mql4.com/ru/samples/shared

 
疑問が残ります。これらのラインが最近交差したとき、どのようにチェックさせることができるのでしょうか。また、そのときの価格はどうだったのでしょうか。




基本的に私が達成したいこと:

私は、チャート上の最後のクロスを見つけ、現在の価格から クロスの時の価格を減算するスクリプトが必要です。
 
可能性はないのか? 知っていれば、とっくに見つけているはずだ。
 

どのバーが交差したかを調べ、そのバーの時刻=交差時刻を求めます。

クロスの正確な価格を計算することはできますが、商品の価格が何であったかを確認することはできません。

 
FAQ:

どのバーが交差したかを調べ、そのバーの時刻=交差時刻を求めます。

クロスの正確な価格を計算することはできますが、商品の価格が何であったかを確認することはできません。

最後に交差したバーの番号が必要なのですが、どうすれば分かりますか?
 
現在のバーから履歴に深く入り、クロスオーバーをチェックし、最初のイベントで終了し、バーナンバーを記憶するサイクル
 
という情報が載っているリンクがあれば教えてください。