初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 246 1...239240241242243244245246247248249250251252253...1503 新しいコメント olegin038 2014.05.12 15:21 #2451 こんにちは。私の質問は多くの人にとって信じられないほど愚かなことに見えるかもしれません、申し訳ありません、私はまだこの仕事の初心者です、何が間違っているのかわかりません。MQL5Filesにテキストファイルを作成したのですが、開くことができません。エラー5004が書き込まれている。できれば助けてください。#property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" int OnInit() { return(0); } void OnDeinit(const int reason) { return; } void OnTick() { ResetLastError(); int Handle=FileOpen("date.txt",FILE_CSV|FILE_READ|FILE_WRITE|FILE_COMMON,';'); if(Handle==-1) { Print("Файл не открыт, ошибка: ", GetLastError()); } return; } Artem Temnikov 2014.05.12 15:32 #2452 olegin038:こんにちは。私の質問は多くの人々にとって信じられないほど愚かなことに見えるかもしれません、申し訳ありません、私はまだこの仕事の初心者です、何が間違っているのかわかりません。MQL5Filesにテキストファイルを作成したのですが、開くことができません。エラー5004が書き込まれている。可能であれば、ご協力ください。MT5クライアント端末の共有フォルダにファイルがない場合(あなたの場合はそうなっています)。FILE_COMMON フラグを削除する必要があります。void OnTick() { ResetLastError(); int Handle=FileOpen("date.txt",FILE_CSV|FILE_READ|FILE_WRITE,';'); if(Handle==-1) { Print("Файл не открыт, ошибка: ", GetLastError()); } return; } olegin038 2014.05.12 15:48 #2453 Fleder:MT5クライアント端末の共有フォルダにファイルがない場合(あなたの場合はそうなっています)。FILE_COMMON フラグを削除する必要があります。 ありがとうございました。しかし、残念ながら役に立ちませんでした。フラッグでいろいろなバリエーションを試した。また、エラー5004を書き込みます。他に試すべきことはありますか? Artem Temnikov 2014.05.12 15:51 #2454 olegin038: ありがとうございました。しかし、残念ながら役に立ちませんでした。フラッグでいろいろなオプションを試した。また、エラー5004を書き込みます。他に何か試せることはありますか?単純にテキストファイルとして開いてみてください。void OnTick() { ResetLastError(); int Handle=FileOpen("date.txt",FILE_TXT|FILE_READ|FILE_WRITE); if(Handle==-1) { Print("Файл не открыт, ошибка: ", GetLastError()); } return; } olegin038 2014.05.12 15:54 #2455 Fleder:単純にテキストファイルとして開いてみてください。 それもうまくいかなかった。ファイルを扱うのは初めてです。ここで余計な処方をする必要はないのでしょうか? Artem Temnikov 2014.05.12 15:57 #2456 olegin038: それもうまくいかなかった。ファイルを扱うのは初めてです。ここで余計なことをする必要はないのでしょうか?はい、必ずファイルを閉じる 必要があります。void OnTick() { ResetLastError(); int Handle=FileOpen("date.txt",FILE_CSV|FILE_READ|FILE_WRITE,';'); if(Handle==-1) { Print("Файл не открыт, ошибка: ", GetLastError()); } FileClose(Handle); return; } olegin038 2014.05.12 16:01 #2457 Fleder:はい、必ずファイルを閉じて ください。 本当にありがとうございました。本当に助かりました。エラーが表示されなくなりました。 Abramboss 2014.05.12 19:56 #2458 私の個人的なライブラリーの中から、著名な作家のコースを紹介します。イエリン、バジェノフ、ストルムジ、ルキヤノフ、チェリョームシキン、ヘルヒク、アレックス・ミリオンなど。これらの著者の講座は事実上すべて。聞く。 Dmitriy Skub 2014.05.13 21:47 #2459 Abramboss: 個人蔵の著名な作家の講座を共有する。イエリン、バジェノフ、ストルムジ、ルキヤノフ、チェリョームシキン、ヘルヒク、アレックス・ミリオンなど。これらの著者の講座は事実上すべて。聞く。 無料でシェアする?ゲルヒクに興味を持つ。 Евгений 2014.05.14 17:21 #2460 皆さんこんにちは!有名なCrossArbitrインジケーターについて教えてください。もちろん、このコードは私のものではありません。出力しない情報を必要とした。だから、順番に。変数double n, m を追加しました。"ⅳBID Synthetic and Real =", n=(CalcBid-Bid)です。"ⅳ、差分ASK合成と実数=", m=(CalcAsk-Ask)です。"\nTotal =" (m - n) <-----この括弧内のマイナスに悪態をついて終わりです(一部オペアト予想)。何が間違っているのか、誰が教えてくれるのだろう?//+------------------------------------------------------------------+ //| CrossArbitr.mq4 | //| Scriptong | //| | //+------------------------------------------------------------------+ #property copyright "Scriptong" #property link "" #property indicator_chart_window //---- input parameters extern bool ShowBid=false; extern bool ShowAsk=false; extern color BidColor = Lime; extern color AskColor = Yellow; extern int AlarmIfPointDifference = 10; extern string AlarmFile = "wait.wav"; bool Activate = False; string FP, SP; double Tick; int WayForCross; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators string S = Symbol(); if(StringFind(S, "USD", 0) != -1) { Comment("Индикатор работает только с кроссовыми парами (GBPJPY, EURJPY, EURGBP и т. д)!"); return(0); } if(StringLen(S) != 6) { Comment("Индикатор работает только с валютными парами, у которых название состоит из шести символов!"); return(0); } // Поиск первой валютной пары кросса FP = StringSubstr(S, 0, 3)+"USD"; MarketInfo(FP, MODE_BID); if(GetLastError() > 0) { FP = "USD"+StringSubstr(S, 0, 3); MarketInfo(FP, MODE_BID); if(GetLastError() > 0) { Comment("Невозможно найти инструмент ", FP, " или ", StringSubstr(S, 0, 3)+"USD. Необходимо добавить его в Обзоре рынка и перезапустить индикатор."); return(0); } } // -------------------------------------- // "Создание" второй валютной пары кросса SP = "USD"+StringSubstr(S, 3, 3); MarketInfo(SP, MODE_BID); if(GetLastError() > 0) { SP = StringSubstr(S, 3, 3)+"USD"; MarketInfo(SP, MODE_BID); if(GetLastError() > 0) { Comment("Невозможно найти инструмент ", SP, " или ", StringSubstr(S, 3, 3)+"USD. Необходимо добавить его в Обзоре рынка и перезапустить индикатор."); return(0); } } // -------------------------------------- // Определение пути синтеза кросса if (StringFind(FP, "USD") == 3 && StringFind(SP, "USD") == 0) WayForCross = 1; if (StringFind(FP, "USD") == 0 && StringFind(SP, "USD") == 0) WayForCross = 2; if (StringFind(FP, "USD") == 3 && StringFind(SP, "USD") == 3) WayForCross = 3; if (StringFind(FP, "USD") == 0 && StringFind(SP, "USD") == 3) WayForCross = 4; // ------------------------------- Tick = MarketInfo(Symbol(), MODE_TICKSIZE); Activate = True; //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- Comment(""); if(ObjectFind("CrossBid") == 0) ObjectDelete("CrossBid"); if(ObjectFind("CrossAsk") == 0) ObjectDelete("CrossAsk"); //---- return(0); } //+------------------------------------------------------------------+ //| Приведение значений к точности одного тика | //+------------------------------------------------------------------+ double ND(double A) { return(NormalizeDouble(A, Digits)); } //+------------------------------------------------------------------+ //| Расчет значения синтетического бида | //+------------------------------------------------------------------+ double CalcBidWayForCross() { switch (WayForCross) { case 1: return(ND(MarketInfo(FP, MODE_BID)*MarketInfo(SP, MODE_BID))); case 2: return(ND(MarketInfo(SP, MODE_BID)/MarketInfo(FP, MODE_ASK))); case 3: return(ND(MarketInfo(FP, MODE_BID)/MarketInfo(SP, MODE_ASK))); case 4: return(1/(ND(MarketInfo(FP, MODE_ASK)*MarketInfo(SP, MODE_BID)))); } } //+------------------------------------------------------------------+ //| Расчет значения синтетического аска | //+------------------------------------------------------------------+ double CalcAskWayForCross() { switch (WayForCross) { case 1: return(ND(MarketInfo(FP, MODE_ASK)*MarketInfo(SP, MODE_ASK))); case 2: return(ND(MarketInfo(SP, MODE_ASK)/MarketInfo(FP, MODE_BID))); case 3: return(ND(MarketInfo(FP, MODE_ASK)/MarketInfo(SP, MODE_BID))); case 4: return(1/(ND(MarketInfo(FP, MODE_BID)*MarketInfo(SP, MODE_ASK)))); } } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- if(!Activate) return(0); // Расчет синтетических Bid и Ask double CalcBid = CalcBidWayForCross(); RefreshRates(); double CalcAsk = CalcAskWayForCross(); double n, m; // ------------------------------- // Рисуем уровень синтетического Bid if (ShowBid) { if(ObjectFind("CrossBid") == -1) { ObjectCreate("CrossBid", OBJ_HLINE, 0, 0, CalcBid); ObjectSet("CrossBid", OBJPROP_COLOR, BidColor); ObjectSet("CrossBid", OBJPROP_STYLE, STYLE_DOT); } else if(!ObjectMove("CrossBid", 0, 1, CalcBid)) Print("Ошибка перемещения №", GetLastError()); } // ---------------------------------- // Рисуем уровень синтетического Ask if(ShowAsk) { if(ObjectFind("CrossAsk") == -1) { ObjectCreate("CrossAsk", OBJ_HLINE, 0, 0, CalcAsk); ObjectSet("CrossAsk", OBJPROP_COLOR, AskColor); ObjectSet("CrossAsk", OBJPROP_STYLE, STYLE_DOT); } else ObjectMove("CrossAsk", 0, 1, CalcAsk); } // ---------------------------------- Comment("Реальный BID = ", DoubleToStr(Bid, Digits), ", реальный ASK = ", DoubleToStr(Ask, Digits), "\nСинтетик BID = ", DoubleToStr(CalcBid, Digits), ", синтетик ASK = ", DoubleToStr(CalcAsk, Digits), "\nРазница BID Синтетика и Реального =", n=(CalcBid-Bid), "\, Разница ASK Синтетика и Реального =", m=(CalcAsk-Ask), "\nИтог =" (m - n) ); // Выдаем звуковой сигнал о превышении минимальной разности if(ND(MathAbs(CalcBid-Bid)) >= ND(AlarmIfPointDifference*Point)) PlaySound(AlarmFile); // -------------------------------------------------------- //---- return(0); } //+------------------------------------------------------------------+ 1...239240241242243244245246247248249250251252253...1503 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。私の質問は多くの人にとって信じられないほど愚かなことに見えるかもしれません、申し訳ありません、私はまだこの仕事の初心者です、何が間違っているのかわかりません。
MQL5Filesにテキストファイルを作成したのですが、開くことができません。エラー5004が書き込まれている。できれば助けてください。
こんにちは。私の質問は多くの人々にとって信じられないほど愚かなことに見えるかもしれません、申し訳ありません、私はまだこの仕事の初心者です、何が間違っているのかわかりません。
MQL5Filesにテキストファイルを作成したのですが、開くことができません。エラー5004が書き込まれている。可能であれば、ご協力ください。
MT5クライアント端末の共有フォルダにファイルがない場合(あなたの場合はそうなっています)。
FILE_COMMON フラグを削除する必要があります。
MT5クライアント端末の共有フォルダにファイルがない場合(あなたの場合はそうなっています)。
FILE_COMMON フラグを削除する必要があります。
ありがとうございました。しかし、残念ながら役に立ちませんでした。フラッグでいろいろなオプションを試した。また、エラー5004を書き込みます。他に何か試せることはありますか?
単純にテキストファイルとして開いてみてください。
単純にテキストファイルとして開いてみてください。
それもうまくいかなかった。ファイルを扱うのは初めてです。ここで余計なことをする必要はないのでしょうか?
はい、必ずファイルを閉じる 必要があります。
はい、必ずファイルを閉じて ください。
個人蔵の著名な作家の講座を共有する。
皆さんこんにちは!有名なCrossArbitrインジケーターについて教えてください。もちろん、このコードは私のものではありません。出力しない情報を必要とした。だから、順番に。
変数double n, m を追加しました。
"ⅳBID Synthetic and Real =", n=(CalcBid-Bid)です。
"ⅳ、差分ASK合成と実数=", m=(CalcAsk-Ask)です。
"\nTotal =" (m - n) <-----
この括弧内のマイナスに悪態をついて終わりです(一部オペアト予想)。何が間違っているのか、誰が教えてくれるのだろう?