[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 212

 
dzhini:

素晴らしい、全部揃ってる。昨夜の投稿ですが、このスレッドでは既にマジコンとは何か、どのように準備するのかの説明がかなり進んでいます )))

回答よろしくお願いします。

私のEAでは、ある時間帯にBUYLIMITとSELLLIMITを設定します。注文開始時に一方的に保留中の注文(OP_BUYまたはOP_SELL)を削除するようにしたいのですが。

これが私のバリエーションでした。


この方が見栄えがいいんです。

void start(){
  .....

  for(int i=OrdersTotal() -1;i>=0;i--) 
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 
     {
      if(CalculateCurrentOrders(Symbol())>0) {Alert(CalculateCurrentOrders(Symbol()));ClosePendingOrder(OP_SELLLIMIT);} // (1) 
      if(CalculateCurrentOrders(Symbol())<0) {Alert(CalculateCurrentOrders(Symbol()));ClosePendingOrder(OP_BUYLIMIT);} //(2) 
      if(TimeCurrent() - OrderOpenTime()>=HowManyHours*60*60) {ClosePendingOrder(OP_BUYLIMIT);ClosePendingOrder(OP_SELLLIMIT);} //(3) 
     } 
   ....

}

ロジックはともかく、OrderSelect()に中括弧がないことと、構成が正しくないことは一目瞭然です。

 
eddy:

これらの質問をテーマごとにまとめて、その場で質問できるようにすれば、普通のアンケートになるのでは?

さらに、質問だけでなく、回答としてコードや記事を含むタスクも追加できるようにすれば、私が提案するように、既存のコンテンツをすべて含む別のサイト構造が得られます。

ローマン、準備作業は長い間行われており、FAQ思想は事前に開発され、特別な支部に掲示され、技術的な基礎は行政との間で合意されている。
ブランチのリリースを待ち、自分の考えとどう一致するかを確認し、必要であれば、自分の力の及ぶ範囲でプロジェクトを 開発し実行することができます。
 
Sergey_Rogozin:

この方が見栄えがいいんです。

ロジックはともかく、中括弧がないことと、OrderSelect()の構成が正しくないことは一目瞭然です。

OrderSelect() の何が問題なのか説明してください。というのも、先ほども書いたように、すでに開いている取引の方向に注文を削除すれば、すべて問題なく進むからです。また、厳密に定義された時間内にすべての注文を削除することも問題なく行えます。
 
dzhini:
OrderSelect() の何が問題なのか、説明していただけませんか?というのも、先ほども書いたように、すでに開いている取引の方向に注文を削除すれば、すべて問題なく進むからです。また、ある時間帯にすべての注文を削除することも問題ありません。
コードを見てみないと何とも言えませんね。おそらく、シンボルやマジシャン、操作の種類などで選択する必要がなければ、OrderSelect()は そのまま動作するのではないかと思います。
 

これは本来、将来に向けて、(2つだけでなく)さまざまな注文に対応するための練習台となる試みです。

オーダービューサイクルが動いているとき、アラートまではEAがかなりうまく動くのですが、削除機能で正しく動作させようとしないのです。

void ClosePendingOrder(int ORDERType)
{
 while(!IsTradeAllowed()) Sleep(100);
 if(OrderType()==ORDERType)
 {
 if(OrderSymbol()==Symbol())
 { 
 if(!OrderDelete(OrderTicket(),CLR_NONE))
   Print("Order close error",GetLastError());
return;
      }
    }
}
 
granit77:
FAQの思想があらかじめデザインされ、技術的な根拠が行政側と合意されていること。
自分のアイデアとのマッチングを確認し、必要であれば、自分のプロジェクトを開発することができます。
すべてはすでに考えられていて、行政とも合意している(=変えようがない)、自分の考えと合わないものは自分で作ればいい」という答えが返ってきたのでしょうか。
 
eddy:
私は、「すべてはすでに考えられていて、行政とも合意している(=変えようがない)、もし自分の考えに合わないものがあれば、自分で作ればいい」という答えを正しく理解したのですが、いかがでしょうか。
"すべてはあなたの前にすでに盗まれている")))
 
dzhini:

これは本来、将来に向けて、(2つだけでなく)さまざまな注文に対応するための練習台となる試みです。

オーダービューサイクルが動いているとき、アラートまではEAがかなりうまく動くのですが、削除機能で正しく動作させようとしないのです。

すべて揃っているように見えます。どうだろう。
 
Sergey_Rogozin:

その仕組みは? ClosePendingOrder(OP_SELLLIMIT);}。// (1) ?

そのコード。

注文を削除する関数のコードは、まさにこのメッセージに書かれています...。質問の意味がよくわからなかったかもしれませんが、私が理解したとおりに説明してみます。

forループは、利用可能なすべての未決済注文と保留中の注文の列挙を設定します。ClosePendingOrder(OP_SELLLIMIT) - このリストから、通貨記号とパラメータOP_SELLLIMITに 一致するものを選択します。一致する注文が見つかり次第、この保留中の注文を削除する。

 
dzhini:

そのメッセージの中で、注文の削除機能のコードをお伝えしたのですが...。質問の意味がよくわからなかったかもしれませんが、私が理解したとおりに説明してみます。

forループは、利用可能なすべての未決済注文と保留中の注文の列挙を設定します。ClosePendingOrder(OP_SELLLIMIT) - このリストから、通貨記号とパラメータOP_SELLLIMITに 一致するものを選択します。一致する注文が見つかり次第、この保留中の注文を削除します。

もう、わかったんです。ただ、最初は不用意に見てしまったんです。

エラーが表示されないのですが。