Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Куда исчезли "Сообщения"? У меня в профиле исчез раздел...
こんにちは。
ある計算をするEAがあるのですが。さまざまな数学演算、配列、ループを使用します。その結果をファイルに保存 します。すべてのアクションを実行した後に、すべてを最初からやり直さなければならないのです。一度すべての計算を行った後、2回目からは何もせずにハングアップしています。新しい計算を始める前に、変数をゼロにしたり、配列をクリアしたりする必要があるかどうか、アドバイスをお願いします。
ファイルを閉じてみましたか?
MT4用の松葉杖/インジケータ/スクリプト(タブ "about, general, input parameters, colors, display" があるインジケータとして)をプログラムして、.csvファイルからデータを取得するように するには、例えばソースファイルの形式を 指定します。
つまり、ファイルから記録されたデータを取り出し、それを線分(TF、TA)または色のついたバンド(EA)として、エクステントのパラメータを「1日」に等しくして 表示するインディケータ です。(МТ4上の日の垂直セパレータの境界から境界まで)、行については、線の色、線の種類の選択、テキストの色とコメントのサイズの選択とコメント行の置換として "TF - 1,192" 2行目 "TF - 1,1733" これらはファイルの該当行から取得されています。範囲は純粋に水平方向で、EUR;TF;1.192;1,1733のラインから、1つのスロットの最初の桁と2番目の桁をスロット1.192の開始とスロット1.192の終了としています。
また、レンジもあり、例えばEAでは、原理は最初から最後まで同じですが、価格が異なり、ラインはCHF;AB1;1.03484132734247;1.02549513556164始まりは 1.03484132734247 終了はレンジ1.02549513556164と します。MT4を起動すると(gafikの通常のインジケータとして)、毎日チャート上に、現在の日のすべてのデータを一度に正確に追加し、以前に適用されたすべての行がチャートから削除されず、重複しないように動作します。このすべてで、その日のすべてのセグメントと範囲を選択し、表示します。アクティブウィンドウが今ある場所と、他のアクティブウィンドウ(つまり実行中の場所)のみです(つまり、ペアを開き、インディケータが現在の日のすべてのセグメントと範囲を描き、ペアのために落ち着くなどしました)。
例えば、インジケーターのInput parametersのタブは どのように表示すればよいでしょうか。
自分自身を落書きしようとしたが、簡単に見えたが、いまいましいものを取得しないでください(しかし、私は人道的であり、何ができる...)ヘルプは、溺死してください!!!!!!!!!!!!!!!!。
こんにちは。
以下のプログラムのバグを見つけるのを手伝ってください!!!
//+------------------------------------------------------------------+
//|をテストしています。mq4|(エムキューブ
//| Copyright 2018, MetaQuotes Software Corp.
//|httpsを使用しています。//wwwmql5.com|コメント||電子書籍ストア「BookLive!
//+------------------------------------------------------------------+
#property copyright "365_MA"
#プロパティリンク "https://www.mql5.com"
#property version "1.00"
#プロパティの厳密さ
extern Period_MA = 365; //周期MA 1
extern double Delta = 0.0010; //注文を開けることができる距離
string Symb; //取引商品の名称
//int 合計; //注文数
//+------------------------------------------------------------------+
//|エキスパート初期化関数|
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//|エキスパート初期化関数|
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Obj_Label")。
ObjectDelete("Obj_Label2")。
//----
return(0)です。
}
//+------------------------------------------------------------------+
//|エキスパートスタート機能|
//+------------------------------------------------------------------+
int start()
{
double prise = Bid;//現在の価格
double CurrMAValue = iMA(Symb, Period(),Period_MA, 0,Mode_EMA, PRICE_CLOSE, 0); //移動平均の 値です。
double Price2MA = price - CurrMAValue;//MAと価格の距離
datetime NextClose = Time(0) + Period()*60*2;//閉じる時間
int MinutesToNextClose = (NextClose - TimeCurrent())/60 + 1; //クローズまでの時間(分)
//int err;
//チャートのテキスト情報を更新する
ObjectSetText ("Obj_Label", "TF" + Period() + ", " + DoubleToStr(price, 4) + ", tick " + TimeToStr(TimeCurrent(), TIME_SECONDS) + ", O@")+ TimeToStr(Time[0], TIME_MINUTES) + ", NC@".+ TimeToStr(NextClose, TIME_MINUTES) + " (" + MinutesToNextClose + " min)", 10,
ObjectSetText ("Obj_Label2", "Delta " + DoubleToStr(Delta,4) + ", MA value " + DoubleToStr(CurrMAValue, 4) + ", distance to MA " + DoubleToStr(Price2MA, 4), 10, "Arial", DarkGreen );
//価格を考慮し、アラートを生成する
if ((MathAbs(Price2MA) < Delta) && // МАとの距離がデルタより小さい場合。
(価格 > CurrMAValue) && // そして価格はMAより高いです。
(Open(0) > CurrMAValue+Delta) // かつ、現在のローソク足がMA+Deltaより高く開いた場合。
(
アラート(「価格は上からMAに接近しています。)
)
if ((MathAbs(Price2MA) < Delta) && // MAとの距離がデルタより小さい場合。
(価格 < CurrMAValue) && // 価格がMAの下にある。
(Open(0) < CurrMAValue-Delta)) // そして、現在のローソク足はMAデルタの下でオープンしました。
(
アラート(「価格がMAの下に接近しました。)
)
return(0)です。
//+------------------------------------------------------------------+
コンパイル後、以下のエラーが発生します。
こんにちは。
以下のプログラムのバグを見つけるのを手伝ってください!!!
コンパイル後、以下のエラーが発生しました。
中括弧が抜けています。
ジグザグを自作のインジケータに組み込む必要がある(今はハンドルでカウントしている)。
私のインジケータはOnCalculate()を使用していないことです。
では、どのようにジグザグを動作させ、rates_totalとprev_calculatedを取得すればいいのでしょうか?
rates_total は、チャートのバーの本数 です。Bars機能を使って決定されます。
prev_calculated - 自分で類似のものを作り、グローバルに(あるいは静的に)宣言し、そこに現在の反復で実際に計算されたバーの数を書きます。つまり、インジケータ値の計算に成功した後、その中に現在のバーの数を記録する必要があるのです。計算が失敗した場合は、次の繰り返しでヒストリーの各バーについてインジケータ値を再計算するために、NULLにするのがよいでしょう。
Re:アレクセウ・フェドトフ
ブレースとは何か、すみません
Re:アレクセウ・フェドトフ
ブレースとは何か、すみません
角括弧内は,配列 x[25] のインデックス.
void start()
{
中括弧内演算子ブロック
}
括弧内は関数sin(30)の引数
角括弧内は、配列 x[25] のインデックス。
void start()
{
中括弧内演算子ブロック
}