MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 75 1...686970717273747576777879808182...1953 新しいコメント Alexey Viktorov 2017.01.16 13:09 #741 ilnur17021992: SELL_Lvlは売りグリッドのニー(注文)数、SELL_NoLossLevelは これらの注文のCUの合計レベル(価格)です。つまり、「買いライン」のレベルに線を引いておき、新しい「買いライン」ができたときに、それぞれ線を引き直すというものです。どうすればいいのかわからない。すべての注文のBUラインを決定する方法がわからない? Vitaly Muzichenko 2017.01.16 13:12 #742 資源の節約と最新の価格を知るために、どのように書けばいいか教えてください。 for(int i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==symb) { if(OrderType()==OP_BUY) { tk=OrderTicket(); SymbolInfoTick(OrderSymbol(),Last_Tick); <<< ask=Last_Tick.ask; bid=Last_Tick.bid; ...とか、こんな感じ? SymbolInfoTick(symb,Last_Tick); <<< for(int i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==symb) { if(OrderType()==OP_BUY) { tk=OrderTicket(); ask=Last_Tick.ask; bid=Last_Tick.bid; ... Sergey Gritsay 2017.01.16 13:21 #743 Vitaly Muzichenko:資源の節約と最新の価格を知るために、どのように書けばいいか教えてください。 for(int i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==symb) { if(OrderType()==OP_BUY) { tk=OrderTicket(); SymbolInfoTick(OrderSymbol(),Last_Tick); <<< ask=Last_Tick.ask; bid=Last_Tick.bid; ...とか、こんな感じ? SymbolInfoTick(OrderSymbol(),Last_Tick); <<< for(int i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==symb) { if(OrderType()==OP_BUY) { tk=OrderTicket(); ask=Last_Tick.ask; bid=Last_Tick.bid; ... 最初の選択肢はより正しいです。 2番目の選択肢では、次の行を書くべきです。SymbolInfoTick(symb,Last_Tick); <<<< Alexey Viktorov 2017.01.16 13:22 #744 Vitaly Muzichenko:資源の節約と最新の価格を知るために、どのように書けばいいか教えてください。 for(int i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==symb) { if(OrderType()==OP_BUY) { tk=OrderTicket(); SymbolInfoTick(OrderSymbol(),Last_Tick); <<< ask=Last_Tick.ask; bid=Last_Tick.bid; ...とか、こんな感じ? SymbolInfoTick(OrderSymbol(),Last_Tick); <<< for(int i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==symb) { if(OrderType()==OP_BUY) { tk=OrderTicket(); ask=Last_Tick.ask; bid=Last_Tick.bid; ...OrdersTotal() のサイズと、サイクル中の価格変動の確率によると思います。私見では、新鮮なデータを直接ループで取得する方が正しいと思います。そして、追加の変数(コードで強調されている)は絶対に不要だと思います。 Aleksandr Egorov 2017.01.16 13:24 #745 Alexey Viktorov:ドキュメントに例があります。 ループ内のオーダーを通過し、次のオーダーが前のオーダーより低いことを条件に、それを選択してさらに作業する方がよいかもしれません。したがって、ループを抜けた後は、削除するオーダーが 既に選択 されている状態です。あるいは、まずオーダーリスト内の位置を記憶しておき、ループを抜けた後に記憶したインデックスを使って選択することもできます。 の場合、高次と低次の両方を設定するのはそう簡単ではありません。 Vitaly Muzichenko 2017.01.16 13:24 #746 Sergey Gritsay: 最初の選択肢はより正しく、2番目の選択肢はSymbolInfoTick(symb,Last_Tick); <<<< と書くべきでしょう。はい、コピーしただけなので気が付きませんでした。SymbolInfoTickは ループの中に入れるのが正しいのか、そこに必要なのか、ループの前に入れてもいいのか、悩んでいます。トレーリングストップで使用し、最大50pcのグリッドを引くことができる。 Alexey Viktorov 2017.01.16 13:30 #747 Vitaly Muzichenko:はい、コピーしただけなので気が付きませんでした。SymbolInfoTickは 必要であればループ内に入れるのが正しいのか、それともループの前に入れるのが良いのか悩んでいます。トレーリングストップに使用し、最大50pcのグリッドを引くことができる。 トレーリングストップの場合は、もちろんサイクルの前に一度置くのがよいでしょう。 ilnur17021992 2017.01.16 13:33 #748 Alexey Viktorov:全注文のBUラインを決定する方法がわからない? BUの決め方はわかったから、このレベルでラインを引いてほしい Vitaly Muzichenko 2017.01.16 13:35 #749 Alexey Viktorov: トレーリングストップの場合は、もちろんサイクルの前に一度だけ行うのがよいでしょう。今は5用にゆっくり書き換えています。 価格の変動が激しく、レベルがストップロスの値より低くなってエラーになる可能性があるという意味です。価格が急激に変化して、レベルが許容ストップレベルより低くなり、エラーになる可能性があるということです。この"SymbolInfoTick"ハットは、実際の価格を取得するために必要なものだと理解しているのですが? Aleksandr Egorov 2017.01.16 13:56 #750 プライスレス 1...686970717273747576777879808182...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
SELL_Lvlは売りグリッドのニー(注文)数、SELL_NoLossLevelは これらの注文のCUの合計レベル(価格)です。つまり、「買いライン」のレベルに線を引いておき、新しい「買いライン」ができたときに、それぞれ線を引き直すというものです。どうすればいいのかわからない。
すべての注文のBUラインを決定する方法がわからない?
資源の節約と最新の価格を知るために、どのように書けばいいか教えてください。
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==symb) {
if(OrderType()==OP_BUY) {
tk=OrderTicket();
SymbolInfoTick(OrderSymbol(),Last_Tick); <<<
ask=Last_Tick.ask;
bid=Last_Tick.bid;
...
とか、こんな感じ?
for(int i=OrdersTotal(); i>=0; i--) {
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==symb) {
if(OrderType()==OP_BUY) {
tk=OrderTicket();
ask=Last_Tick.ask;
bid=Last_Tick.bid;
...
資源の節約と最新の価格を知るために、どのように書けばいいか教えてください。
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==symb) {
if(OrderType()==OP_BUY) {
tk=OrderTicket();
SymbolInfoTick(OrderSymbol(),Last_Tick); <<<
ask=Last_Tick.ask;
bid=Last_Tick.bid;
...
とか、こんな感じ?
for(int i=OrdersTotal(); i>=0; i--) {
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==symb) {
if(OrderType()==OP_BUY) {
tk=OrderTicket();
ask=Last_Tick.ask;
bid=Last_Tick.bid;
...
資源の節約と最新の価格を知るために、どのように書けばいいか教えてください。
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==symb) {
if(OrderType()==OP_BUY) {
tk=OrderTicket();
SymbolInfoTick(OrderSymbol(),Last_Tick); <<<
ask=Last_Tick.ask;
bid=Last_Tick.bid;
...
とか、こんな感じ?
for(int i=OrdersTotal(); i>=0; i--) {
if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) {
if(OrderSymbol()==symb) {
if(OrderType()==OP_BUY) {
tk=OrderTicket();
ask=Last_Tick.ask;
bid=Last_Tick.bid;
...
OrdersTotal() のサイズと、サイクル中の価格変動の確率によると思います。
私見では、新鮮なデータを直接ループで取得する方が正しいと思います。
そして、追加の変数(コードで強調されている)は絶対に不要だと思います。
ドキュメントに例があります。
ループ内のオーダーを通過し、次のオーダーが前のオーダーより低いことを条件に、それを選択してさらに作業する方がよいかもしれません。したがって、ループを抜けた後は、削除するオーダーが 既に選択 されている状態です。
あるいは、まずオーダーリスト内の位置を記憶しておき、ループを抜けた後に記憶したインデックスを使って選択することもできます。
最初の選択肢はより正しく、2番目の選択肢はSymbolInfoTick(symb,Last_Tick); <<<< と書くべきでしょう。
はい、コピーしただけなので気が付きませんでした。
SymbolInfoTickは ループの中に入れるのが正しいのか、そこに必要なのか、ループの前に入れてもいいのか、悩んでいます。トレーリングストップで使用し、最大50pcのグリッドを引くことができる。
はい、コピーしただけなので気が付きませんでした。
SymbolInfoTickは 必要であればループ内に入れるのが正しいのか、それともループの前に入れるのが良いのか悩んでいます。トレーリングストップに使用し、最大50pcのグリッドを引くことができる。
全注文のBUラインを決定する方法がわからない?
トレーリングストップの場合は、もちろんサイクルの前に一度だけ行うのがよいでしょう。
今は5用にゆっくり書き換えています。 価格の変動が激しく、レベルがストップロスの値より低くなってエラーになる可能性があるという意味です。価格が急激に変化して、レベルが許容ストップレベルより低くなり、エラーになる可能性があるということです。
この"SymbolInfoTick"ハットは、実際の価格を取得するために必要なものだと理解しているのですが?