#property indicator_chart_windowexternint boom = 1;
//=================================void fishka(int ma,int mi,double map,double mip) // ф-ция
{
ObjectCreate("Макс_Мин",OBJ_TRENDBYANGLE,0, Time[ma], map, Time[mi], mip);// Проводим линиюObjectSet("Макс_Мин",OBJPROP_RAY,false); // Выключить свойство бесконечного луча
}
int deinit()
{
ObjectsDeleteAll();// Удалим все объектыreturn(0);
}
void start()
{
string Символ = "GBPUSD";
datetime Первый, Последний;
int Период=PERIOD_H1;
Последний = iTime(Символ, Период, 0);// Прежде всего узнаем дату и время последнего бараif(boom){
Alert("Последний бар на часовом ",Последний);}
MqlDateTime MqlПервый; // Теперь получить начало суток, обнулив часыTimeToStruct(Последний,MqlПервый); // Для этого преобразуем время последнего бара в структуру
MqlПервый.hour=0;
Первый=StructToTime(MqlПервый); // Терерь надо обратно преобразовать во времяif(boom){
Alert("Первый бар на часовом ",Первый);} // Смотрим начало первого бара сутокint НомерПервого=iBarShift(Символ, PERIOD_H1,Первый);// По времени определим номер первого бара сутокif(boom){
Alert("Первый бар на часовом под номером ",НомерПервого);}
// Можно было просто узнать время начала бара на D1// Теперь у нас есть НомерПервого бара, а номер послелнего = 0// Найдем на этом интервале номера баров, где макс и мин// iHighest и iLowest находят номер бара с макс и мин ценойint БарМакс = iHighest(Символ, // symbol = инструмента
Период, // timeframe = ПериодMODE_HIGH, // Наибольшая цена бара
НомерПервого+1, // Количество баров0); // Начальный барint БарМин = iLowest(Символ,Период,MODE_LOW,НомерПервого+1,0); // Наименьшая цена бараif(boom){
Alert("Максимальный бар = ", БарМакс, " Минимальный бар = ", БарМин);}
double max_price=iHigh(Символ, Период, БарМакс); // iHigh и iLow дают макс и мин цены указанного бараdouble min_price=iLow (Символ, Период, БарМин);
fishka(БарМакс,БарМин,max_price,min_price); // ф-цияif(boom){
Alert("Максимум цены = ", max_price, " Минимум цены = ", min_price);
Alert("Угол = ", ObjectGetDouble(0,"Макс_Мин",OBJPROP_ANGLE));} // Теперь хорошо бы узнать угол
}
まあ...そこまで掘り下げて考える必要はないと思いますが、ループでのリクエストは、本当に最初に目に飛び込んでくるものです。
もし、このデータが1回だけ、あるいは1時間に1回だけ必要だとしたらどうでしょう?なぜ無駄なループを作るのか?
質問者本人を除いては、誰も彼が何を望んでいるのかわからないのです。だから、彼がアドバイスされたように、テレパシークラブで自分の質問の立て方の失敗を読んでくるようにとアドバイスするしかないのである。そして、少し笑うことにした人たちに気を悪くしないでください。
トローラー:)より良い提案は、価格をループさせることでしょう。従って、配列に格納する。
私見では、もっとシンプルにこのように考えています。
画面に即座にアラート出力。これがテーブルの最後です
質問をお読みになりましたか?見逃しているようですね。
私の質問が明確でなかったとだけ答えればよかったのに。 そして、あなたは "塩、コショウ..."。攻撃的
最初の返信を読んでください、あなたへの質問でした。はっきり答えてくれれば、また違う話になったかもしれません。
どのような信号のことを聞いていたのですか?
キャンドルデータとどう関係があるのでしょうか?
一日だけでなく、履歴を表示するためにループにそれを置く方法、すべての蛇のようにねじれが動作しません、興味が技術的であり、私はかゆいです))
2つの機械が重なる部分を正しく、より正確に価格を知るにはどうしたらいいのでしょうか。
棒と棒の間が交点で、棒を基準に計算します。それとも、もっと正確さが必要なのでしょうか?補間することは可能ですが、しなければならないのでしょうか?スローMaは同じ値です。
バーとバーの間の交差点で、バー単位で計算されます。それとも、もっと正確さが必要なのでしょうか?補間することは可能だが、そうすべきなのか?スローマも同じ値です。
交差点の左右のバーのMAが、交差点での価格と異なっている。質問者は、隣のバーの値ではなく、正確な交差点の値が欲しいのだと理解しています。この正確な値は、バーとバーの間のMAが直線で構成されているため、線形補間を用いて得ることができる。または、隣接するバー上の各MAの座標を取る。2本の直線を解析的に構成し、その交点を計算する。2つの相似な三角形を考えて計算することが可能です。なぜ、それが必要なのかという疑問が生まれます。そのコストは、結果の価値に見合っているか?結局、MAパラメータを最小に変更すれば交点は移動する。ほとんどの場合、コースプロジェクトの 責任者から要求されます