//--------------------------------------------------------------------// separatewindow.mq4 // Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------#property indicator_separate_window// Отображение в отдельном окне#property indicator_buffers1// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_color2 Red // Цвет второй линииexternint History =100; // Колич.баров в расчётной истории//extern int Aver_Bars=5; // Количество баров для расчётаdouble Buf_0[]; // Объявление индикаторного массиваint Count=0; // Глобальная перемен.//--------------------------------------------------------------------int init() // Специальная функция init()
{
SetIndexBuffer(0,Buf_0); // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии//--- установим индексацию для буфера как в таймсерииArraySetAsSeries(Buf_0,true);
return(0); // Выход из спец. ф-ии init()
}
//--------------------------------------------------------------------int start() // Специальная функция start()
{
int i, // Индекс бара
n, // Формальный параметр
Counted_bars; // Количество просчитанных баров double
Sum_H, // Сумма значений High за период
Sum_L; // Сумма значений Low за период//--------------------------------------------------------------------/* Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанного
if (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.
while(i>=0) // Цикл по непосчитанным барам
{
Sum_H=0; // Обнуление в начале цикла
Sum_L=0; // Обнуление в начале цикла
for(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений
{
Sum_H=Sum_H + High[n]; // Накопление суммы макс.значений
Sum_L=Sum_L + Low[n]; // Накопление суммы мин. значений
}
Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
*/double Price = NormalizeDouble(MarketInfo(_Symbol,MODE_BID),Digits);
Buf_0[Count] = Price;
Count++; // Счётчик тиковComment ("Новый тик ",Count," Цена = ",Price);// Сообщение//--------------------------------------------------------------------return(0); // Выход из спец. ф-ии start()
}
私の理解では、PC-->MAは、PC-1>MAと同じです。
そうなんですね! でも、なぜこの組み合わせではうまくいかないのでしょうか?
とはいえ、下の写真では、すべて足し算になっていますが。
そうなんです! でも、なぜこの組み合わせではうまくいかないのでしょうか?
下の写真では、すべて一緒に写っていますが。
そうなんです! でも、どうしてこういう組み合わせだとうまくいかないんでしょうか?
下の写真では、すべてフィットしていますが
そこには何も収束しない。前のティックでMAより高く、今回のティックですでにMAより低いということはよくありますが、正確に等しくなることはありませんし、誰も見たことがないほど滅多にないことです。特に、テスター用ダニでは見ることができません。チャート上では見ることができません。また、二重価格から一単位を引いて、「PC-->MA」のようにМАと比較することは、まったく適いませんし、そんな比較では決して真実はつかめません。
皆さん、ごきげんよう。ひとことアドバイス...
インジケーターを書いているところです。上のウィンドウに別のインジケータが必要です。新鮮なデータ(ティック値)が右側に描画され、価格のように緑の矢印が付きます。
チュートリアルのインジケータを編集すると、新しいデータ(新しいティック値)が左側に描画されます(赤い矢印)。
彼らの絵を変えるのを手伝ってください。右側にあるのは、ターミナルの別ウィンドウにあるトップインジケータのように、価格と同じです。ありがとうございます。
みなさん、こんにちは。
質問です。
ticket = OrderSend(blah, blah, blah, ............................................)
チュートリアル、ドキュメント、記事、フォーラムを確認したところ、チケット 変数- OnTick()関数 内に置くものもありました。
- また、外に出す(外付けにする)人もいます。前
- 単純に宣言するものもあります ( int ticket; )
- は0に代入する(これは単純な宣言と同じ)。
- は1
もしこれが(個別のケースを除いて)重大な ことであれば、エラーにつながる可能性があり、もしそうであればどのように修正するのでしょうか???
ありがとうございました。
そこには何もない。前のティックで価格がMAの上にあり、今回のティックで価格がすでにMAの下にあるということはよくありますが、正確に等しくなることはありませんし、誰も見たことがないほど滅多にないことなのです。特に、テスター用ダニでは見ることができません。チャート上では見ることができません。まあ、価格から1台分引いて、「PC-->MA」のようにMAと比較する--そんな比較は全く通用しませんし、そんな比較は決して真実を返してくれませんからね。
こんにちは、私は新参者です。どなたか、mt4の全機能の使い方を学べるリンクを教えていただけませんか?
了解です!ありがとうございます。例えば、ある線(マービングかもしれませんが)があったとして、Askの価格がこの線に達したら買い注文を出すというのはどう書けばいいのでしょうか?))