voidOnStart()
{ ulong DealTicket; // for Function : replace void with ulongulong PositionTicket;
if ( HistorySelect(TimeCurrent()-30*24*60*60,TimeCurrent()) ) // Select History = 30 days
{ if ( HistoryDealsTotal()>0 )
{ int DealIndex=HistoryDealsTotal()-1;
while ( DealIndex>=0 )
{ DealTicket=HistoryDealGetTicket(DealIndex); // select Deal if ( HistoryDealGetInteger(DealTicket,DEAL_ENTRY)==DEAL_ENTRY_OUT ) // Deal close Position
{ PositionTicket=HistoryDealGetInteger(DealTicket,DEAL_POSITION_ID);
Print("\n DealTicket = "+IntegerToString(DealTicket));
Print("PositionClosedByDeal = "+IntegerToString(PositionTicket));
// if ( some condition ) // for Function : Your selection// return (PositionTicket); // for Function : Enable return
}
DealIndex--;
}
// Print("Warning = Nothing selected from History"); // for Function : remove //
}
elsePrint("Warning = Empty History (select longer History)");
}
elsePrint("Error = "+IntegerToString(GetLastError())+" = Not loaded History");
// return (-1); // for Function : Enable return
}
私が理解したところでは、コードの最初に一定量のバーデータをコピーして、このデータを使って作業するというコンセプトから逸脱しないように提案しているのですが、それとも例外を示唆しているのでしょうか。
それと、なぜ私がプログラマー だと思うのですか?
何が速くなるのか、その答えが明らかでない場合もあります。そのような質問に対する答えは、経験のみが与えてくれるものです。
それなら歓迎しますよ。
すでに履歴に残っているTicketを持つオブジェクトは削除する必要がありますが、まだ市場に残っているオブジェクトは削除する必要はありません。
クローズドポジションの Ticketが必要ですが、PositionSelect()で取得することはできません。
履歴に残っているチケット付きのオブジェクトを削除する必要がありますが、まだ市場に出ていないオブジェクトは削除できません
重複している。
タスクが「逆」になったらどうする?
ポジションがすでにマーケットから外れているチケットオブジェクトを削除する...または、まだ履歴に残っていないチケットオブジェクトを削除せず、残りを削除する...。というのは、基本的に同じことなんです。
要するに、すでに決済されたポジションの チケットが必要なのですが、PositionSelect()では取得できません。
以下は、指定された履歴期間のすべてのクローズドポジションチケットを返すスクリプトです。
コードには、関数に変換する方法が書かれています(英語)。
以下は、指定された履歴期間中のすべてのクローズポジションのチケットを返すスクリプトです。
コードでは、関数に変換する方法を示しています(英語)。
一番気になるのは、すでにすぐさま言及されたことです。
トレーディング、自動売買システム、ストラテジーテスティングに関するフォーラム
初心者の方からの質問 MQL5 MT5 MetaTrader 5
アルチョム・トリシキン さん 2017.07.24 23:33
クローズド・トレード(OUT)を探してみましたか?注文があったのは、見てのとおりです。
面白いのは、すでにすぐさま言及されていることです。
Artyomさんありがとうございます、後回しにすることにしました、寝ている間に聞いてしまいました)
以下は、指定されたHistory期間中の全閉鎖ポジションのTicketを返すスクリプトです。
コードには、関数に変換する方法が書かれています(英語)。
コードありがとうございます、助かりました。
問題解決
面白いのは、このことがすでにすぐさま語られていることです。
司会者へ
男はコード(実装のアイデア)を欲しがった。そして、NOTもありましたが、彼はフリーランスに回されました。
司会者へ :
その人は、コード(実装案)を欲しがっている。そして、そこで叩かれることなく、フリーランスに送られた。
プログラマーではない人の名前はあるのでしょうか?
私はプログラマーではありませんが、毎日、この簡単ではない技術を習得するために努力しています。
プログラマーではない人の名前はあるのでしょうか?
私はプログラマーではありませんが、この簡単ではない技術を習得するために日々努力しています。
ああ、そうだったのか。まだプログラミングを学びたい気持ちがある方そして、提供されたものを理解するようにし、自分を試験官にしないことです。悪気はないのですが、CopyRates() に関するすべての異論や疑問はそうやって理解しました。
私も学歴はプログラマーではありません。私が勉強していた頃は、そんな専門はなく、「フェリックス」という算盤で数えていました。