KimIVの便利な機能 - ページ 7 1234567891011121314...128 新しいコメント Igor Kim 2008.03.25 04:48 #61 では、質問もないので、続けますが...。 ModifyOrder()関数。 FunctionModifyOrder は、あらかじめ選択された 1 つの注文の 1 つまたは複数の価格水準を変更するために設計されています。ここでいう保留中の注文とは、指値 注文や逆指値 注文、また市場での買い 注文や売り 注文、つまりポジションとして理解されます。ModifyOrder 関数を使用すると、ポジションのStopLossと TakeProfitの 2つの価格レベルを変更することができ、保留中の注文についてはOpenPriceの 設定価格も変更することができます。変更された価格水準は、ModifyOrder 関数にパラメータとして渡されます。パラメータのいずれかが負の値である場合、対応する価格水準は変更されない。 //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Модификация одного предварительно выбранного ордера. | //+----------------------------------------------------------------------------+ //| Параметры: | //| pp - цена установки ордера | //| sl - ценовой уровень стопа | //| tp - ценовой уровень тейка | //| cl - цвет значка модификации | //+----------------------------------------------------------------------------+ void ModifyOrder(double pp=-1, double sl=0, double tp=0, color cl=CLR_NONE) { bool fm; double op, pa, pb, os, ot; int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it; if (pp<=0) pp=OrderOpenPrice(); if (sl<0 ) sl=OrderStopLoss(); if (tp<0 ) tp=OrderTakeProfit(); pp=NormalizeDouble(pp, dg); sl=NormalizeDouble(sl, dg); tp=NormalizeDouble(tp, dg); op=NormalizeDouble(OrderOpenPrice() , dg); os=NormalizeDouble(OrderStopLoss() , dg); ot=NormalizeDouble(OrderTakeProfit(), dg); if (pp!=op || sl!=os || tp!=ot) { for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); fm=OrderModify(OrderTicket(), pp, sl, tp, 0, cl); if (fm) { if (UseSound) PlaySound(NameFileSound); break; } else { er=GetLastError(); pa=MarketInfo(OrderSymbol(), MODE_ASK); pb=MarketInfo(OrderSymbol(), MODE_BID); Print("Error(",er,") modifying order: ",ErrorDescription(er),", try ",it); Print("Ask=",pa," Bid=",pb," sy=",OrderSymbol(), " op="+GetNameOP(OrderType())," pp=",pp," sl=",sl," tp=",tp); Sleep(1000*10); } } } } Igor Kim 2008.03.25 07:59 #62 ModifyOrder()関数の使用例です。これまで何度も聞かれたことのある、まさにその例を挙げることにしたのです。成行 注文の実行という 意味でのポジションのオープンです。マーケットウォッチ それは、市場価格でポジションを建てる注文と、それに付随する保留注文を同時に出すことができない場合である。まず、ポジションを建て、そのポジションに注文を付け、StopLossと TakeProfitの 価格水準を設定します。1.現在のシンボルを0.1ロット購入し、ストップを30ポイントに設定する。int ti=OpenPosition(NULL, OP_BUY, 0.1); if (OrderSelect(ti, SELECT_BY_TICKET)) ModifyOrder(-1, Ask-30*Point, -1, clModifyBuy);2.現在の商品の0.15ロットを売り、SL=45, TP=99とする。int ti=OpenPosition(NULL, OP_SELL, 0.15); if (OrderSelect(ti, SELECT_BY_TICKET)) ModifyOrder(-1, Bid+45*Point, Bid-99*Point, clModifySell); 例題を含むワーキングスクリプトが予告編に含まれています。 ファイル: test_modifyorder.mq4 13 kb lukyanov 2008.03.25 11:03 #63 Igorさん、クローズオーダー機能(CloseだけとCloseByの両方)はありますか? Igor Kim 2008.03.25 14:26 #64 Lukyanov: Igorさん、注文をクローズする機能(CloseだけとCloseByの両方)はありますか? Closeはあるが、CloseByがない。 lukyanov 2008.03.25 14:43 #65 Close in alphabetical orderはModifyOrderの前に置くべき ;-) Igor Kim 2008.03.25 15:15 #66 Lukyanov: Close in alphabetical orderはModifyOrderの前に置くべき ;-) はい、その通りです...。まず開き、次に修正し、最後に閉じる ;-) kombat 2008.03.25 15:28 #67 なるほどね...。;) この際、「Transmission to Function」というテーマで、1記事だけリベンジしてみるのはいかがでしょうか? 今のところ、私にとっては暗い論理思想の森です...。 (いや、そんなことはないのですが...)。 Igor Kim 2008.03.25 16:00 #68 kombat писал (а): Transmission to Function」というテーマで、ワンポストの教育を受けるのは生意気だと思いませんか? いいえ、そんなことはしません。私の機能に関しては、いつでもどんな質問でもOKです。全部に答えようとすると...。 kombat 2008.03.25 16:11 #69 ありがとうございます... もちろん、急ぐこともないのですが...。は、急ぐ必要はない。 マーケットは逃げない...。:))) Igor Kim 2008.03.25 16:32 #70 kombat писал (а): ありがとうございます... もちろん、急ぐこともないのですが...。は、急ぐ必要はない。 マーケットは逃げない...。:))) 実は、あなたからの質問を期待していたんです。具体的な質問、私の機能の使用に関して明らかにする必要があることを直接示す。 1234567891011121314...128 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
では、質問もないので、続けますが...。
ModifyOrder()関数。
FunctionModifyOrder は、あらかじめ選択された 1 つの注文の 1 つまたは複数の価格水準を変更するために設計されています。ここでいう保留中の注文とは、指値 注文や逆指値 注文、また市場での買い 注文や売り 注文、つまりポジションとして理解されます。ModifyOrder 関数を使用すると、ポジションのStopLossと TakeProfitの 2つの価格レベルを変更することができ、保留中の注文についてはOpenPriceの 設定価格も変更することができます。変更された価格水準は、ModifyOrder 関数にパラメータとして渡されます。パラメータのいずれかが負の値である場合、対応する価格水準は変更されない。
ModifyOrder()関数の使用例です。
これまで何度も聞かれたことのある、まさにその例を挙げることにしたのです。成行 注文の実行という 意味でのポジションのオープンです。マーケットウォッチ それは、市場価格でポジションを建てる注文と、それに付随する保留注文を同時に出すことができない場合である。まず、ポジションを建て、そのポジションに注文を付け、StopLossと TakeProfitの 価格水準を設定します。
1.現在のシンボルを0.1ロット購入し、ストップを30ポイントに設定する。
2.現在の商品の0.15ロットを売り、SL=45, TP=99とする。
例題を含むワーキングスクリプトが予告編に含まれています。Igorさん、注文をクローズする機能(CloseだけとCloseByの両方)はありますか?
Close in alphabetical orderはModifyOrderの前に置くべき ;-)
なるほどね...。;)
この際、「Transmission to Function」というテーマで、1記事だけリベンジしてみるのはいかがでしょうか?
今のところ、私にとっては暗い論理思想の森です...。
(いや、そんなことはないのですが...)。
Transmission to Function」というテーマで、ワンポストの教育を受けるのは生意気だと思いませんか?
ありがとうございます...
もちろん、急ぐこともないのですが...。は、急ぐ必要はない。
マーケットは逃げない...。:)))
ありがとうございます...
もちろん、急ぐこともないのですが...。は、急ぐ必要はない。
マーケットは逃げない...。:)))