[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 650

 

終値注文のヘルプが必要です)) 各バーに取引があります。テスターは何枚も何枚も注文を出すが、正しい方法は現在のバーで注文を出し、次のバーで決済することである。

どうしたんですか、教えてください...

 if (OrdersTotal()!=0)
   {
     OrderSelect(OrderTicket(),SELECT_BY_TICKET);
     if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
     if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);
   }
 

そんなことはないのですが...。

誰に教わったんですか?

オーダーループはどこだ?

注文が "select "でない場合はどうなるのでしょうか?

ラストオーダーの開閉 時間の検索はどこにあるのでしょうか?

すべての注文がRIGHT条件(あなたが持っていない)に従って閉じている場合、同じバーで注文を開き続けることの禁止はどこにあるのでしょうか...

 
FAQ:

そんなことはないのですが...。

誰に教わったんですか?

オーダーループはどこだ?

注文が "select "でない場合はどうなるのでしょうか?

ラストオーダーの開閉時間の検索はどこにあるのでしょうか?

すべての注文がRIGHT条件(あなたが持っていない)に従って閉じている場合、同じバーで注文を開き続けることの禁止はどこにあるのでしょうか...

常に1つの注文が開かれているのに、なぜオーバーラップサイクルになるのですか?
 
orb:

終値注文のヘルプが必要です)) 各バーに取引があります。テスターは何枚も何枚も注文を出すが、正しい方法は現在のバーで注文を出し、次のバーで決済することである。

どうしたんですか、教えてください...

OrderSelect(OrderTicket(),SELECT_BY_TICKET);

"現在選択されている注文のチケットで注文を選択" どうなんだ?

 

じゃあ...

イゴール・キムのスレッドに行って、必要な機能を入力し、使ってみて、正しい方法を確認してください。

 
(男:俺ってバカだな)
 
7sintez:
みんな、こんにちは!みんな...、初心者のためのヒント...!?特定の条件下では、1つの取引だけがローソク足の上に開くようにしたいのです!!!なぜかトレードがたくさん開かれている・・・。すぐにではなくても、徐々に...。すなわち、5分間の取引が開始されるすべての5分の間に5分のローソク足で言ってみましょう!。そして、1つの取引しか開かないようにする必要があるのですそして、ある条件下で次のローソク足でも、1つだけ取引が成立するように、など。


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

私はこのようにしました。注文に目を通し、通貨ペアの未決済注文があれば、その開始時刻と 現在のバーの開始時刻を比較するのです。注文の時間が長くなれば、終了する。新しいバーがあると、そのオープンタイムが前のバーで取引をブロックしたオーダーのタイムより長くなり、新しいバーで取引できるようになります。
if (OrdersTotal()>0)
   {  for (i=OrdersTotal()-1; i>=0; i--)
      {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {  if (OrderSymbol()==Symbol() && OrderOpenTime()>iTime(NULL,0,0))
            {   Sleep(5*1000); return(0);
   }  }  }  }
 
Qwertee:

技術的には単純で、buysell !="buy" - 従って、次のAlert(1)は実行されない。

その時、変数buyselに 何が入っているかは、最初のアラートの後、Print (buysell); で知ることができます

------------------------------------------------------------------------------------------------------------------------------------------------

それが問題で、コードにAlert(1)の代わりにPrint(buysell)を入れると、buysellは値buyを返すのですが、何が問題なのでしょうか?

ゴキブリの足をちぎって耳を聞こえなくする方法を確かめるには、ゴキブリの足を1本ずつ全部ちぎって、その都度「這え」と命令すればよい--これはすべての実験者の宿命である。例えば、Alert("1")やAlert("ママ、悲しまないで!")など、2番目のAlert() コマンドに他のものを入れてみて、どうなるかを見てみましょう。;)))
 
paladin80:
私はこのようにしました。目的の通貨ペアで未決済の注文があれば、その開始時刻と現在のバーの開始時刻を比較します。注文の時間が長くなった場合は、終了します。新しいバーがあれば、そのオープンタイムは前のバーで取引をブロックしたオーダーの時間よりも長いので、新しいバーで取引することができます。
小さな子どもに「お母さんをパパと呼びなさい」と言えば、誰かが「笑ってくれる」までそうしてくれるでしょう...

初心者を催促したら、すぐさまRIGHT!建設

if (OrdersTotal()>0)

これは、トレーダーが同じアカウントで複数のExpert Advisorを実行しない限り機能しますが、これは遅かれ早かれ発生することですということです。 マジックのないアドバイザーは、"翼のない鳥のように、生地のない人間のように"...

ところで、そして

iTime(NULL,0,0)

と書く方が正しい。
そしてSleep(5*1000)=5秒。そして、私たちは何を待っているのでしょうか?

 
7sintez:
みんな、こんにちは!みんな...、初心者のためのヒント...!?特定の条件下では、1つの取引だけがローソク足の上に開くようにしたいのです!!!なぜか案件がたくさん開かれている・・・。すぐにではなくても、徐々に...。すなわち、5分間の取引が開始されるすべての5分の間に5分のローソク足で言ってみましょう!。そして、1つの取引しか開かないようにする必要があるのですそして、一定の条件下で次のキャンドルでも1つのディールしか開かれないようにする、など。


ありがとうございます。

注文の開始時刻を 5分足のローソク足の開始時刻と比較する、例えばこのように。

if (iBarShift (NULL, 5, OrderOpenTime()) == iBarShift (NULL, 5, iTime (NULL, 5, 0))) return (0);
или
if (OrderOpenTime() >= iTime (NULL, 5, 0)) return (0);