//+------------------------------------------------------------------+ //| Вычисляем значения точек привязки трендовых линий | //+------------------------------------------------------------------+ void CalculateTrendPoints(datetime &time_1, double &price_1,
datetime &time_2, double &price_2, double &zigbuf[])
{
int ind_time_1, ind_time_2;
int size_zigbuf = ArraySize(zigbuf);
for(int i = 0; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
price_1 = zigbuf[i];
ind_time_1 = i;
for(int i = ind_time_1 + 1; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
price_2 = zigbuf[i];
ind_time_2 = i;
//Дальше будут расчеты, в которых в зависимости от того для чего используется функция//(построение ТрЛайн для верхних пиков или для нижних)будет применяться
+ или - , < или >.
//Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), //Вопрос не сложный - как это написать???
}
//+------------------------------------------------------------------+ //| Вычисляем значения точек привязки трендовых линий | //+------------------------------------------------------------------+ void CalculateTrendPoints(datetime &time_1, double &price_1,
datetime &time_2, double &price_2, double &zigbuf[])
{
int ind_time_1 = 0;
int ind_time_2 = 0;
int size_zigbuf = ArraySize(zigbuf);
for(int i = 0; i < size_zigbuf; i++)
{
if(zigbuf[i] != EMPTY_VALUE)
price_1 = zigbuf[i];
ind_time_1 = i;
break;
}
for(int i = ind_time_1 + 1; i < size_zigbuf; i++)
{
if(zigbuf[i] != EMPTY_VALUE)
{
if(zigbuf[i] == ZigzagPeakBuffer[i] && zigbuf[i] > price_1)
{
price_2 = zigbuf[i];
ind_time_2 = i;
break;
}
if(zigbuf[i] == ZigzagBottomBuffer[i] && zigbuf[i] < price_1)
{
price_2 = zigbuf[i];
ind_time_2 = i;
break;
}
}
}
//Дальше будут расчеты, в которых в зависимости от того для чего используется функция//(построение ТрЛайн для верхних пиков или для нижних)будет применяться + или - , < или >.//Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), // Вопрос не сложный - как это написать???
}
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
必要なもの )
アレクセイ、ありがとうございます
未経験者に親切に教えてください:
MQL5/Soundsフォルダはどんな役割を果たすべき(かもしれない)のでしょうか?(質問は1221ページの一番上にあります)
新しいティックが到着したときだけ、チャートのバーの位置が変わるのはなぜか、教えていただけませんか?MT5、Just2Tradeの6月5日のビルド。
新しいティックが到着したときだけ、チャートのバーの位置が変わるのはなぜか、教えていただけませんか?MT5、Just2Tradeの6月5日のビルド。
標準の[data folder]にあるパネルの例と自分のコードを比較します。
こんにちは、目利きの方に質問です。
私はこのような構造を構築しようとしています - 関数、4つの変数は、パラメータとしてリンクによって供給され、配列は、これらの4つの変数の計算のためのデータが関数内で取得されます。プログラム中には、ジグザグの上端と下端の2つの配列があります。 この関数は、トレンドラインを描くためのポイントを計算する必要があります。
問題は、2つの配列のうちどちらが特定の反復処理で使用されているかを確認し、計算に+または-を適用するにはどうすればよいかということです。
もし、ぎこちない表現であれば、もう一度聞いてください、喜んで説明します。ここに添付したのは、施工の概要です。
つまり、zigbuf[] パラメータは、ZigzagPeakBuffer[]かZigzagBottomBuffer[] のどちらかのみで代用 されることになります。どのオプションが現在設定されているかを関数内で確認するにはどうすればよいですか?
今までは、見つかった値を比較して、どれが一致すれば、その配列は我々のものである、というように、どの配列が関与しているかを判断するように考案してきました。でも、きっともっと素敵で短い解決策があるはずです。
知っている - 教えてください !
皆さん、こんにちは))
Question:OBJ_FIBOで プロットすると、グラフ(OBJPROP_TOOLTIP)上にポップアップウィンドウが表示されない。OBJPOP_TXT/ FIBO でツールチップを使ってポップアップウィンドウを作るにはどうしたらいいのでしょうか?
目的:Fiboレベル上にマウスを置いたとき、HLINEのようなウィンドウをポップアップする(例)。
皆さん、こんにちは))
Question:OBJ_FIBOで プロットすると、グラフ(OBJPROP_TOOLTIP)上にポップアップウィンドウが表示されない。OBJPOP_TXT/ FIBO でツールチップを使ってポップアップウィンドウを作るにはどうしたらいいのでしょうか?
目的:Fiboレベル上にマウスを置くと、HLINEのようなウィンドウをポップアップします(一例)。
OBJPROP_TEXTプロパティを使用する
今までは、見つかった値を比較して、どれが一致すれば、その配列は我々のものである、というように、どの配列が関与しているかを判断するように考案してきました。でも、きっともっと素敵で短い解決策があるはずです。
知っている人~教えてください!!!
なぜ、自分で問題を作るのですか?このままでも十分でしょう。
2つの機能を別々に作ればいいんです。