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

 
belck:

無理するなと言ったはずだ 戦うために来たのではないまた、誰かが手助けをすることを拒否するのも好きではありません。つまり、それは私のために、私がアドバイスを必要としたり、本を読む必要があると決めるのです。よく言われるように「賢い!」です。

もう一度言いますが、皆さん、攻撃的に受け取らないでください、それともこれは私の要求がやはり矛盾しているのでしょうか、もしそうなら、もう書きませんよ。

書き込みや質問を禁止する権利は誰にもない...。しかし、ここで多くの人が始めたことを読むのは有益なことです。そして、私たちも質問をしますが、IMHOは全く異なる質問をしています。

あなたは助けを拒否されているのではなく、知識の源を与えられているのです。SCブックではどうにもならないのか?

イゴール・キムのフル稼働機能のどこが気に入らなかったのか?

最初にIgorのスレッドへのリンクを渡した - それを取るか、またはそれを残して...それを使って、コードに挿入してください。レンガやYUMOのように、様々なExpert Advisorを組み立てることができるのです...

どんなことを始めたのですか?

次の投稿は、全く理解できない構成でしたね...。...iniitやstart、deinitなどすべての関数が実質的に一行で書かれているようなコードが積み上がっている。

モジュラー・プログラミングに慣れ親しむよう勧めたし、チュートリアルのリンクも渡したのに......。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!このチュートリアルをこのスレッドに(!)投稿してくださいとレスでお願いしました !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

なぜか?

目の前にあるのは、実にさまざまなチュートリアル...。

しかし、あなたによれば、誰もが緊急に今やっていることを中断して、あなたの質問の答えのために列に並ぶべきだということです。そして、その答えは、実は、あなたの目の前にあるのです。

 

ありがとうございます。

 
artmedia70:

あなたが手紙を書き、尋ねることを禁じる権利は誰にもありません...しかし、多くの人が始めたことを読むことに意義があるのです。そして、私たちも質問をしますが、IMHOは全く異なる質問をしています。

あなたは助けを拒否されているのではなく、知識の源を与えられているのです。なんでSCブックは役に立たないんだ?答えは、ヘルプ!!!

イゴール・キムのフル稼働機能のどこが気に入らなかったのでしょうか?その答えは、「全部まとめて、全部見て回るには時間がかかるから」です。

最初にIgorのスレッドへのリンクを渡した - それを取るか、またはそれを残して...使って、コードに貼り付けてください。レンガやUYMUのように、様々なExpert Advisorを組み立てることができます。

どんなことを始めたのですか?

次の投稿は全く理解できないデザインでしたね、、、。iniitやstart、deinitなどすべての関数が実質的に1行で書かれているような、積み上げられたコード......。

モジュラー・プログラミングに慣れ親しむことを提案し、チュートリアルのリンクを渡したのですが...答えは、「読んだけど、よくわからなかった」です。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!あなたの回答は、このチュートリアルをこのスレッドに(!)投稿してくれというものでした !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

なぜか?なぜそう思うのですか!

目の前には膨大な量のさまざまなチュートリアルが...。答えはあなた次第です。

しかし、あなたの意見では、誰もが緊急にケースを放棄して、質問の答えのために列に並ぶべきです。答えは、すべてあなた次第 答えは、実は、あなた次第 答えは、再び、あなたの目の前にある。

 
artmedia70:

チケットからポジションを選択します。しかし、それが具体的にどこにあるのかを確認することはありません。ポジションはすでに閉じたものでもよい。

bool OrderSelect(int index,int select,int pool=MODE_TRADES)

操作するオーダーを選択する機能です。関数が正常に終了した場合に TRUE を返します。関数が失敗した場合は FALSE を返します。GetLastError() 関数を呼び出して、エラーの情報を取得します。

チケット番号でオーダーが選択された場合、pool パラメータは無視されます。チケット番号は、注文を一意に識別するための番号です。どのリストから注文が選択されたかを判断するには、その注文の終了時刻を 分析する必要があります。注文の終了時刻が0であれば、その注文は未決済または保留であり、端末の未決済ポジションのリストから取得されます。オープンポジションは、その種類によって 保留中の注文と区別することができます。終了時刻が 0でない場合、注文は終了 または保留と なり、端末の履歴から選択されたことになります。クローズドオーダーと削除された保留オーダーの区別は、オーダーの 種類によっても行うことができます。

4051のバグは無効な機能を報告しています !!!!

int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())とする。
n++;
}
}
if (total == 1)
{
for (int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("order is ", k);
if ((オーダータイプ()==OP_BUY)&&(オーダーTakeProfit()==0)&&(オーダーStopLoss()==0)))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}}

return(0)です。


この問題を解決しなければ、私はすぐに白髪になって死んでしまうだろう

 
VOLDEMAR:

エラー4051は、無効な関数で書かれています !!!!

int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())とする。
n++;
}
}
if (total == 1)
{
for (int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("order is ", k);
if ((オーダータイプ()==OP_BUY)&&(オーダーTakeProfit()==0)&&(オーダーStopLoss()==0)))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}}

return(0)です。


この問題を解決しなければ、私はすぐに白髪になって死んでしまうだろう




err_invalid_function_paramvalue 4051 ファンクションパラメータの値が無効
 
artmedia70:

たくさんありますよ :)

ありがとうございます!定数の中を見るのは想定外でした。

 
VOLDEMAR:

error 4051 wrong function !!!!!!!!

なぜ

if (total == 1)
{
for (int k=total-1; k>=0; k--)
{

????

ロジックが見えない - 条件の中のサイクルが常に機能するとは限らない

 
VOLDEMAR:

error 4051 wrong function !!!!!!!!

int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}.
}
if(total == 1)
{
for(int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("order exists ", k);
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0)))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}.
}
}
}

return(0)です。


この問題を解決しないと白髪になって死んでしまう。



変数kにポジション番号があり、OrderModify()関数の最初のパラメータとして注文TICKETを 渡す必要があります。

修正する前に、例えば、int ticket = OrderTicket()のように、ポジションのチケットを取り、kの代わりにticketを渡します。

どこかでこんなことを。膝の上に書いて、何も確認せず、ただ思いつきで...。あなたのコードにさえ入りませんでした。

int i, k, n=0, ticket=0, total=OrdersTotal();
for(i=total-1; i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS))
         {
            if(OrderSymbol()==Symbol())
            n++;
         }
   }
if (total == 1)
   {
      for (k=total-1; k>=0; k--)
         {
            if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
               {
                  Alert("ордер есть ", k);
                  if (OrderType()==OP_BUY && OrderTakeProfit()==0 && OrderStopLoss()==0)
                     {
                        ticket = OrderTicket();
                        OrderModify(ticket,OrderOpenPrice(),slb,tpb,0,Blue);
                        Alert("ошибка ", GetLastError());
                     }
               }
         }
   }

return(0);
 
IgorM:

なぜ

if (total == 1)
{
for (int k=total-1; k>=0; k--)
{

??

条件内のループが常に保持されるわけではない、というロジックは見当たりません。

イゴール、ここが意味不明なんだけど...。

オーダー 総数が1の場合(total==1)、0(total-1)から0までのループ k>=0

何かわかりましたか?私もです...。:))

 

こんにちは。

ここで質問ですが、このようにテイクプロフィットを取りたいのですが、どうすればいいですか?

double TakeProfit =  ((LineIndicator - Ask)/2); // но мне нужно указать, что если эта цифра меньше допустимого значение, то выставляется автоматом минимальное допустимое 
значение, а это 10 пунктов.

それが1点目でしたが、ここでもう1点。

インジケーターの線が一定時間後に位置を変えてしまうのですが、テイクプロフィットが 変化せず、開いた時に設定したままの状態にするにはどうしたらよいでしょうか?