MT5でOrderSendを正しく動作させる方法 - ページ 12 1...5678910111213 新しいコメント Maxim Kuznetsov 2017.02.26 18:14 #111 prostotrader:"MT5でOrderSendを正しく動作させる方法"の質問にお答えします。簡単な答えがあります。開発者が問題を解決するまではulong pre_ticket; //Предварительный тикетulong order_ticket; //Тикет ордера//---if(OrderSend(request,result)) { if(result.retcode==TRADE_RETCODE_DONE) { pre_ticket=result.order; } }//----------------------------------------------------------------+//| TradeTransaction function |//+------------------------------------------------------------------+void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { switch(trans.type) { case TRADE_TRANSACTION_ORDER_UPDATE: if((pre_ticket>0) && (trans.order==pre_ticket)) { switch(trans.order_state) { case ORDER_STATE_PLACED: order_ticket = pre_ticket; break; } } break; } }その時は、その時でulong order_ticket; //Тикет ордера//---if(OrderSend(request,result)) { if(result.retcode==TRADE_RETCODE_DONE) { order_ticket=result.order; } } 5は生々しいというのが一般的な印象ですが......。 prostotrader 2017.02.26 18:20 #112 Maxim Kuznetsov: 5は生々しいというのが一般的な印象ですが......。ミスをしない人はいない。もうひとつは、ミスを修正するのに非常に長い時間がかかることです。 fxsaber 2017.02.26 18:28 #113 prostotrader:"MT5でOrderSendを正しく動作させる方法"の質問にお答えします。簡単な答えがあります。開発者が修正するまでulong pre_ticket; //Предварительный тикетulong order_ticket; //Тикет ордера//---if(OrderSend(request,result)) { if(result.retcode==TRADE_RETCODE_DONE) { pre_ticket=result.order; } }//----------------------------------------------------------------+//| TradeTransaction function |//+------------------------------------------------------------------+void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { switch(trans.type) { case TRADE_TRANSACTION_ORDER_UPDATE: if((pre_ticket>0) && (trans.order==pre_ticket)) { switch(trans.order_state) { case ORDER_STATE_PLACED: order_ticket = pre_ticket; break; } } break; } }OrderSend バンドルなら?そして、それが確定したら それはないでしょう。チップなんです。 prostotrader 2017.02.26 18:29 #114 fxsaber:OrderSendのパックの場合は? バンドルチケットを取った人には、「バンドル・オブ・ウォーター」をプレゼント! prostotrader 2017.02.26 18:57 #115 PACHEを愛する人たちへulong pre_ticket = 0; //Претикет ордераulong order_ticket_1 = 0; //Тикет ордераulong order_ticket_2 = 0; //Тикет ордераulong order_ticket_3 = 0; //Тикет ордераulong order_ticket_4 = 0; //Тикет ордераulong order_ticket_5 = 0; //Тикет ордераuint num_order = 0;//---if(OrderSend(request,result)) { if(result.retcode==TRADE_RETCODE_DONE) { pre_ticket=result.order; num_order++; } }//----------------------------------------------------------------+//| TradeTransaction function |//+------------------------------------------------------------------+void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result) { switch(trans.type) { case TRADE_TRANSACTION_ORDER_UPDATE: if((pre_ticket>0) && (trans.order==pre_ticket)) { switch(trans.order_state) { case ORDER_STATE_PLACED: switch(num_order) { case 1: order_ticket_1 = pre_ticket; pre_ticket = 0; break; case 2: order_ticket_2 = pre_ticket; pre_ticket = 0; break; case 3: order_ticket_3 = pre_ticket; pre_ticket = 0; break; case 4: order_ticket_4 = pre_ticket; pre_ticket = 0; break; case 5: order_ticket_5 = pre_ticket; pre_ticket = 0; break; } break; } } break; } }void OnTick(){ if(pre_ticket == 0) { OrderSend();//////// }} How to work correctly フォルツァ執行上の問題点 成行注文を正しく発注するにはどうしたらよいですか? prostotrader 2017.02.26 19:12 #116 あるいは、このようにulong pre_ticket = 0; //Претикет ордераulong order_ticket_1 = 0; //Тикет ордераulong order_ticket_2 = 0; //Тикет ордераulong order_ticket_3 = 0; //Тикет ордераulong order_ticket_4 = 0; //Тикет ордераulong order_ticket_5 = 0; //Тикет ордераuint num_order = 0;//---if(OrderSend(request,result)) { if(result.retcode==TRADE_RETCODE_DONE) { pre_ticket=result.order; num_order++; } }//----------------------------------------------------------------+//| TradeTransaction function |//+------------------------------------------------------------------+void OnTradeTransaction(const MqlTradeTransaction &trans, const MqlTradeRequest &request, const MqlTradeResult &result){ switch(trans.type) { case TRADE_TRANSACTION_ORDER_UPDATE: if((pre_ticket>0) && (trans.order==pre_ticket)) { switch(trans.order_state) { case ORDER_STATE_PLACED: switch(num_order) { case 1: order_ticket_1 = pre_ticket; pre_ticket = 0; OrderSend(); break; case 2: order_ticket_2 = pre_ticket; pre_ticket = 0; OrderSend(); break; case 3: order_ticket_3 = pre_ticket; pre_ticket = 0; OrderSend(); break; case 4: order_ticket_4 = pre_ticket; pre_ticket = 0; OrderSend(); break; case 5: order_ticket_5 = pre_ticket; pre_ticket = 0; break; } break; } } break; }} How to work correctly フォルツァ執行上の問題点 成行注文を正しく発注するにはどうしたらよいですか? prostotrader 2017.02.26 19:30 #117 fxsaber:それはないでしょう。チップなんです。OrderSend()の 状況について、開発者がコメントしないのは残念です。チップ」なのか、修理してくれるのか? prostotrader 2017.02.28 11:35 #118 fxsaber:それはないでしょう。チップなんです。 SDは、次のビルドからOrderSend() が正しく動作するようになると言っています :) fxsaber 2017.02.28 11:54 #119 prostotrader: SDは、次のビルドでOrderSend()が正しく動作するようになると回答しています :) どんな楽しみがあるのだろう オープンポジションの 履歴から取引またはポジションの完全な構造を取得しなければならない」という処理を加えようとしているのでしょう。 prostotrader 2017.02.28 11:56 #120 それでも、上に書いたような答えが返ってきました。あまり説得力のある書き方をしていないのか、機能不足を論証していないのか。 1...5678910111213 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
"MT5でOrderSendを正しく動作させる方法"の質問にお答えします。
簡単な答えがあります。
開発者が問題を解決するまでは
ulong order_ticket; //Тикет ордера
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
order_ticket = pre_ticket;
break;
}
}
break;
}
}
その時は、その時で
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
order_ticket=result.order;
}
}
5は生々しいというのが一般的な印象ですが......。
ミスをしない人はいない。
もうひとつは、ミスを修正するのに非常に長い時間がかかることです。
"MT5でOrderSendを正しく動作させる方法"の質問にお答えします。
簡単な答えがあります。
開発者が修正するまで
ulong order_ticket; //Тикет ордера
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
order_ticket = pre_ticket;
break;
}
}
break;
}
}
OrderSend バンドルなら?
そして、それが確定したら
OrderSendのパックの場合は?
PACHEを愛する人たちへ
ulong order_ticket_1 = 0; //Тикет ордера
ulong order_ticket_2 = 0; //Тикет ордера
ulong order_ticket_3 = 0; //Тикет ордера
ulong order_ticket_4 = 0; //Тикет ордера
ulong order_ticket_5 = 0; //Тикет ордера
uint num_order = 0;
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
num_order++;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
switch(num_order)
{
case 1:
order_ticket_1 = pre_ticket;
pre_ticket = 0;
break;
case 2:
order_ticket_2 = pre_ticket;
pre_ticket = 0;
break;
case 3:
order_ticket_3 = pre_ticket;
pre_ticket = 0;
break;
case 4:
order_ticket_4 = pre_ticket;
pre_ticket = 0;
break;
case 5:
order_ticket_5 = pre_ticket;
pre_ticket = 0;
break;
}
break;
}
}
break;
}
}
void OnTick()
{
if(pre_ticket == 0)
{
OrderSend();////////
}
}
あるいは、このように
ulong pre_ticket = 0; //Претикет ордера
ulong order_ticket_1 = 0; //Тикет ордера
ulong order_ticket_2 = 0; //Тикет ордера
ulong order_ticket_3 = 0; //Тикет ордера
ulong order_ticket_4 = 0; //Тикет ордера
ulong order_ticket_5 = 0; //Тикет ордера
uint num_order = 0;
//---
if(OrderSend(request,result))
{
if(result.retcode==TRADE_RETCODE_DONE)
{
pre_ticket=result.order;
num_order++;
}
}
//----------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
const MqlTradeRequest &request,
const MqlTradeResult &result)
{
switch(trans.type)
{
case TRADE_TRANSACTION_ORDER_UPDATE:
if((pre_ticket>0) && (trans.order==pre_ticket))
{
switch(trans.order_state)
{
case ORDER_STATE_PLACED:
switch(num_order)
{
case 1:
order_ticket_1 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;
case 2:
order_ticket_2 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;
case 3:
order_ticket_3 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;case 4:
order_ticket_4 = pre_ticket;
pre_ticket = 0;
OrderSend();
break;
case 5:
order_ticket_5 = pre_ticket;
pre_ticket = 0;
break;
}
break;
}
}
break;
}
}
それはないでしょう。チップなんです。
OrderSend()の 状況について、開発者がコメントしないのは残念です。
チップ」なのか、修理してくれるのか?
それはないでしょう。チップなんです。
SDは、次のビルドでOrderSend()が正しく動作するようになると回答しています :)
オープンポジションの 履歴から取引またはポジションの完全な構造を取得しなければならない」という処理を加えようとしているのでしょう。
それでも、上に書いたような答えが返ってきました。
あまり説得力のある書き方をしていないのか、機能不足を論証していないのか。