[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1044

 
eddy:
興味はない、ただ線引きをしたいだけだ...
絵の中のポイントは、max min ?
 
いいえ、クロースです。
 
costy_:

Это для не стандартного подхода, того чего нет в отчете оптимизатора. файл здесь terminal\tester\files

Сохраняйте отчет из "Результаты оптим." сохран как>>


何かを保存する方法がわかりました。最適化 した結果を自動的に保存する方法を教えてください。基本的には、最大ドローダウンと利益しか気にしません。
 
001:

必要なものを保存する方法がわかった。最適化結果を自動的に保存する方法を教えてください。原則的に、私は最大ドローダウンと利益しか気にしません。

Deinitでは、OrdersHistoryTotal を通して、 すべての有益、不採算、ドローダウン、利益の 合計を カウント し、ファイルに保存します ;)

こんな感じ

   for(i=0;i<OrdersHistoryTotal();i++)
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol()==Symbol())
    if(OrderProfit()>=0)
     profit+=OrderProfit();
     else noprof+=OrderProfit();
   прибыль = profit  -  noprof;



 
eddy:
no, cloze.

同じぐらい、下の期間ではH1チャートのind H4の設定で古い方のベクトルを表示することができます。

で、何に使うんだ!?

ファイル:
maxvekt.mq4  2 kb
 
costy_:

Deinitでは、OrdersHistoryTotal すべての利益、非利益、ドローダウン、利益の 合計を カウント し、それをファイルします。)

こんな感じ




はい、ありますね。残念ながらこの方法では、MTとは異なるデータが得られます。最適化した 結果をアトミックにファイルに保存すればいいだけですから...。
 
計算がよくわからないのですが、私の描いた図を例にして説明してもらえますか?
 
costy_:

リスト内のポジション番号順に未決済注文をスクロールし、興味のあるものを選択し、そのチケットを取得します。

をクリックし、チケットで作業を続ける。



どうしたらいいかわからないなら、どうしたらいいかわからないでいいんです。

すでに同じ注文を選択しているのに、なぜこのような操作をする必要があるのか教えてください。

あるいは、私が何かを理解していないのかもしれません:THIS code :

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber() ==Magicbuy) {
ticketbuy=OrderTicket().OrderTicket().OrderSymbol = Symbol && OrderMagicNumber() ==Magicbuy)OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); } ←クリックすると拡大します。

とこちらも

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol &&)OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); } ←クリックすると拡大します。

が同じことをするのでしょうか?

 
Aleksandr_8:

ご返信ありがとうございました。

すでに同じ注文を選択しているのに、なぜこのようなことをする必要があるのでしょうか?

あるいは、私が何かを理解していないのかもしれません:THIS code :

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal()-1; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber() ==Magicbuy) {
ticketbuy=OrderTicket().OrderSymbol = Symbol && OrdersTotal().OrdersTotal().OrderMagicNumber=MagicbuyOrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES); lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }.
}

とこちらも

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal()-1; cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol &&).OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); } ←クリックすると拡大します。
}

が同じことをするのでしょうか?

赤色で表示されているコードは、すでに注文が選択されているため、処理する ために再度選択する必要がなく、冗長になっています。

 
Aleksandr_8:

ご返信ありがとうございました。

すでに同じ注文を選択しているのに、なぜこのようなことをする必要があるのでしょうか?

あるいは、私が何かを理解していないのかもしれません:THIS code :

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber() ==Magicbuy) {
ticketbuy=OrderTicket().OrderTicket().OrderSymbol = Symbol && OrderMagicNumber() ==Magicbuy)OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }.

とこちらも

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol &&)OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); } ←クリックすると拡大します。

が同じことをするのでしょうか?

最初のバリエーションでは、ticketbuyの2番目のOrderSelectは、2番目のチェックを使用します、私は推測します(それが保留または+1 ordertotalで開いてスリップした場合...)。

前回の記事で正しく発見されたエラー(緑色を除く)です。

2枚目にはチケット購入の表記がない。を特定する必要があります。

string symbol = Symbol();int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) {
lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
ticketbuy=OrderTicket();
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); }