[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 51 1...444546474849505152535455565758...652 新しいコメント Vitaliy Andreischev 2011.08.05 12:40 #501 valenok2003: 斯くやあらん printでは_dif = 0.01ですが、_Lot = 0です; に設定されていると思われます。 int_Lot; //すると、1以下は切り捨てられる と設定する必要があります。 double _Lot; Sergey Guliaev 2011.08.05 12:41 #502 forexnew: に設定されていると思われます。 int_Lot; //すると、0より小さいものは切り捨てられる と設定する必要があります。 double _Lot; double _Lot; double _Lot_BUY = 0; double _Lot_SELL = 0; double _Lot_BUYSTOP = 0; double _Lot_SELLSTOP = 0; Sergey Guliaev 2011.08.05 13:22 #503 もうひとつの構造 if(_Lot_BUY > _Lot_SELL+_Lot_SELLSTOP) { _dif = _Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP); if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 0.01) _Lot = 0.01; if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 0.1) _Lot = 0.1; if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 1) _Lot = 1; if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 10) _Lot = 10; Print(_dif +" установка2 _Lot = "+_Lot+ "_Lot_BUY = "+_Lot_BUY+ "_Lot_BUYSTOP = "+_Lot_BUYSTOP+ "_Lot_SELL = "+_Lot_SELL+ "_Lot_SELLSTOP = "+_Lot_SELLSTOP); _Price = NormalizeDouble((Low [iLowest (Symbol(),TF_Cnt_Bar_for_Lock,MODE_LOW, _Bars_PP_OP_SELLSTOP,0)]- Dist_For_Boot*Point),Digits); if(Bid - _Price < Dist_For_Boot*Point) { _Bars_PP_OP_SELLSTOP *=2; _RESET_Bars_PP_OP_SELLSTOP = false; } if(set_order_sellstop(_Price, _Lot, _Txt_Lock+Comment_Order)!= -1) _RESET_Bars_PP_OP_SELLSTOP = true; } はこのように動作しませんが、次の例では動作します。 if(_Lot_BUY > _Lot_SELL+_Lot_SELLSTOP) { _dif = _Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP); //if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 0.01) _Lot = 0.01; if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 0.1) _Lot = 0.1; if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 1) _Lot = 1; if(_Lot_BUY - (_Lot_SELL + _Lot_SELLSTOP) >= 10) _Lot = 10; Print(_dif +" установка2 _Lot = "+_Lot+ "_Lot_BUY = "+_Lot_BUY+ "_Lot_BUYSTOP = "+_Lot_BUYSTOP+ "_Lot_SELL = "+_Lot_SELL+ "_Lot_SELLSTOP = "+_Lot_SELLSTOP); _Price = NormalizeDouble((Low [iLowest (Symbol(),TF_Cnt_Bar_for_Lock,MODE_LOW, _Bars_PP_OP_SELLSTOP,0)]- Dist_For_Boot*Point),Digits); if(Bid - _Price < Dist_For_Boot*Point) { _Bars_PP_OP_SELLSTOP *=2; _RESET_Bars_PP_OP_SELLSTOP = false; } if(set_order_sellstop(_Price, _Lot, _Txt_Lock+Comment_Order)!= -1) _RESET_Bars_PP_OP_SELLSTOP = true; } Sergey Guliaev 2011.08.05 13:27 #504 ログに次のようなメッセージが表示されます。 0.01000000 設定2 _Lot = 0.00000000_Lot_BUY = 0.03000000_Lot_BUYSTOP = 0.00000000_Lot_SELL = 0.00000000_Lot_SELLSTOP = 0.02000000を設定します。 17:07:12 Expert_V3 GBPUSD,M1:OrderSend 関数の ロット数が無効です。 しかし、SELLSTOPが3本足りない中、最初の2本は問題なくセットできたが、3本目でつまずいた。 つまり、_dif変数を正しく計算しているにもかかわらず、lotを0.01に設定しないのはなぜか......。 削除済み 2011.08.05 14:22 #505 Roger: それはあなたの考えですか? 2番目からの注文しか開けません。2番目からでもなく、3番目からでもない。 ありがとうございました。 first_may 2011.08.05 15:46 #506 取引セッションの 開始時間(例えばモスクワなら10-35など)を決めることができるのか、それとも変数を作ってそこに値を書き込むだけでいいのか、アドバイスをお願いします。これは、セッションの最初に注文を出すのではなく、方向を決定するために必要なことです。 Виктор 2011.08.05 16:38 #507 first_may: 取引セッションの開始時間(例えばモスクワなら10-35など)を決めることができるのか、それとも変数を作ってそこに値を書き込むだけでいいのか、アドバイスをお願いします。これは、セッションの最初に注文を出すのではなく、方向を決定するために必要なことです。 外国為替取引セッションのスケジュール first_may 2011.08.05 16:45 #508 granit77: 外国為替取引セッションのタイムテーブル そのため、セッションの開始を格納する変数だけを使用することが提案されています。ありがとうございます。 Виктор 2011.08.05 16:52 #509 また、私が出会った中で最高のセッションインジケーターです。 追伸 データベースで発見https://www.mql5.com/ru/code/9313 ファイル: timeaiim_vbo_.mq4 37 kb first_may 2011.08.05 19:12 #510 日付を扱う関数、つまり、2つの日付の差は0より大きいかどうかを判断する関数の例はありますか? 1...444546474849505152535455565758...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
斯くやあらん
printでは_dif = 0.01ですが、_Lot = 0です;に設定されていると思われます。
int_Lot; //すると、1以下は切り捨てられる
と設定する必要があります。
double _Lot;
に設定されていると思われます。
int_Lot; //すると、0より小さいものは切り捨てられる
と設定する必要があります。
double _Lot;
double _Lot;
double _Lot_BUY = 0;
double _Lot_SELL = 0;
double _Lot_BUYSTOP = 0;
double _Lot_SELLSTOP = 0;
もうひとつの構造
はこのように動作しませんが、次の例では動作します。
ログに次のようなメッセージが表示されます。
0.01000000 設定2 _Lot = 0.00000000_Lot_BUY = 0.03000000_Lot_BUYSTOP = 0.00000000_Lot_SELL = 0.00000000_Lot_SELLSTOP = 0.02000000を設定します。
17:07:12 Expert_V3 GBPUSD,M1:OrderSend 関数の ロット数が無効です。
しかし、SELLSTOPが3本足りない中、最初の2本は問題なくセットできたが、3本目でつまずいた。
つまり、_dif変数を正しく計算しているにもかかわらず、lotを0.01に設定しないのはなぜか......。
2番目からの注文しか開けません。2番目からでもなく、3番目からでもない。それはあなたの考えですか?
ありがとうございました。
取引セッションの開始時間(例えばモスクワなら10-35など)を決めることができるのか、それとも変数を作ってそこに値を書き込むだけでいいのか、アドバイスをお願いします。これは、セッションの最初に注文を出すのではなく、方向を決定するために必要なことです。
外国為替取引セッションのタイムテーブル
そのため、セッションの開始を格納する変数だけを使用することが提案されています。ありがとうございます。
追伸
データベースで発見https://www.mql5.com/ru/code/9313