[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 404 1...397398399400401402403404405406407408409410411...537 新しいコメント --- 2011.05.24 11:04 #4031 Dimka-novitsek: ループが組めない、XとYが常に0になる。 まず、心の中のゴミを片付けます。 コードを 美しく、構造化する。 そして、コメントを欲張らないことです。 Dimka-novitsek 2011.05.24 12:11 #4032 はい、もちろんです。 私はまず、必要なマジックナンバーとその通貨ペアの注文を選択します。if( 注文マジックナンバー( )==2000 &&注文シンボル( )==シンボル( ))){ 次にループ for( i=OrdersTotal();i==0;i--) で、次のように注文を選択します OrderSelect(i,SELECT_BY_POS ); そしてOP_SELLSTOPとして何件の注文をカウントします。 注文がない場合は、存在しない注文種別の注文をオープンします。上段ループの変数Xと下段ループの変数Yで必要なタイプのオーダーをカウントする。どちらのループも、構造も目的も同じです。 私はすでに説明と書いているが、ここで父が来て、呼ばれ、ミルク、紅茶、ハルバを持って、私はメッセージを送信していない、私はおしっこに行き、私の父は、未送信のメッセージを消去し、言った、しかし何、あなたは別の検索エンジンウィンドウで書くことができますか?ネトルペーストって何だろうと思い、ちょっとビビッてほとんど説明もなく送信してしまいました。 まあ、XとYは常に0なんですけどね。forループが動作していないのでしょう。このため、注文は1ティック ごとに2つずつ開くのですが、何がうまくいかないのか全く理解できていません。 ilunga 2011.05.24 12:16 #4033 Dimka-novitsek: はい、もちろんです。 私はまず、必要なマジックナンバーとその通貨ペアの注文を選択します。if( 注文マジックナンバー( )==2000 &&注文シンボル( )==シンボル( ))){ 次にループ for( i=OrdersTotal();i==0;i--) で、次のように注文を選択します OrderSelect(i,SELECT_BY_POS ); そして、OP_SELLSTOPとして注文数をカウントするのです。 注文がない場合は、存在しない注文種別の注文をオープンします。上段ループの変数Xと下段ループの変数Yで必要なタイプのオーダーをカウントする。どちらのループも、構造も目的も同じです。 私はすでに説明と書いているが、ここで父が来て、呼ばれ、ミルク、紅茶、ハルバを持って、私はメッセージを送信していない、私はおしっこに行き、私の父は、未送信メッセージを消去し、言った、しかし何、あなたは別の検索エンジンウィンドウに書くことができますか?ネトルペーストって何だろうと思い、ちょっとビビッてほとんど説明もなく送信してしまいました。 まあ、XとYは常に0なんですけどね。forループが動作していないのでしょう。要するに、何がうまくいっていないのか全く理解できないのですが、注文が各ティックで2つずつ開くようになっています。 まさにその通り、forループは必要なことをやってくれません。 次のようになります: for( i=OrdersTotal();i==0;i--) 1) 注文が0件の場合、ループは1回実行されます。この場合、未知なるものを選択し、それで未知なるものを行うことになる =)。 2) オーダーが0件以上ある場合は、「i==0」の条件を満たさないため、ループは全く開始されない Dimka-novitsek 2011.05.24 12:31 #4034 ありがとうございます!!!ちょっともう一度参考文献を読み直してみます! Dimka-novitsek 2011.05.24 12:39 #4035 はい!ありがとうございます!!! Dimka-novitsek 2011.05.24 13:09 #4036 Ds......あのね、うまくいかないんだよ、全部同じなんだよ。//+------------------------------------------------------------------+ //| для лавин.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price=PRICE_OPEN; // R1=((PRICE_OPEN- stoploss*Point)*stoploss)/stoploss;R2=((PRICE_OPEN+ stoploss*Point)*stoploss)/stoploss; int start() { int X,Y; double price=(Ask+Bid)/2; //---- Alert ("OrdersTotal()",OrdersTotal()); if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000){ for(int i=OrdersTotal();i>0;i--){Alert ("i", i); OrderSelect(i,SELECT_BY_POS );if(OrderType( )==OP_BUYSTOP){X++;}}}Alert ("X", X); if (X==0){ tiket= OrderSend( Symbol(), OP_BUYSTOP, volume*A, price +otstup*Point, Point* 3, R1, price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000, expiration, Red); Alert ("OP_BUYSTOP", GetLastError( )); } if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()) { for ( i=OrdersTotal();i>0;i--){Alert ("i", i); OrderSelect(i,SELECT_BY_POS ); if(OrderType( ) ==OP_SELLSTOP) { Y++;}}}Alert ("Y", Y); if (Y==0){ tikett= OrderSend( Symbol(), OP_SELLSTOP, volume*A, price -otstup*Point, Point* 3,R2, price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000, expiration,C'0,128,255' ); Alert ("OP_SELLSTOP", GetLastError( )); } //---- return(0); } //+------------------------------------------- ヘルプには次のように書かれています。 Expression2は、ループの終了条件をチェックするものです。真であれば、for ループ本体演算子が実行される。 などまた、i=OrdersTotal() の代わりに i=5 を入れてみましたが、何も変わらず、ループは動きません。 ilunga 2011.05.24 13:21 #4037 Dimka-novitsek: ヘルプテキストによると Expression2は、ループの終了条件をチェックするものです。trueの場合、for ループ本体演算子が実行される。 などまた、i=OrdersTotal() の代わりに i=5 を入れてみましたが、何も変わらず、ループは動きません。 そうか、ループはループにならないんだ。 if(OrderSymbol()==Symbol()&&OrderMagicNumber( )==1000){ for(int i=OrdersTotal();i>0;i--){Alert ("i", i); 注文記号(どの注文?たくさんある...あるいは全くない)が現在の注文と等しく、その魔法(どの魔法?)が1000に等しければ、ループを実行する」と書いてありますね。 で、「ループを開始する」必要があります。その中で、1)注文を選択 する。2) and if symbol =... and magic =1000, then X++;". pusheax 2011.05.24 13:24 #4038 実際のアカウントでは、シンボル名に「.」や「FXF」など、さまざまなプレフィックスを付与しているDCもあります。 これらの接頭辞はどのように使えばよいのでしょうか? 私はこのようにしました。 #define DEF_SPEC "FXF" string SymbolsTrade[] = {"AUDCAD "DEF_SPEC ...-動作しない string SymbolsTrade[] = {"AUDCAD "+DEF_SPEC ...-そんなこともない その結果、AUDCADFXFの代わりにFXFが表示されるようになりました。 どのように実装すればよいか教えてください。 ilunga 2011.05.24 13:35 #4039 pusheax: 実際のアカウントでは、シンボル名に「.」や「FXF」など、さまざまなプレフィックスを付与しているDCもあります。 これらの接頭辞はどのように使えばよいのでしょうか? こんなことをしました。 #define DEF_SPEC "FXF" string SymbolsTrade[] = {"AUDCAD "DEF_SPEC ...-動作しない string SymbolsTrade[] = {"AUDCAD "+DEF_SPEC ...-そんなこともない その結果、AUDCADFXFの代わりにFXFが表示されるようになりました。 どのように実装すればよいか教えてください。まあ、その場その場でどうにかなるものです。 #define DEF_SPEC "FXF" string SymbolsTrade[] = {"AUDCAD", "EURUSD"}; int init() { for (int i = 0; i < ArraySize(SymbolsTrade); i++) SymbolsTrade[i] = SymbolsTrade[i] + DEF_SPEC; Dimka-novitsek 2011.05.24 13:36 #4040 了解です、やりますね...。 また、コンディションがうまくいかない。 OrderSelect(i,SELECT_BY_POS ); if(OrderType( ) ==OP_SELLSTOP) { Y++;}Alert ("Y", Y);} 1...397398399400401402403404405406407408409410411...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ループが組めない、XとYが常に0になる。
まず、心の中のゴミを片付けます。
コードを 美しく、構造化する。
そして、コメントを欲張らないことです。
はい、もちろんです。
私はまず、必要なマジックナンバーとその通貨ペアの注文を選択します。if( 注文マジックナンバー( )==2000 &&注文シンボル( )==シンボル( ))){
次にループ for( i=OrdersTotal();i==0;i--) で、次のように注文を選択します OrderSelect(i,SELECT_BY_POS ); そしてOP_SELLSTOPとして何件の注文をカウントします。
注文がない場合は、存在しない注文種別の注文をオープンします。上段ループの変数Xと下段ループの変数Yで必要なタイプのオーダーをカウントする。どちらのループも、構造も目的も同じです。
私はすでに説明と書いているが、ここで父が来て、呼ばれ、ミルク、紅茶、ハルバを持って、私はメッセージを送信していない、私はおしっこに行き、私の父は、未送信のメッセージを消去し、言った、しかし何、あなたは別の検索エンジンウィンドウで書くことができますか?ネトルペーストって何だろうと思い、ちょっとビビッてほとんど説明もなく送信してしまいました。
まあ、XとYは常に0なんですけどね。forループが動作していないのでしょう。このため、注文は1ティック ごとに2つずつ開くのですが、何がうまくいかないのか全く理解できていません。
はい、もちろんです。
私はまず、必要なマジックナンバーとその通貨ペアの注文を選択します。if( 注文マジックナンバー( )==2000 &&注文シンボル( )==シンボル( ))){
次にループ for( i=OrdersTotal();i==0;i--) で、次のように注文を選択します OrderSelect(i,SELECT_BY_POS ); そして、OP_SELLSTOPとして注文数をカウントするのです。
注文がない場合は、存在しない注文種別の注文をオープンします。上段ループの変数Xと下段ループの変数Yで必要なタイプのオーダーをカウントする。どちらのループも、構造も目的も同じです。
私はすでに説明と書いているが、ここで父が来て、呼ばれ、ミルク、紅茶、ハルバを持って、私はメッセージを送信していない、私はおしっこに行き、私の父は、未送信メッセージを消去し、言った、しかし何、あなたは別の検索エンジンウィンドウに書くことができますか?ネトルペーストって何だろうと思い、ちょっとビビッてほとんど説明もなく送信してしまいました。
まあ、XとYは常に0なんですけどね。forループが動作していないのでしょう。要するに、何がうまくいっていないのか全く理解できないのですが、注文が各ティックで2つずつ開くようになっています。
まさにその通り、forループは必要なことをやってくれません。
次のようになります: for( i=OrdersTotal();i==0;i--)
1) 注文が0件の場合、ループは1回実行されます。この場合、未知なるものを選択し、それで未知なるものを行うことになる =)。
2) オーダーが0件以上ある場合は、「i==0」の条件を満たさないため、ループは全く開始されない
Expression2は、ループの終了条件をチェックするものです。真であれば、for ループ本体演算子が実行される。
ヘルプテキストによると
Expression2は、ループの終了条件をチェックするものです。trueの場合、for ループ本体演算子が実行される。
そうか、ループはループにならないんだ。
注文記号(どの注文?たくさんある...あるいは全くない)が現在の注文と等しく、その魔法(どの魔法?)が1000に等しければ、ループを実行する」と書いてありますね。
で、「ループを開始する」必要があります。その中で、1)注文を選択 する。2) and if symbol =... and magic =1000, then X++;".
実際のアカウントでは、シンボル名に「.」や「FXF」など、さまざまなプレフィックスを付与しているDCもあります。
これらの接頭辞はどのように使えばよいのでしょうか?
私はこのようにしました。
#define DEF_SPEC "FXF"
string SymbolsTrade[] = {"AUDCAD "DEF_SPEC ...-動作しない
string SymbolsTrade[] = {"AUDCAD "+DEF_SPEC ...-そんなこともない
その結果、AUDCADFXFの代わりにFXFが表示されるようになりました。
どのように実装すればよいか教えてください。実際のアカウントでは、シンボル名に「.」や「FXF」など、さまざまなプレフィックスを付与しているDCもあります。
これらの接頭辞はどのように使えばよいのでしょうか?
こんなことをしました。
#define DEF_SPEC "FXF"
string SymbolsTrade[] = {"AUDCAD "DEF_SPEC ...-動作しない
string SymbolsTrade[] = {"AUDCAD "+DEF_SPEC ...-そんなこともない
その結果、AUDCADFXFの代わりにFXFが表示されるようになりました。
どのように実装すればよいか教えてください。まあ、その場その場でどうにかなるものです。
了解です、やりますね...。
また、コンディションがうまくいかない。