どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 77 1...707172737475767778798081828384...1178 新しいコメント Юсуфходжа 2013.08.17 09:26 #761 Sepulca: 荒らしてる))))カリスマ性がありますね)))) お褒めの言葉ありがとうございます!足がどこから出ているのか、ぜひ教えてください。 Mikhail Kozhemyako 2013.08.17 09:37 #762 bistreevseh: この部分が問題の原因と思われます、よろしくお願いします。 思いつくままに Work=FALSE の場合、EA は動作しません。 EAは、少なくとも1つの未決済注文が ある場合、動作しません、MAGICにチェックはありません。 返信はありますか? 削除済み 2013.08.17 09:39 #763 MisterD: なぜなら、グローバルレベルで 固定したい変数、つまりStart関数の前に ある変数がうまくいかないからです。例えばこんなのとか...。" FiksiruemUp = True; // fix " と "iksiruemUp = False; // reset" タイムフレームの切り替えをしなければ、うまくいくはず なのですが・・・ 私は変数でそうしました、グローバルレベルに置いたのです。 という点を考慮すれば 価格が上のラインより上にあるとき、FiksiruemUpにTrueを割り当て、価格が上のラインより下になり、まだ中央のラインより上にあるとき、FiksiruemUpに何が割り当てられるのか:TrueかFalseか? この状況では、グローバル 変数でFalseが代入されているため、自動的にFalseが代入され、価格が上限線より上にあるときのみTrueが代入されるようです。 Mikhail Kozhemyako 2013.08.17 09:59 #764 グローバル変数の 型は double であり、double のみである。グローバル変数にboolを入れるときは、この点に注意する必要があります。 bistreevseh 2013.08.17 10:03 #765 Sepulca: 右から Work=FALSE の場合、EA は動作しません。 EAは、少なくとも1つの保留中の注文がある場合は動作しません、MAGICのチェックはありません。 何か信号が出ますか? アドバイザーは、すなわち、注文を開き、開いてTPまたはSLをトリガすることについての警告を与え、それはペンダントを置くことはありません動作します。 削除済み 2013.08.17 12:14 #766 Sepulca: グローバル変数の型は double であり、double のみである。グローバル変数にboolを入れるときは、この点に注意する必要があります。 とはいえ、どうあるべきか? 削除済み 2013.08.17 13:11 #767 Sepulca: グローバル変数の型は double であり、double のみである。グローバル変数にboolを入れるときは、この点に注意する必要があります。 ここではGlobalVariablesの話ではなく、グローバルレベルの変数の話をしているのですが......。この点を読み返してみると、違いがありますね...。 削除済み 2013.08.17 13:17 #768 belck: 私は変数でそうしました、グローバルレベルに置いたのです。という点を考慮すれば価格が上のラインより上にあるとき、FiksiruemUpにTrueを割り当て、価格が上のラインより下になり、まだ中央のラインより上にあるとき、FiksiruemUpに何が割り当てられるのか:TrueかFalseか?この状況では、グローバル変数でFalseが代入されているため、自動的にFalseが代入され、価格がトップラインより上にあるときのみTrueが代入されているように思えます。 初期状態では、グローバルレベルで何も指定されていない場合、Falseとなる...。変数にTrueを設定 した後、次の条件が成立するまでこの値を保持するif (Ask < LineS) FiksiruemUp = False; // reset....条件が満たされれば、その変数には新しい値Falseが代入され、その瞬間までそのままである - 「価格が上のラインより 上にあるとき、FiksiruemUpにTrueを代入する」といった具合に...。わかりやすく説明できたでしょうか...。:) 削除済み 2013.08.17 17:49 #769 MisterD: 初期状態では、グローバルレベルで何も指定されていない場合、Falseとなる...。変数にTrueを設定 した後、次の条件が成立するまでこの値を保持するif (Ask < LineS) FiksiruemUp = False; // reset....条件が満たされれば、その変数には新しい値Falseが代入され、その瞬間までそのままである - 「価格が上のラインより上にあるとき、FiksiruemUpにTrueを代 入する」といった具合に...。わかりやすく説明できたでしょうか...。:) ありがとうございました。 削除済み 2013.08.19 05:17 #770 友よ、助けてくれ。選択した通貨ペアですべての注文を決済したいのですが、どうすればいいですか?以下は、私が書いたものです(EAのコードの一部)。 int Zakrit_vse() { Total=OrdersTotal()。 int Vsego for(int i=1; i<=OrdersTotal(); i++) // 注文をループし、すべてクローズする。 { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if (OrderSymbol()!=Symb)continue。 Ticket=OrderTicket()です。 Lot=OrderLots()です。 Price=OrderOpenPrice()です。 Vsego++です。 Tip=OrderType()。 アラート(Tip)。 if(Tip>1) { OrderDelete(Ticket)。 Prov_oshibok()です。 を続ける。 } if(Tip==0) { OrderClose( Ticket,Lot,Bid,100); Prov_oshibok()です。 を続ける。 } if(Tip==1) { OrderClose( Ticket,Lot,Ask,100); Prov_oshibok()です。 を続ける。 } // } } Alert(Total," ",Vsego)。 int ret=MessageBox("操作に成功しました", ",mb_ok|mb_iconquestion|mb_topmost); if(ret==IDOK) // 答えが "yes "の場合 { Print("金額",Vsego, "のすべての注文が正常に終了しました。) } } しかし、なぜか2回目の注文に限って締め切られる。注文が6件なら3件、8-4件なら4件、といった具合に。 それは何でしょう?どのようなエラーなのか、アドバイスをお願いします。 Any rookie question, so 初心者の方からの質問 MQL4 MT4 MetaTrader コーディングのヘルプ 1...707172737475767778798081828384...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
荒らしてる))))カリスマ性がありますね))))
この部分が問題の原因と思われます、よろしくお願いします。
思いつくままに
Work=FALSE の場合、EA は動作しません。
EAは、少なくとも1つの未決済注文が ある場合、動作しません、MAGICにチェックはありません。
返信はありますか?
なぜなら、グローバルレベルで 固定したい変数、つまりStart関数の前に ある変数がうまくいかないからです。例えばこんなのとか...。" FiksiruemUp = True; // fix " と "iksiruemUp = False; // reset"
タイムフレームの切り替えをしなければ、うまくいくはず なのですが・・・
私は変数でそうしました、グローバルレベルに置いたのです。
という点を考慮すれば
価格が上のラインより上にあるとき、FiksiruemUpにTrueを割り当て、価格が上のラインより下になり、まだ中央のラインより上にあるとき、FiksiruemUpに何が割り当てられるのか:TrueかFalseか?
この状況では、グローバル 変数でFalseが代入されているため、自動的にFalseが代入され、価格が上限線より上にあるときのみTrueが代入されるようです。
右から
Work=FALSE の場合、EA は動作しません。
EAは、少なくとも1つの保留中の注文がある場合は動作しません、MAGICのチェックはありません。
何か信号が出ますか?
アドバイザーは、すなわち、注文を開き、開いてTPまたはSLをトリガすることについての警告を与え、それはペンダントを置くことはありません動作します。
グローバル変数の型は double であり、double のみである。グローバル変数にboolを入れるときは、この点に注意する必要があります。
とはいえ、どうあるべきか?
グローバル変数の型は double であり、double のみである。グローバル変数にboolを入れるときは、この点に注意する必要があります。
ここではGlobalVariablesの話ではなく、グローバルレベルの変数の話をしているのですが......。この点を読み返してみると、違いがありますね...。
私は変数でそうしました、グローバルレベルに置いたのです。
という点を考慮すれば
価格が上のラインより上にあるとき、FiksiruemUpにTrueを割り当て、価格が上のラインより下になり、まだ中央のラインより上にあるとき、FiksiruemUpに何が割り当てられるのか:TrueかFalseか?
この状況では、グローバル変数でFalseが代入されているため、自動的にFalseが代入され、価格がトップラインより上にあるときのみTrueが代入されているように思えます。
初期状態では、グローバルレベルで何も指定されていない場合、Falseとなる...。変数にTrueを設定 した後、次の条件が成立するまでこの値を保持するif (Ask < LineS) FiksiruemUp = False; // reset....条件が満たされれば、その変数には新しい値Falseが代入され、その瞬間までそのままである - 「価格が上のラインより 上にあるとき、FiksiruemUpにTrueを代入する」といった具合に...。わかりやすく説明できたでしょうか...。:)
初期状態では、グローバルレベルで何も指定されていない場合、Falseとなる...。変数にTrueを設定 した後、次の条件が成立するまでこの値を保持するif (Ask < LineS) FiksiruemUp = False; // reset....条件が満たされれば、その変数には新しい値Falseが代入され、その瞬間までそのままである - 「価格が上のラインより上にあるとき、FiksiruemUpにTrueを代 入する」といった具合に...。わかりやすく説明できたでしょうか...。:)
ありがとうございました。
友よ、助けてくれ。選択した通貨ペアですべての注文を決済したいのですが、どうすればいいですか?以下は、私が書いたものです(EAのコードの一部)。
int Zakrit_vse()
{
Total=OrdersTotal()。
int Vsego
for(int i=1; i<=OrdersTotal(); i++) // 注文をループし、すべてクローズする。
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if (OrderSymbol()!=Symb)continue。
Ticket=OrderTicket()です。
Lot=OrderLots()です。
Price=OrderOpenPrice()です。
Vsego++です。
Tip=OrderType()。
アラート(Tip)。
if(Tip>1)
{
OrderDelete(Ticket)。
Prov_oshibok()です。
を続ける。
}
if(Tip==0)
{
OrderClose( Ticket,Lot,Bid,100);
Prov_oshibok()です。
を続ける。
}
if(Tip==1)
{
OrderClose( Ticket,Lot,Ask,100);
Prov_oshibok()です。
を続ける。
} //
}
}
Alert(Total," ",Vsego)。
int ret=MessageBox("操作に成功しました",
",mb_ok|mb_iconquestion|mb_topmost);
if(ret==IDOK) // 答えが "yes "の場合
{
Print("金額",Vsego, "のすべての注文が正常に終了しました。)
}
}
しかし、なぜか2回目の注文に限って締め切られる。注文が6件なら3件、8-4件なら4件、といった具合に。
それは何でしょう?どのようなエラーなのか、アドバイスをお願いします。