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

 
Fox_RM:

しかし、そう簡単にはいかないことがわかりました。名前に数字を付けると、3行(例えば)作成されますが、どこにも移動しません:( 閉ループを行い、毎回新しい数字を割り当てなければならないことが判明しましたが、ここでは、割り当てと同じ状況になっています。

タイムライン名。ひどいもんだ...。


この指標を見てください
ファイル:
_linestat.mq4  6 kb
 
alsu:
頭にもっていく
ありがとうございました。
 
void flatline(string labebe,datetime time1,double price1,datetime time2,double price2,color colir, int W)
  {
     ObjectCreate(labebe, OBJ_TREND, 0,time1,price1,time2,price2);
   ObjectSet(labebe, OBJPROP_COLOR, colir);
   ObjectSet(labebe, OBJPROP_STYLE,0);
   ObjectSet(labebe, OBJPROP_RAY,0);
   ObjectSet(labebe, OBJPROP_WIDTH,W);   
   ObjectSet(labebe, OBJPROP_BACK, true);
   }
線を描くための機能コード。ご対応いただいた皆様、本当にありがとうございました。
 

みんな助けて。

問題はこれ、自作のグラフィカルなインジケータがあるのですが、ある時点が来たときに、仮に現在時刻が

if ((k>=15 && k<16) || (Hour()>=15)) // где k- по прошлым дням (для рисования не только в одном дне, но и по всей истоии)

昔の取引セッションで極限値を描くはずなのですが(今どこで取引しているか判断するのに便利です)、タイムフレームを前後に切り替えた場合のみ、インジケータがチャートを描かないのが難点です・・・。

以下は、描画コードの一部です。

if (Close[iHighest(NULL,0,MODE_CLOSE,8*p_t,i-15*p_t)]> Open[iHighest(NULL,0,MODE_OPEN,8*p_t,i-15*p_t)])
{

max_eu=Close[iHighest(NULL,0,MODE_CLOSE,8*p_t,i-15*p_t)];
Name="max2";
ObjectCreate(Name,OBJ_TREND,0,Time[iHighest(NULL,0,MODE_OPEN,8*p_t,i-15*p_t)],max_eu,Time[i]+l,max_eu);
ObjectSet(Name, OBJPROP_COLOR, Navy);
ObjectSet(Name,OBJPROP_RAY,false);
ObjectSet(Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_M30| OBJ_PERIOD_M15 | OBJ_PERIOD_M5);
ObjectSet(Name, OBJPROP_WIDTH, 1);

Label="надпись2";
ObjectCreate(Label,OBJ_TEXT,0,Time[i]+l,max_eu);
ObjectSetText(Label,"Max Европа ", 8, "Arial", Navy);
ObjectSet(Label, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_M30| OBJ_PERIOD_M15 | OBJ_PERIOD_M5);

WindowRedraw();
}

混乱してるんだ...

 

DOCTORS:

手づくり

It's right


混乱してるんだ...

絡みを解くには、if(...)の後にPrint()を置いて、条件まで含まれるかどうかを確認します。
 
alsu:
しょうがない


解くには、if(...)の後にPrint()を入れて、条件が含まれているかどうかまで確認します。
そこにはいくつかの条件があるのですが...。これは選択肢の一つです。プリントを貼る...
 

統計を取るための同様のプログラムがあれば教えてください。

}
 
Fox_RM:
線を描くための機能コード。ご対応いただいた皆様、本当にありがとうございました。
void flatline(string nm,datetime t1,double p1,datetime t2,double p2,color clr, int W){
   ObjectDelete(nm);// это не обязательно.
   ObjectCreate(nm, OBJ_TREND, 0,0,0,0,0);
   ObjectSet(nm, OBJPROP_PRICE1,p1);
   ObjectSet(nm, OBJPROP_TIME1,t1);
   ObjectSet(nm, OBJPROP_PRICE2,p2);
   ObjectSet(nm, OBJPROP_TIME2,t2);
   ObjectSet(nm, OBJPROP_COLOR, clr);
   ObjectSet(nm, OBJPROP_STYLE,0);
   ObjectSet(nm, OBJPROP_RAY,false);
   ObjectSet(nm, OBJPROP_WIDTH,W);   
   ObjectSet(nm, OBJPROP_BACK, true);
   WindowRedraw();// если обновлять на каждом тике, лучше поставить в самом конце старта
   return;   
}
 

アラート(「強気バーの数 = ", vverh, " - ", vverh/(Konec/100), " % " )が表示されます。


vverh/(Konec/100)式でカンマのない整数が表示されるのですが、なぜか教えてください。小数点以下は4桁目まであるはずなのに、そのまま整数で出てしまう。=(

Alert ("ゼロバーの数 = ", nul, " - ", DoubleToStr(nul/(Konec/100),2), " % " ); この式もうまくいきません。

 
ChAnton:

アラート(「強気バーの数 = ", vverh, " - ", vverh/(Konec/100), " % " )が表示されます。


vverh/(Konec/100)式でカンマのない整数が表示されるのですが、なぜか教えてください。カンマの後は4桁目までの数字になるはずですが、整数が表示されます。=(

隠れ家