初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 766

 
Aleksey Vyazmikin:

私が理解したところでは、コードの最初に一定量のバーデータをコピーして、このデータを使って作業するというコンセプトから逸脱しないように提案しているのですが、それとも例外を示唆しているのでしょうか。

それと、なぜ私がプログラマー だと思うのですか?

何が速くなるのか、その答えが明らかでない場合もあります。そのような質問に対する答えは、経験のみが与えてくれるものです。

それなら歓迎しますよ

 
Vitaly Muzichenko:

すでに履歴に残っているTicketを持つオブジェクトは削除する必要がありますが、まだ市場に残っているオブジェクトは削除する必要はありません。

クローズドポジションの Ticketが必要ですが、PositionSelect()で取得することはできません。

 
Vitaly Muzichenko:

履歴に残っているチケット付きのオブジェクトを削除する必要がありますが、まだ市場に出ていないオブジェクトは削除できません

重複している。

タスクが「逆」になったらどうする?

ポジションがすでにマーケットから外れているチケットオブジェクトを削除する...または、まだ履歴に残っていないチケットオブジェクトを削除せず、残りを削除する...。というのは、基本的に同じことなんです。

 
Ivan Ivanov:

要するに、すでに決済されたポジションの チケットが必要なのですが、PositionSelect()では取得できません。

以下は、指定された履歴期間のすべてのクローズドポジションチケットを返すスクリプトです。

void OnStart()
{ ulong DealTicket; // for Function : replace void with ulong
  ulong 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 //
    }
    else Print("Warning = Empty History (select longer History)");
  }
  else Print("Error = "+IntegerToString(GetLastError())+" = Not loaded History");
  // return (-1); // for Function : Enable return
}

コードには、関数に変換する方法が書かれています(英語)。

 
Ivan Ivanov:

以下は、指定された履歴期間中のすべてのクローズポジションのチケットを返すスクリプトです。

コードでは、関数に変換する方法を示しています(英語)。

一番気になるのは、すでにすぐさま言及されたことです。

トレーディング、自動売買システム、ストラテジーテスティングに関するフォーラム

初心者の方からの質問 MQL5 MT5 MetaTrader 5

アルチョム・トリシキン さん 2017.07.24 23:33

クローズド・トレード(OUT)を探してみましたか?注文があったのは、見てのとおりです。

しかし、ヴィタリーはその意味を理解していなかった。しかも、「もう一度言ってください」とも言われなかった。
 
Artyom Trishkin:

面白いのは、すでにすぐさま言及されていることです。

しかし、ヴィタリーはどうやらwrittenの意味を理解していなかったようだ。しかも、「もう一度言ってください」とも言われなかった。

Artyomさんありがとうございます、後回しにすることにしました、寝ている間に聞いてしまいました)


イワン・イワノフ

以下は、指定されたHistory期間中の全閉鎖ポジションのTicketを返すスクリプトです。

コードには、関数に変換する方法が書かれています(英語)。

コードありがとうございます、助かりました。


問題解決

 
Artyom Trishkin:

面白いのは、このことがすでにすぐさま語られていることです。

しかし、ヴィタリーは書かれていることの意味を理解していないようだった。そして、再質問もしなかった。

司会者へ

男はコード(実装のアイデア)を欲しがった。そして、NOTもありましたが、彼はフリーランスに回されました。

 
Ivan Ivanov:

司会者へ :

その人は、コード(実装案)を欲しがっている。そして、そこで叩かれることなく、フリーランスに送られた。

司会者の名前はあるのか?
ヴィタリーのことは知っている。正しい方向を示してくれるだけで十分です。コードは怠け者と間抜けのためにある。そして、フリーランスに回されたのは、ヴィタリーではない。でも、プログラマーではない人。
実装のアイデアは、アイデアであり、アルゴリズムである。
そして、その実装はコードであり、必ずしも正しいものではありません。

 
Artyom Trishkin:
司会者の名前はあるのか?
ヴィタリーのことは知っている。正しい方向性を示してくれるだけで十分です。コードは怠け者と間抜けのためにある。そして、フリーランスとして派遣されたのは、ヴィタリーではなかった。しかし、プログラマーでない人間には
実装というのはアイデアであり、アルゴリズムである。
そして、その実装はコードであり、必ずしも正しいものではありません。

プログラマーではない人の名前はあるのでしょうか?

私はプログラマーではありませんが、毎日、この簡単ではない技術を習得するために努力しています。

 
Aleksey Vyazmikin:

プログラマーではない人の名前はあるのでしょうか?

私はプログラマーではありませんが、この簡単ではない技術を習得するために日々努力しています。

ああ、そうだったのか。まだプログラミングを学びたい気持ちがある方そして、提供されたものを理解するようにし、自分を試験官にしないことです。悪気はないのですが、CopyRates() に関するすべての異論や疑問はそうやって理解しました。

私も学歴はプログラマーではありません。私が勉強していた頃は、そんな専門はなく、「フェリックス」という算盤で数えていました。

理由: