N分後に1つずつポジションをクローズする方法を教えてください。 - ページ 7

 
Renat Akhtyamov:

英訳はされましたか?

そして、エキスパートタブはロシア語?


いいえ、すべてデフォルトです。

 
Natalya Dzerzhinskaya:

いいえ、すべてデフォルトです。

エキスパートタブをご覧ください - エラーはロシア語に翻訳されていますか?

 
Natalya Dzerzhinskaya:

はい、コードは動作します。

私はあなたのコードでクローズするためにboolの代わりにintを使用しています。

int closeです。

また、1枚のチケットで全てのクローズの売買が可能ですが、これはあくまでテスト用です。このためか、買いがクローズしているのに、売りのクローズがないため、エラーになっています。

そうですね、その通りです、その通りです

 
Renat Akhtyamov:

expertsタブで、エラーがロシア語で放送されているかどうか、確認してください。


すべて英語で放送されます

 
Natalya Dzerzhinskaya:

えいごほうそう

皆さんの説明によると、原案は

1ページ目にコードを貼り付け、その最後に

if(TicketFirst>0)
{
//ну и пошло-поехало...
}

この条件には2つのクローズ関数のうち1つを入れ、チケットで見つかった注文をクローズする必要がありました(私は2つ入れました)、つまり

if(TicketFirst>0)
{
                  if(OrderSelect(TicketFirst, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(TicketFirst,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(TicketFirst, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(TicketFirst,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }

}

で、エラー処理 関数をコード全体の後ろに配置します。

それに、close関数への入力条件に何らかのロジックがあるはずですが、最後まで説明されていませんね、そのあたりも書きました。

そして、それはOKでしょう。

このままでは、同じチケットが2度クローズされることになります。初回にチケットをクローズしている状態で注文をクローズすると、4108エラーが発生します。

 
Renat Akhtyamov:

然もありなん

何も考えず、helpを使ってbool 型の値を書き込んでください。

しかし、intを使っても、どうせ何も変わりません。

スクリプトを実行すると、50回連続で実行しても、close変数が-1になることはない。つまり、エラーはどの言語でも、中国語でも翻訳されないということです。

//+------------------------------------------------------------------+
#property version   "1.00"
#property strict
#property show_inputs

input int MyTicket = 451971753;

int close = -1;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//закрытие по тикету, переделайте под свой

   if(OrderSelect(MyTicket,SELECT_BY_TICKET)==true)
     {
      close=OrderClose(MyTicket,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
      if(close<0) Print("ERROR равен -1: ",close);
      if(close==0) Print("ERROR не может быть -1 НИКОГДА: ",close);
     }
  }


 
Vitaly Muzichenko:

何も考えず、helpを使ってbool 型の値を書き込んでください。

しかし、intを使っても、どうせ何も変わりません。

スクリプトを実行すると、50回連続で実行しても、close変数が-1になることはない。つまり、エラーはどの言語でも、中国語でも翻訳されないということです。

Vitaly、あなたは私に教える必要はありません。

1、2年前くらいに5circleへの切り替えを自分で教えた記憶があるので、今までは経験が少なかったんですね...。

私と同じものを作ったわけでもないのに・・・ということですね。
 
Renat Akhtyamov:

Vitaly、私に説教する必要はない。

1、2年前くらいに5クランクへの切り替えを自分で教えた記憶があるので、今までは経験が少なかったんですね...。

例まで出したのに、自分を悪者にするなよ!?

 
Vitaly Muzichenko:

はい、例まで挙げました!自分を悪者にしないでください。

俺と同じようにやらずに、自分流にやったくせに...と言わんばかりに。

ところで、あなたの体型は?

で、エキスパートタブではなく、ジャーナルが表示されるんですね。これが2つの大きな違いです。

私の場合、Expert AdvisorsタブのExpert Advisorでエラーがブロードキャストされます。
 
Renat Akhtyamov:

俺のじゃなくて、お前が作ったんだろ、と言わんばかりに...。

ところで、あなたの体型は?

で、エキスパートタブではなく、ログが表示されるんですね。実は、大きな違いが2つあります。

私の場合、Expert AdvisorsタブのExpert Advisorでエラーが送信されます。

わかったよ、俺を荒らそうとしてるんだな。

わかった、もう帰るよ。

いや、サービスデスクに 手紙を書いて、欠陥のある端子をもらったと言えばいいのかな。