OK, you got it )SLのドラッグ&ドロップの全てを掲載しています。TPについては、まだ特に必要ないので、やっていません。しかし、類推して行うのは問題ない。インジケータをそのまま貼り付けています。 SLのドラッグに関するものはEAから全て抜き出しています。私は言葉の革新を研究したわけではなく、昔ながらの方法でいろいろなことをやっているので、判断しないでください。
Artyom Trishkin: はい、わかります。つまり、ストップがない注文の場合、注文自体のラインをドラッグすれば、そのラインを「ドラッグ」したところにストップが置かれるのです。持ち帰り加工がない場合です。また、ストップとトーの両方の処理があるにもかかわらず、注文にどちらもない場合、注文線を引くとしたら、何を設定すればいいのでしょうか?A Take or a Stop?
自慢話?)
コードを表示するか、スレッドを閉じるか、どちらかです。
コードが散乱している。一部はExpert Advisorに、一部はインジケータに。Expert Advisorとインジケータの全体像は掲載しない。あるパーツに興味があれば、並べることもできますよ。具体的にどのようなものが必要なのか、お知らせください。
ただ、自分の問題がすでに解決しているのに、なぜスレッドを維持する必要があるのか、他の人は議論から何も得られないのか、理解できないのです。
建設的な追加を提案 )
ただ、自分の問題がすでに解決していて、他の人が議論から何も得られないのに、なぜスレッドを維持する必要があるのかが理解できないのです。
構築性を持たせるために提案されたもの )
OK, you got it )SLのドラッグ&ドロップの全てを掲載しています。TPについては、まだ特に必要ないので、やっていません。しかし、類推して行うのは問題ない。インジケータをそのまま貼り付けています。 SLのドラッグに関するものはEAから全て抜き出しています。私は言葉の革新を研究したわけではなく、昔ながらの方法でいろいろなことをやっているので、判断しないでください。
指標となるコード
EAからの作品。
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Модификация одного предварительно выбранного ордера. | //+----------------------------------------------------------------------------+ //| Параметры: | //| pp - цена установки ордера | //| sl - ценовой уровень стопа | //| tp - ценовой уровень тейка | //| ex - дата истечения | //+----------------------------------------------------------------------------+ void ModifyOrder1(double pp=-1, double sl=0, double tp=0, datetime ex=0) { bool fm; color cl=IIFc(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell); 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, ex, cl); if (fm) { PlaySound("wait.wav"); break; } else { er=GetLastError(); PlaySound("timeout.wav"); 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); } } } }
TPはまだやってません、特にまだ必要ないんです。
だから始値を引き上げて SLを利確することも可能なのです ;)
建設的なご意見をありがとうございました。
それゆえ、始値を引き上げて SLを利益確定するチャンスです ;)
建設的なご意見をありがとうございました。
takeprofitとどんな関係があるのですか?
また、念のためModifYSL(double priceModifySL=0)関数に条件を1つ追加しておくとよいでしょう。バターでたくさんのお粥を台無しにすることはできないと言われるように)。
TRを変更するために、もう一つグローバル変 数を導入する必要があります。グローバル変数を"ModifySL " と呼んだのには理由があります。そして、GV「ModifyTP」です。
はい、わかります。つまり、ストップがない注文の場合、注文自体のラインをドラッグすれば、そのラインを「ドラッグ」したところにストップが置かれるのです。持ち帰り加工がない場合です。また、ストップとトーの両方の処理があるにもかかわらず、注文にどちらもない場合、注文線を引くとしたら、何を設定すればいいのでしょうか?A Take or a Stop?
了解です。そして、修正タイプを設定するボタンを追加で作るか、実際のチャートで行われている方法で行うか、どちらかです。注文価格から最初に動く方向で、TPやSLを引くべきかを判断する。