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

 

VladimirR:

しかし、サイクルから外れると「余分な日」が残ってしまう。その結果、間違った答えが印刷されることになります。


日またはTwoFarm - のために、あなたは正確に終了が発生した理由を知る必要があります。 そうすれば、きっとうまくいくはずです。
 
rustein:

オーダーがSLで始まり、反対側のオーダーが2つある場合、2つ目のオーダーはSLを削除するように修正するのを助けてください。

何がしたいんだ?
 

全てのオープンオーダーを巡回させたいのですが、なぜかオープンオーダーが2つあると、オープン直後に最後の1つのSLを削除してしまうのですが・・・。

そして、指標値がOrderOpenPrice()よりも高い場合は買い、低い場合は売りの注文をすべてゴミ箱に入れるようにする必要があります。

 
rustein:

全てのオープンオーダーを巡回させたいのですが、なぜかオープンオーダーが2つあると、オープン直後に最後の1つのSLを削除してしまうのですが・・・。

そして、指標値がOrderOpenPrice()よりも高い場合は買い、低い場合は売りの注文をすべてゴミ箱に入れるようにする必要があります。


UpとDnのチェックを忘れています。
Up>0 && Up!=EMPTY_VALUE
 
sergeev:
UpとDnのチェックを忘れています。
...ありがとうございます )
 
granit77:
チャート上のすべてのオブジェクトを調べて、lblというオブジェクトを見つけ、FXRanger: Risk:Reward=x.xxx という文字列を取り、それを解析して x.xxx を2倍に変換します。
解析」の意味と、難しくなければオブジェクト列挙の整理の仕方を教えてください。注文はできるが、まだモノを扱ったことがない。
 
DhP:

ソースはどこにあるのですか?
何を添付したのか?他には何もなく、このファイルをインジケーターに挿入して動作しています
 
demlin:
何を貼り付けたか?他には何もなく、このファイルをindicatorsに貼り付けたら動きました。

拡張子がmq4のソースファイルではなく、拡張子がex4のコンパイル済み実行ファイルが添付されていますね。

 
demlin:
解析」の意味と、難しくなければ、オブジェクトの列挙をどのように整理すればよいのか、説明してください。オーダーは扱えるけど、オブジェクトはまだ扱ったことがないんです。
オブジェクトを検索しながら、必要なLabelを見つけ、そのテキストを ObjectDescription()関数を使って文字列変数に格納する必要があると思います。
次に、できた文字列を「解析」する。つまり、必要な情報を解析して抽出するのである。文字列関数StringFind(), StringLen(), StringSubstr()
を使って、「FXRanger::Risk:Reward=x.хх」文字列中の「=」文字の位置を求め、それに続く部分(х.хх)を別の文字列変数に格納しているのです。次に、StrToDouble() 関数を使って、文字列を求める数値に変換します。

   int obj_total=ObjectsTotal();
   string name;   
   string myname="lbl";
   string mytext;
   
   for(int i=obj_total+1;i>-1;i--){
     name=ObjectName(i);   
     if(StringFind( name,myname,0)>-1){
       mytext=ObjectDescription(name);  
     }
   }
//далее парсим строку mytext
P.S.
このダンスが必要なのは、インジケータがデータをバッファではなくオブジェクトに出力するため、iCustomが適用できないからです。また、インジケーターコードがなければ、中のものを変更することはできません。
 

https://www.mql5.com/ru/code/10272

こんにちは。添付のインジケーターのバッファを理解するのにお役立てください。エキスパートのコードに、オープン時、カラーチェンジ時の条件を書き込むにはどうしたらいいでしょうか...ありがとうございます。