При тестировании в эксперте можно обрабатывать пользовательские события с помощью функции OnChartEvent(), но в индикаторах эта функция в тестере не вызывается. Даже если индикатор имеет обработчик OnChartEvent() и этот индикатор используется в тестируемом эксперте, то сам индикатор не будет получать никаких пользовательских событий.
エクスプローラにF_Pathと入力し、Enterをクリックするとファイルが開くのですが、これがうまくいきません。WinApiの情報はこんな 感じでしょうか?
書き込み、読み出し時にFILE_COMMONフラグが使用されないようにするのは誰ですか?このファイルは、システムにインストールされているすべての端末で利用可能になります。全端末の共有フォルダーに入ります。
MEファイル→共有データフォルダを開くで
書き込み、読み出し時にFILE_COMMONフラグが使用されないようにするのは誰ですか?このファイルは、システムにインストールされているすべての端末で利用可能になります。全端末の共有フォルダーに配置されます。
MEファイル→共有データフォルダを開くで
こんにちは。パラメータを使用して取引要求を作成する際に、この問題に遭遇した方はいらっしゃいますか?
を入れると、以下のようなパラメータになります。
mrequest.action=TRADE_ACTION_DEAL;mrequest.type_filling=ORDER_FILLING_FOK;
mrequest.type=ORDER_TYPE_BUY。
mrequest.type_filling=ORDER_FILLING_RETURN を指定すると、注文は開かれますが、無効なメソッドが使用されているとターミナルに報告されるため、プログラムで閉じることができません。FXサーバーでExpert Advisorを動かしていますが、他のサーバーではすべて正常に動作しています。このブローカーの取引ロボットを開発する際に使用できる注文執行ポリシーをどなたか書いていただけませんか?ありがとうございます。アラート機能付きmq4インジケーターがあります。
例えば、こんな感じです。
サブウィンドウの左上(通常インジケータ名とパラメータが表示される場所)に、シグナルがオン(extern bool AlertMode=true;)かオフかを表示するようにするにはどうしたらよいでしょうか。アラート機能付きmq4インジケーターがあります。
例えば、こんな感じです。
サブウィンドウの左上隅(通常、インジケータ名とパラメータが表示される場所)に、シグナルが有効(extern bool AlertMode=true;)か無効かを表示するにはどうすればよいでしょうか。ドキュメントにはこう書かれている。
При тестировании в эксперте можно обрабатывать пользовательские события с помощью функции OnChartEvent(), но в индикаторах эта функция в тестере не вызывается. Даже если индикатор имеет обработчик OnChartEvent() и этот индикатор используется в тестируемом эксперте, то сам индикатор не будет получать никаких пользовательских событий.
現時点では、この文は関係ありません。この関数がテスターで呼び出されるインジケーターでは、少なくとも1つのインジケーターは、テスターの別のインジケーターによって生成されたイベントを受け取ることができます。
問題は、インジケータがこの関数の呼び出しを受けると、グローバルレベルで宣言された変数に格納されているデータにアクセスできなくなり、逆に、この関数で行われたすべての変更は、グローバルアクセスレベルの変数に格納されないという点です。
例
1. オブジェクトはグローバルに宣言され、OnInit 関数で初期化される。OnCalculate関数からアクセスすることはできますが、OnChartEvent関数でエラーメッセージが表示されます - invalid pointer
2.ある変数の内容をジャーナルに出力する関数がある(変数はグローバルに宣言されている)。OnCalculateからこの関数を呼び出すと期待される値が得られ、OnChartEventから同じ関数を呼び出すと無意味な値が得られます。
ごきげんよう。
イベント、特にOnChartEvent()関数を インジケータで使用する際、問題に直面しました。Expert Advisorで使用する場合は問題ありませんが、インジケータでは正常に動作しません。つまり、イベントは発生するが、既存のフィールドを変更する方法がない。例
//------------------------------------------------------------------------------
int k;
intOnInit()
{
k = 0;
ihandleDE = iCustom(_Symbol, _Period, "DrawExtremums");
//< ...>
return(INIT_SUCCEEDEDED);
}
intOnCalculate(const int rates_total,
)const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
Print("OnCalculate():k =", k);
//< ...>
return(rates_total)
}
voidOnChartEvent(const int id,
)const long &lparam,
const double &dparam,
const string &sparam)
{
string nameEv = "EXTR_UP";
if (sparam == nameEv)
{
Print("OnChartEvent()"。 k = ", k);
k++;
}.
}
//----------------------------------------------------------------------------------------------
その結果、私たちはこうなる。
"OnCalculate(): k = 0"- は常に
"OnChartEvent(): k = 0,...,123332"- 0から...までをカウントします。
どうしてこうなるのか、どうして!?何か解決する方法はありますか?お分かりになる方がいらっしゃいましたら、ご回答をお願いいたします。
追伸:この不具合はstrategy testerでのみ 発生し、実時間ではすべて正常に動作します。
ごきげんよう。
イベント、特にOnChartEvent()関数を インジケータで使用する際、問題に直面しました。Expert Advisorで使用する場合は問題ありませんが、インジケータでは正常に動作しません。つまり、イベントは発生するが、既存のフィールドを変更する方法がない。例
//------------------------------------------------------------------------------
int k;
intOnInit()
{
k = 0;
ihandleDE = iCustom(_Symbol, _Period, "DrawExtremums");
//< ...>
return(INIT_SUCCEEDEDED);
}
intOnCalculate(const int rates_total,
)const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
Print("OnCalculate():k =", k);
//< ...>
return(rates_total)
}
voidOnChartEvent(const int id,
)const long &lparam,
const double &dparam,
const string &sparam)
{
string nameEv = "EXTR_UP";
if (sparam == nameEv)
{
Print("OnChartEvent()"。 k = ", k);
k++;
}.
}
//----------------------------------------------------------------------------------------------
その結果、私たちはこうなる。
"OnCalculate(): k = 0"- は常に
"OnChartEvent(): k = 0,...,123332"- 0から...までをカウントします。
どうしてこうなるのか、どうして!?何か解決する方法はありますか?お分かりになる方がいらっしゃいましたら、ご回答をお願いいたします。
追伸:この不具合はstrategy testerでのみ 発生し、実時間ではすべて正常に動作します。
こんばんは。ターミナルとストラテジーテスターは異なるプログラムであり、テスターとターミナルのEA/インジケーターの動作は大きく異なる可能性があるためです。クライアント端末ではうまくいくことが、Strategy Testerではうまくいかないことがよくあります。サービスデスクに連絡して、証明書を提出し、修理を依頼してください。