どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 452 1...445446447448449450451452453454455456457458459...1178 新しいコメント Роман 2014.01.31 07:41 #4511 Profitov: 質問は、エキスパートアドバイザーやスクリプトを記述することが可能である、それは一日に例えば2%の損失を達成するためにされるすべてのトランザクションを閉じますか? 可能です。 [Deleted] 2014.01.31 08:02 #4512 ヘルプ - 私はvin.8がインストールされている新しいラップトップを買った - 私は最後に更新されたアルパリから端末をダウンロード - 私は前に働いていた指標をロードし、フォルダMQL4 -指標で、彼らはそこに表示されます - しかし、ユーザーで端末自体にそれらを見ない、顧客サポートはストレート何も言わない - どうすればいいですか? Vadim Zhunko 2014.01.31 08:25 #4513 galinka: ヘルプ - 私はvin.8がインストールされている新しいラップトップを買った - 私は最後に更新されたアルパリから端末をダウンロード - 私は前に働いていた指標をロードし、フォルダMQL4 -指標で、彼らはそこに表示されます - しかし、ユーザーで端末自体にそれらを見ない、顧客サポートはストレート何も言わない - どうすればいいですか? システムメニューの「ファイル」に「データフォルダを開く」という項目が追加されました。今はそこに置くしかない。 [Deleted] 2014.01.31 08:43 #4514 できません - 端末にありません [Deleted] 2014.01.31 08:51 #4515 プログラムファイル - Alpari - を開く - フォルダがある - MQL4 - indikators - を入れる - 表示される - 終了する - ターミナルを開く - ユーザーファイルにはない [Deleted] 2014.01.31 09:05 #4516 私の指標には、変えるべきものがあるのかもしれません。 [Deleted] 2014.01.31 09:20 #4517 ありがとうございます、助かりました。 Vitek2010v 2014.01.31 09:44 #4518 1mql:最後のexternの下: extern int slippage = 2; // 成行決済時の価格スリッページ 別のものを挿入: extern bool total_symb = true; // すべてのペアで と各行: if((OrderSymbol() ==Symbol()) and if(OrderSymbol() ==Symbol()) これを置換: if(OrderSymbol() ==Symbol() || total_symb) 理論上動作していなければいけないので確認してみてください。 ポジションが有効になっているいくつかのチャートのみが閉じますが、他のチャートではエラー4107で閉じます。externで変更してみました bool Buy = false; //買い注文の削除/終了方向についてextern bool Sell = false; //delete/close売り注文の方向。 true では、うまくいかなかった。しかし、 例えば、 ポジションを開いて いないチャートにこれを置くと、どれも閉じず、エラー4107が見られる。 TarasBY 2014.01.31 10:27 #4519 Profitov: 質問が発生した、エキスパートアドバイザーやスクリプトを記述することが可能である、その日に例えば2%の損失を達成するために、すべてのトランザクションを閉じますか? すでに書かれて います。 forexman77 2014.01.31 10:34 #4520 alsu: つまり、Ticketは旧バージョンのどこかにまだ使われているのです。コードをきれいにしないと...。 以下のように作りました。 Symb=Symbol(); // Название фин.инстр. Total=0; // Количество ордеров int order[7];//буффер для семи ордеров int ord;//количество ордеров ArrayInitialize(order,0);//обнуляем количество ордеров for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: if (OrderSymbol()!=Symb)continue; // Не наш фин. инструм if (OrderType()>1){Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;} Total++; // Счётчик рыночн. орд if (Total>7){Alert("Более 7 ордеров. Эксперт не работает.");return;} Ticket=OrderTicket(); // Номер выбранн. орд. Tip =OrderType(); // Тип выбранного орд. order [OrderType()]++; // ПОЛУЧАЕМ КОЛИЧЕСТВО ОРДЕРОВ Price =OrderOpenPrice(); // Цена выбранн. орд. SL =OrderStopLoss(); // SL выбранного орд. TP =OrderTakeProfit(); // TP выбранного орд. Lot =OrderLots(); // Количество лотов } } ord=order [OrderType()]; while(true) // Цикл закрытия орд. { if (Tip==0 && Cls_B==true) // Открыт ордер Buy.. { //и есть критерий закр Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа.."); RefreshRates(); // Обновление данных Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buy if (Ans==true){Alert ("Закрыт ордер Buy ",Ticket);if (ord ==0){Alert ("Закрыты все ордера ",ord);break;}} if (Fun_Error(GetLastError())==1) // Обработка ошибок continue; // Повторная попытка return; // Выход из start() } ポジションは完全に閉じています。確かにエラーゼロは出ますが、ドックでは「エラーなし」という意味だそうです。また、ログには「すべての注文が終了 しました」というメッセージは見当たりません。 変更した行を太字にしました。動作するようです、まだしっかり確認はしていません。 ループの仕組みがよくわからないのですが。ループの上と下と途中にコードがあるとします。ループの条件が一致した場合、ループの中だけでコードが実行され、ループより下のコード行を実行させない?この例から考えると、break 演算子はループを中断して いるのでしょうか?ループ以下の行の実行を許可しているのか、それともプログラムが最初から計算を始めているのか? もし私が間違っているなら訂正してください:breakは それが入っているループを中断し、continue はその上の演算子の評価を実行 します。したがって、2番目の演算子がある場合、その評価は中断されるのか、それともcontinueが すべてのコードを中断して最初にそれを実行するようにプログラムを送るのか、明確ではありません。 1...445446447448449450451452453454455456457458459...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
質問は、エキスパートアドバイザーやスクリプトを記述することが可能である、それは一日に例えば2%の損失を達成するためにされるすべてのトランザクションを閉じますか?
可能です。
ヘルプ - 私はvin.8がインストールされている新しいラップトップを買った - 私は最後に更新されたアルパリから端末をダウンロード - 私は前に働いていた指標をロードし、フォルダMQL4 -指標で、彼らはそこに表示されます - しかし、ユーザーで端末自体にそれらを見ない、顧客サポートはストレート何も言わない - どうすればいいですか?
プログラムファイル - Alpari - を開く - フォルダがある - MQL4 - indikators - を入れる - 表示される - 終了する - ターミナルを開く - ユーザーファイルにはない
ありがとうございます、助かりました。
最後のexternの下:
extern int slippage = 2; // 成行決済時の価格スリッページ
別のものを挿入:
extern bool total_symb = true; // すべてのペアで
と各行:
if((OrderSymbol() ==Symbol())
and
if(OrderSymbol() ==Symbol())
これを置換:
if(OrderSymbol() ==Symbol() || total_symb)
理論上動作していなければいけないので確認してみてください。
ポジションが有効になっているいくつかのチャートのみが閉じますが、他のチャートではエラー4107で閉じます。externで変更してみました bool Buy = false; //買い注文の削除/終了方向について
質問が発生した、エキスパートアドバイザーやスクリプトを記述することが可能である、その日に例えば2%の損失を達成するために、すべてのトランザクションを閉じますか?
つまり、Ticketは旧バージョンのどこかにまだ使われているのです。コードをきれいにしないと...。
以下のように作りました。
ポジションは完全に閉じています。確かにエラーゼロは出ますが、ドックでは「エラーなし」という意味だそうです。また、ログには「すべての注文が終了 しました」というメッセージは見当たりません。
変更した行を太字にしました。動作するようです、まだしっかり確認はしていません。
ループの仕組みがよくわからないのですが。ループの上と下と途中にコードがあるとします。ループの条件が一致した場合、ループの中だけでコードが実行され、ループより下のコード行を実行させない?この例から考えると、break 演算子はループを中断して いるのでしょうか?ループ以下の行の実行を許可しているのか、それともプログラムが最初から計算を始めているのか?
もし私が間違っているなら訂正してください:breakは それが入っているループを中断し、continue はその上の演算子の評価を実行 します。したがって、2番目の演算子がある場合、その評価は中断されるのか、それともcontinueが すべてのコードを中断して最初にそれを実行するようにプログラムを送るのか、明確ではありません。