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

 
rigonich:


これは関数ではなく、正規化されていない数値を比較する方法です。これらは互いに比較することはできませんが、一方を他方から引いた結果をゼロと比較することはできます。

そして、私のチェックはこんな感じです。

正しいことを言っているのに、「自分流」にやってしまう...。そして、よりリテラシーが高い(結局のところ)。

//+------------------------------------------------------------------+ 
 double ND(double nd){return(NormalizeDouble(nd,Digits));}
//+------------------------------------------------------------------+ 
if (ND (price - OrderOpenPrice()) != 0.0 || ND (SL - OrderStopLoss()) != 0.0 || ND (TP - OrderTakeProfit()) != 0.0 || Expiration != OrderExpiration())
{OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE);}

...比較条件の全てに同意するわけではありませんが。条件についてはこちらで ご確認ください。

 
rigonich:

コンパイルしてみればわかる。

はい、これらのmqhファイルを4Editorで開く必要があります。
 
Desead:

価格チャートを正規化する必要がある、任意の通貨ペアを選択します。インジケーターに必要なんです。現在の値を前の値で割ってみると、1付近で何らかの発振器が発生します。私は、チャートを絶対値から相対値に変換すること、つまりこの場合、見積りの変化率を見ることができるようにすることを思いつきました。実施されています。すでに良くなっており、実質的に必要なものです。しかし、私の最終的な望みは、[0:1]の範囲で引用符を正規化することです。ちなみに、これは私が必要としているものですが、ブルジョワで、私はロシア語で同じものが欲しいです: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

もうこれとの戦いに疲れました。 保留注文の全削除が普通にできないので、コツがつかめません。

ループのFOR WHILEに削除された注文が残っていることも追加しましたが、まだ削除されていません。削除したい注文が20件ほどあるのですが、何か複雑な事情があるのでしょうか?


注文が削除される問題は解決したようです。私は別の関数を使って、「必要な」(削除すべき)注文の数、Totalを数え、この関数を呼び出し、条件(Total>0)でwhile、次に削除のサイクル for (int i=Total-1 ;i<=0l; i--)、再びf種類の「必要」、削除試行のカウンター、与えられたレベルに達したときにwhileから 終了するようにしています。こうすることで、すべて削除されます。
 
TarasBY:

保留中の注文も含めて削除する例です(私はこれで 削除しました)。

コード内(選択フィルター内)にすべての保留注文が存在しない。別のエラーのバリエーション:保留中の注文が開くときに受け取るMagickをチェックします(独自のコードで)。

ご返信ありがとうございました。私はすべての保留中の注文を必要とせず、bylimitとselllimitだけを設定し、magikはどこでも同じです。自分の努力で解決できない場合は、あなたのスクリプトを調べるしかない、そうしないと削除されないんだ。

あることを考えていたんです。保留中のロボットの削除を一箇所だけに設定しました。ロボットをアンロードすると、deinitに置かれることになります。このセクションには何か時間制限があるのでは? 数件の注文だけを削除するときは問題ないのですが、グリッド全体をアンロードすると、一体どうなるのか、常に数十件の注文が残り、手動でクリーニングする選択肢はありません。

 
rigonich:

ほーら、注文を削除する問題が解決したようです。別の関数で「必要な」(削除すべき)オーダーの数を計算し、この関数を呼び、次に条件(Total>0)でwhile、次に削除のサイクル for(int i=Total-1 ;i<=0l; i--)、再び、「必要」、指定レベルに達したときにwhileから 抜ける削除試行のカウンターの関数にしました。こうすることで、すべてが削除されます。
ところで、これは良い代替案ですね、このwhileは世界の終わりまでループし続けさせましょう、ありがとうございます、今試してみます。
 

は、例えば、平均のクロスオーバーで、1行にオープントレード(1、任意のメジャーなし)の条件をHAVEを挿入する必要があります。

これ見よがしに

==============================================

int start()

{

for(int i=0; i<OrdersTotal(); i++)

{

if ((オーダーセレクト(i,SELECT_BY_POS,MODE_TRADES)==true)))

PlaySound("alert.wav")。

return(0)です。

}}

==============================================

オープンポジションが あるが、音が出ない。

何が問題なのか、教えてください。

あるいは、いかに簡単に条件を書けるか。

MA 5がMA 10とクロスし、オープンポジションがある場合 - そのポジションをクローズします。

ここが空白地帯のようだ......。

 
lottamer:

はい...これらのmqhファイルを4Editorで開くだけです...。

MQL4チュートリアルのものであれば、4thEditorで 開かれます。includフォルダに入れるか、mq 4にリネームして、Expertフォルダ、EAならメイン、scriptsやindicatorsフォルダにそれぞれ入れて、開いてみて ください。
 
Desead:
ところで、良いオプションは、それが注文を削除するまで、世界の終わりにそのサイクルをレースしながら、このみましょう、ありがとうございます、私は今それを試してみます。


mt4で実行すると2.5秒かかる。
 
rigonich:

mt 4で実行すると2.5秒かかる。

ロボットをアンロードするときにグリッドごと削除すればいいのなら、どうすれば回避できるのだろう...ここでは思いつきもしない :(
 
lottamer:

は、例えば、平均のクロスオーバーで、1行にオープントレード(1、任意のメジャーなし)の条件をHAVEを挿入する必要があります。

これ見よがしに

==============================================

int start()

{

for(int i=0; i<OrdersTotal(); i++)

{

if ((オーダーセレクト(i,SELECT_BY_POS,MODE_TRADES)==true)))

PlaySound("alert.wav")。

return(0)です。

}}

==============================================

オープンポジションがあるが、音が出ない。

何が問題なのか、教えてください。

あるいは、いかに簡単に条件を書けるか。

MA 5がMA 10とクロスし、オープンポジションがある場合 - そのポジションをクローズします。

ここが空白地帯のようだ......。


ワインドアップでMTにサウンドが許可されているかどうか、Sound フォルダにファイルがあるかどうかを確認します。しかし、bstrom市場では、snは目覚まし時計として機能するのです。