クローズドオーダーの利益計算 "HELP" - ページ 5 123456789 新しいコメント Vitaly Muzichenko 2016.12.11 18:04 #41 Natashe4ka:これは「cnt」がゼロに設定されている場合も正しいのですが、その場合はスクリーンショット3のようにまた訳の分からない値になってしまいます(利益の値は4.27であるべきです)。double LastProfitCL(int op=-1){ //"op" позиция (-1 любая позиция) int cnt=0; double LastProfit=0; for(i=0;i<OrdersHistoryTotal();i++) if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) { if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue; if ((op<0 || OrderType()==op) && cnt==0) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); cnt++;} else {cnt=0;} } return(LastProfit); }論理的思考ができないとダメなんです(このような理屈では、現実の市場では3日で預金が溶けてしまいますよ。 削除済み 2016.12.11 18:10 #42 Vitaly Muzichenko: 論理的に考えないとヤバい(そうなんです。 保留中の注文を削除 しました Vitaly Muzichenko 2016.12.11 18:22 #43 Natashe4ka:そうなんです。 保留中の注文は削除 されました そのまま理解できる。 削除済み 2016.12.11 18:56 #44 OK、では、OrderCloseTime()に等しいクローズドオーダーのチケットを返して、その利益を計算するにはどうすればいいのでしょうか? こんな感じ。if (t<OrderCloseTime()) {t=OrderCloseTime();r=OrderTicket();profit+=OrderProfit()+OrderCommission()+OrderSwap();} Renat Akhtyamov 2016.12.11 18:57 #45 Natashe4ka:OK、では、OrderCloseTime()に等しいクローズドオーダーのチケットを返して、その利益を計算するにはどうすればいいのでしょうか? こんな感じ。if (t<OrderCloseTime()) {t=OrderCloseTime();r=OrderTicket();profit+=OrderProfit()+OrderCommission()+OrderSwap();}ストップで閉まったらどうするんだ?ticket=OrderClose(......);if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера} Aleksey Semenov 2016.12.11 19:37 #46 ドローダウンや利益の累計を記録するシステムを書いたのだが、それは次のようなものだった。オープニング中の各マーケットオーダーに対して、このオーダーのチケット名を持つグローバル変数が作成され、累積損益を再計算する必要があるときは、単に現在のオーダーリストをグローバル変数の リストと照合し、余分な変数を削除して利益をチケット名から直接追加して会計処理を実行します。 Vitaly Muzichenko 2016.12.11 20:07 #47 Renat Akhtyamov:ストップで閉まったらどうするんだ?ticket=OrderClose(......);if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}さて、どんなアレイ、どんなチケット、どんなオーダー?ターミナルを最初に再起動したり、週末にシャットダウンしたりすると、単純にすべてのデータが失われ、書き込みや計算がすべて終了してしまうのです。 Vitaly Muzichenko 2016.12.11 20:09 #48 Aleksey Semenov: 例えば、累積ドローダウンや利益をカウントするシステムを自分用に書いていた時は、こんな感じでしたね。オープニング中の各マーケットオーダーに対して、このオーダーのチケット名を持つグローバル変数が作成され、損益を再計算したいときには、単に現在のオーダーリストをグローバル変数の リストと照らし合わせて、余分な変数を削除して、チケット名から直接利益を追加する計算を実行します。インジケータでは問題ありませんが、EAでは何十ものグローバル変数を列挙するため、端末がフリーズしてしまうことがあります。開店時間と閉店時間があり、それを使って仕事をしなければならず、入手に苦労することはなく、1回の記録で口座の状態に関するすべての情報が得られ、自転車も必要ありません。 Renat Akhtyamov 2016.12.11 20:14 #49 Vitaly Muzichenko:どんなアレイ、どんなチケット、どんなオーダー?端末の最初の再起動や 週末のシャットダウンの後、単純にすべてのデータを失い、それですべての書き込みと計算が終了します。無理もない説明するまでもないでしょう。 Aleksey Semenov 2016.12.11 20:31 #50 Vitaly Muzichenko:インジケータでは問題ありませんが、EAでは何十ものグローバル変数を列挙するため、端末がハングアップする可能性があります。開店時間と閉店時間がある、それを元に仕事をする、難しいことはない、一回の記録で口座の状態の情報がすべてわかる、自転車がなくても大丈夫だ。 例えば、ターミナルに何百もの未使用のグロブ変数がある場合、そうです - 再構築は悲しいことに終了します、そうでなければ、正しく書かれていれば、非常に迅速に動作します 123456789 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは「cnt」がゼロに設定されている場合も正しいのですが、その場合はスクリーンショット3のようにまた訳の分からない値になってしまいます(利益の値は4.27であるべきです)。
int cnt=0;
double LastProfit=0;
for(i=0;i<OrdersHistoryTotal();i++)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
if ((op<0 || OrderType()==op) && cnt==0) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); cnt++;} else {cnt=0;}
}
return(LastProfit);
}
論理的思考ができないとダメなんです(
このような理屈では、現実の市場では3日で預金が溶けてしまいますよ。
論理的に考えないとヤバい(
そうなんです。
保留中の注文を削除 しました
そうなんです。
保留中の注文は削除 されました
OK、では、OrderCloseTime()に等しいクローズドオーダーのチケットを返して、その利益を計算するにはどうすればいいのでしょうか?
こんな感じ。
OK、では、OrderCloseTime()に等しいクローズドオーダーのチケットを返して、その利益を計算するにはどうすればいいのでしょうか?
こんな感じ。
ストップで閉まったらどうするんだ?
ticket=OrderClose(......);
if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}
ストップで閉まったらどうするんだ?
ticket=OrderClose(......);
if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}
さて、どんなアレイ、どんなチケット、どんなオーダー?
ターミナルを最初に再起動したり、週末にシャットダウンしたりすると、単純にすべてのデータが失われ、書き込みや計算がすべて終了してしまうのです。
例えば、累積ドローダウンや利益をカウントするシステムを自分用に書いていた時は、こんな感じでしたね。オープニング中の各マーケットオーダーに対して、このオーダーのチケット名を持つグローバル変数が作成され、損益を再計算したいときには、単に現在のオーダーリストをグローバル変数の リストと照らし合わせて、余分な変数を削除して、チケット名から直接利益を追加する計算を実行します。
インジケータでは問題ありませんが、EAでは何十ものグローバル変数を列挙するため、端末がフリーズしてしまうことがあります。
開店時間と閉店時間があり、それを使って仕事をしなければならず、入手に苦労することはなく、1回の記録で口座の状態に関するすべての情報が得られ、自転車も必要ありません。
どんなアレイ、どんなチケット、どんなオーダー?
端末の最初の再起動や 週末のシャットダウンの後、単純にすべてのデータを失い、それですべての書き込みと計算が終了します。
無理もない
説明するまでもないでしょう。
インジケータでは問題ありませんが、EAでは何十ものグローバル変数を列挙するため、端末がハングアップする可能性があります。
開店時間と閉店時間がある、それを元に仕事をする、難しいことはない、一回の記録で口座の状態の情報がすべてわかる、自転車がなくても大丈夫だ。