記事"EAの元のコードを変更することなく、テイクプロフィットの代わりにリミットオーダーを使用する"についてのディスカッション - ページ 5 1234567 新しいコメント owneroxxor 2019.10.07 21:18 #41 本当にありがとう。愛してるよ。 mehdiparyab 2019.12.31 19:46 #42 こんにちは 私のTP プレーンは:チャートで例えば買いを設定し、それが正しい方向に進み、利益を得たとき、TP値は最大利益ポイントに移動します。トレンドが直線的に下降する方向に変わったとき、TP値は最大利益の70%に配置されます。 double BuyPipsProfit,SellPipsProfit,BuyProfitLevel,SellProfitLevel; double TP_Buy=0; double TP_Sell=0; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { BuyPipsProfit= Ask-(double)OrderOpenPrice() ; SellPipsProfit= (double)OrderOpenPrice()-Bid; BuyProfitLevel= BuyPipsProfit*.7; SellProfitLevel= SellPipsProfit*.7; TP_Buy = (50*Point)+ ((OrderOpenPrice()+ BuyProfitLevel)*Point); TP_Sell= (50*Point)+ ((OrderOpenPrice()+ SellProfitLevel)*Point); } }. Discussion of article "Using MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 コーディングの方法は? Roco Deodato Giaculi 2020.01.16 04:18 #43 こんにちは、 うまくいきません。 LimitTakeProfit.mqhエラーです: unresolved static variable 'CLimitTakeProfit::i_Magic' LimitTakeProfit.mqh 29 43 unresolved static variable 'CLimitTakeProfit::b_OnlyOneSymbol' LimitTakeProfit.mqh 32 52 unresolved static variable 'CLimitTakeProfit::i_TakeProfit' LimitTakeProfit.mqh 507 14 unresolved static variable 'CLimitTakeProfit::d_TakeProfit' LimitTakeProfit.mqh 512 17 unresolved static variable 'CLimitTakeProfit::c_Symbol' LimitTakeProfit.mqh 160 9 ありがとうございます。 ファイル: Erro_LimitTakeProfit.jpeg 95 kb Airton Gomes Finoti 2020.01.16 15:40 #44 MetaQuotes、このコードをありがとう! この関数にバグを見つけたので、私のささやかな解決策を述べます: bool CLimitTakeProfit::SetTakeProfits(ulong position_ticket, double new_tp=0) もし2つのTPがあり、最初のTPがクローズされた場合、2番目のTPはここでクローズされません: if(CheckLimitOrder(tp_request)) { if(tp_request.volume>=0) { closed+=tp_request.volume; closed_perc=closed/position_volume*100; } else { fix_closed_per-=tp_request.volume/(position_volume-tp_request.volume)*100; } continue; } なぜか?なぜかというと、この関数で最初のTPを検索するときに、選択位置を変えているからです: CheckOrderInHistory(PositionGetInteger(POSITION_IDENTIFIER),request.comment, request.type, request.volume); ループの中で、選択された位置が変わるからです: for(int i=0;i<total;i++) { tp_request.comment="TP"+IntegerToString(i)+"_"+IntegerToString(position_ticket); if(i_TakeProfit.At(i)<tp_int && d_TakeProfit.At(i)>0) ループの中で:2つ目のTPを評価するために間違った位置を使う: switch((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)) つ目のTPがクローズされる!修正しました: for(int i=0;i<total;i++) { /******改行 **********/ PositionSelectByTicket(position_ticket); /******改行 **********/ tp_request.comment="TP"+IntegerToString(i)+"_"+IntegerToString(position_ticket); if(i_TakeProfit.At(i)<tp_int && d_TakeProfit.At(i)>0) ありがとうございます! Dmitriy Gizlyk 2020.01.16 22:02 #45 Roco Deodato Giaculi #: こんにちは、動作しません。LimitTakeProfit.mqh error: ありがとうございます。 元のコードを使用しましたか、それともあなたのアドバイザーにコードを追加しましたか? Allyson 2020.02.22 19:18 #46 うまくいったためしがない。 Donon 2020.02.29 20:52 #47 こんにちは、Dmitriy Gizlyk です。いろいろ試したのですが、このエラーから抜け出せません。もし助けていただけるなら、ありがとうございます。 FalconGhost2 2020.07.07 21:29 #48 助けてくれませんか?プログラムの組み方などは知りません。私はただ、利益を 限定注文としてプロットしたかっただけなのです。 Dmitriy Gizlyk 2020.07.08 09:13 #49 FalconGhost2 : 助けてくれませんか?プログラムの組み方などはわかりません。ただ、利益を 指値注文としてプロットして欲しかっただけなのです。 こんにちは、マニュアル取引ではこのファイルは使えません。EAで使用するためのものです。 よろしく、ドミトリー。 FalconGhost2 2020.07.09 16:08 #50 Dmitriy Gizlyk #: こんにちは、このファイルはマニュアル取引では使用できません。EA用です。よろしくお願いします。 返信ありがとうございます!マニュアルトレードを行う他の方法があるかご存知ですか? 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは
私のTP プレーンは:チャートで例えば買いを設定し、それが正しい方向に進み、利益を得たとき、TP値は最大利益ポイントに移動します。トレンドが直線的に下降する方向に変わったとき、TP値は最大利益の70%に配置されます。
double BuyPipsProfit,SellPipsProfit,BuyProfitLevel,SellProfitLevel;
double TP_Buy=0;
double TP_Sell=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
BuyPipsProfit= Ask-(double)OrderOpenPrice() ;
SellPipsProfit= (double)OrderOpenPrice()-Bid;
BuyProfitLevel= BuyPipsProfit*.7;
SellProfitLevel= SellPipsProfit*.7;
TP_Buy = (50*Point)+ ((OrderOpenPrice()+ BuyProfitLevel)*Point);
TP_Sell= (50*Point)+ ((OrderOpenPrice()+ SellProfitLevel)*Point);
}
}.
こんにちは、
うまくいきません。
LimitTakeProfit.mqhエラーです:
ありがとうございます。
MetaQuotes、このコードをありがとう!
この関数にバグを見つけたので、私のささやかな解決策を述べます:
もし2つのTPがあり、最初のTPがクローズされた場合、2番目のTPはここでクローズされません:
なぜか?なぜかというと、この関数で最初のTPを検索するときに、選択位置を変えているからです:
ループの中で、選択された位置が変わるからです:
ループの中で:2つ目のTPを評価するために間違った位置を使う:
つ目のTPがクローズされる!修正しました:
ありがとうございます!
元のコードを使用しましたか、それともあなたのアドバイザーにコードを追加しましたか?
うまくいったためしがない。
こんにちは、Dmitriy Gizlyk です。いろいろ試したのですが、このエラーから抜け出せません。もし助けていただけるなら、ありがとうございます。
こんにちは、マニュアル取引ではこのファイルは使えません。EAで使用するためのものです。
よろしく、ドミトリー。
返信ありがとうございます!マニュアルトレードを行う他の方法があるかご存知ですか?