[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 339

 
future >> :
諸君、私はまだある質問で悶々としている。以下のような書き方はどうでしょうか?もし、今日のxx.xxの価格が、同じ日のyy.yyの価格より高ければ、...この価格を毎日比較する必要がありますね。日付に触れないようにする方法がわからない。datetime Time 1=D'().().() 12:00 '; を試してみましたが、テスターではうまくいきません。エラーは書かないが、テストすると今回のデータは無視されるだけのような気がする。

仕組みはこうです。

int time=iTime(NULL,PERIOD_D1,0)+60*(60*hours+minutes);

double price=iOpen(NULL,PERIOD_M1,iBarShift(NULL,PERIOD_M1,time));

 


まさにこの記事の通りなのですが、上に書いたように

channel=ddeinit('MT4','BID'); - すべて正常、channel = 7.2920e-304 - 接続が確立されています。

けど

rc = ddeadv(channel, 'EURUSD','disp(x)','x',[1 1]); - 何も起こりません。

は、rc = 1にもかかわらず

記事内では動作しているようですが、何が悪いのでしょうか?

 


こんにちは。

ループ内でストップロスやプロフィットでトレードが終了したときの記録を取る方法を教えてください。

正しく行うには、どのような機能を使用すればよいのでしょうか?

ありがとうございます。

 
Klinskih писал(а)>>

こんにちは。

ループ内でストップロスやプロフィットでトレードが終了したときの記録を取る方法を教えてください。

正しく行うには、どのような機能を使用すればよいのでしょうか?

ありがとうございます。

ストップロスやテイクプロフィットで注文を閉じるイベントはありませんが、オープンオーダーの利用状況をモニターすることは可能です。

int OrdersTotal( )

未決済注文と保留注文の合計件数を返します。

bool OrderSelect( int index, int select, int pool= MODE_TRADES) 

この機能は、さらに処理する注文を選択するものである。関数が正常に終了した場合に TRUE を返します。関数が失敗した場合は FALSE を返します。エラーの情報を得るには、GetLastError()関数を呼び出す必要があります。
チケット番号でオーダーが選択された場合、poolパラメータは無視されます。チケット番号は、注文を一意に識別するためのものです。どのリストから注文が選ばれたかを判断するには、その注文の終了時刻を分析する必要があります。注文の終了時刻が0であれば、その注文は未決済または保留であり、端末の未決済ポジションのリストから取得されます。オープンポジションは、その種類によって保留中の注文と区別することができます。終了時刻が0でない場合、注文は終了または保留となり、端末の履歴から選択されたことになります。クローズドオーダーと削除された保留オーダーの区別は、オーダーの種類によっても行うことができます。

また、KimIV-https://www.mql5.com/ru/forum/107476/page2 などの既成のソリューションもあります。

 
xeon >> :

ストップやテイクアウトで注文をクローズするイベントはありませんが、オープンオーダーの可否を監視することは可能です

未決済注文と保留注文の合計金額を返します。

この機能は、後で作業するためのオーダーを選択するものです。関数が正常に終了した場合に TRUE を返します。失敗した場合はFALSEを返す。エラーの情報を得るには、GetLastError()関数を呼び出す必要があります。
チケット番号で注文を選択した場合、poolパラメータは無視されます。チケット番号は、注文を一意に識別するためのものです。どのリストから注文が選ばれたかを判断するには、その注文の終了時刻を分析する必要があります。注文の終了時刻が0であれば、その注文は未決済または保留であり、端末の未決済ポジションのリストから取得されます。オープンポジションは、その種類によって保留中の注文と区別することができます。終了時刻が0でない場合、注文は終了または保留となり、端末の履歴から選択されたことになります。クローズド・オーダーと削除された保留中のオーダーの違いは、オーダーの種類でも確認することができます。

また、KimIV-https://www.mql5.com/ru/forum/107476/page2 のような既成の実装も見ることができます。

総合的にお答えいただき、本当にありがとうございました

 
xeon >> :

ストップやテイクアウトで注文をクローズするイベントはありませんが、オープンオーダーの可否を監視することは可能です

未決済注文と保留注文の合計金額を返します。

この機能は、オーダーを選択して作業するものです。関数が正常に終了した場合に TRUE を返します。失敗した場合はFALSEを返す。エラーの情報を得るには、GetLastError()関数を呼び出す必要があります。
チケット番号でオーダーが選択された場合、poolパラメータは無視されます。チケット番号は、注文を一意に識別するためのものです。どのリストから注文が選ばれたかを判断するには、その注文の終了時刻を分析する必要があります。注文の終了時刻が0であれば、その注文は未決済または保留であり、端末の未決済ポジションのリストから取得されます。オープンポジションは、その種類によって保留中の注文と区別することができます。終了時刻が0でない場合、注文は終了または保留となり、端末の履歴から選択されたことになります。クローズド・オーダーと削除された保留中のオーダーの違いは、オーダーの種類でも確認することができます。

また、KimIV-https://www.mql5.com/ru/forum/107476/page2 のような既成の実装も見ることができます。

総合的にお答えいただき、本当にありがとうございました

 
future >> :
皆さん、私はまだ質問で悩んでいます。以下のような書き方はどうでしょうか?もし、今日のxx.xxの価格が、同じ日のyy.yyの価格より高ければ、...この価格を毎日比較する必要がありますね。日付に触れないようにする方法がわからない。datetime Time 1=D'().().() 12:00 '; を試してみましたが、テスターではうまくいきません。エラーは書かないが、テストすると今回のデータは無視されるだけのような気がする。

テスターの場合は大丈夫です。

int час=15; час2=20;
int мин=21; мин2=00;

if(Hour()> час-1&&Hour()< час+1&&Minute()> мин-1&&Minute()< мин+1)
double цена_инструмента=Bid;
if(Hour()> час2-1&&Hour()< час2+1&&Minute()> мин2-1&&Minute()< мин2+1)
double цена_инструмента2=Bid;

if( цена_инструмента> цена_инструмента2)....
if( цена_инструмента< цена_инструмента2)....
 

こんにちは。

SLやTPがトリガーされたかどうかを知るにはどうしたらいいのでしょうか。例えば、注文が終了するのが

SLやTPの後、あれこれと実行する。そのような機能は見つかりませんでした。

 

例えば、ある通貨ペアの指標をテンプレートに保存し、そのテンプレートを読み込んだとします。

- その後、このウィンドウに表示される指標は、テンプレートに保存されているパラメータと関係があるのでしょうか、それとも完全に独立しているのでしょうか?

 
chief2000 >> :

例えば、ある通貨ペアの指標をテンプレートに保存し、そのテンプレートを読み込んだとします。

- このウィンドウに表示される指標は、テンプレートに保存されているパラメータと関係があるのでしょうか、それとも完全に独立しているのでしょうか?


保存されたペアは、テンプレートの初期化時に一度だけインジケーターに「入力」され、その後「完全に独立」します。

変更したインジケータパラメータは全てテンプレートに保存されていますので、インジケータパラメータを変更した場合は、テンプレートを再保存してください。