初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 395 1...388389390391392393394395396397398399400401402...1503 新しいコメント Vitalie Postolache 2015.07.17 09:44 #3941 Максим Вдовицкий: AVERAGE RANGEスクリプトのスクリプトウィンドウがグラフ上に表示されないのですが。 ログには通常、いつ呼ばれたか、何をしたか、何のために解雇されたか...といったことが順番に書かれています。 Максим Вдовицкий 2015.07.17 10:03 #3942 ありがとうございます。 Максим Вдовицкий 2015.07.18 16:42 #3943 新価格、新価格だから3min...と突っぱねればいいんだよ。.、そうすれば、その必要はありません!!!! Vitalie Postolache 2015.07.18 20:23 #3944 Максим Вдовицкий: 新価格、新価格だから3min...と突っぱねればいいんだよ。.、そうすれば、その必要はありません!!!! また、スクリプトでも同じことが起こります。手動で取引したものを再クオート すれば、自動で取引したものをさらに再クオートします。 Evgeny Belyaev 2015.07.19 11:27 #3945 Максим Вдовицкий: 新価格、新価格だから3min...と突っぱねればいいんだよ。.そして、その必要はないのです!!! どこのブローカー? Максим Вдовицкий 2015.07.19 13:49 #3946 Evgeny Belyaev: どのブローカー? グランドス...バイナリーのパネルが見つからない、有料のものしかない。バイナリー用のパネルが見つからず、有料のものばかりなので、初心者を助けてくださる方に感謝します。 Roman Shiredchenko 2015.07.20 04:40 #3947 入札配列によるMA計算について質問です。なぜ計算されないのか、教えてください。macurrent0 = 0 постоянноmacurrent1, macurrent2, macurrent3 имеют одинаковое не правильное не меняющееся значениеすなわち、コメントでは常に0である。機能は、配列に格納されたデータを使用して計算された移動平均のテクニカルインディケータの値を 返しません 。 doubleiMAOnArray()...extern int Ma_period=15; double xBuffer_Bid []; // Массив значений динамический, в котором индекс - номер тика, значение - это бид int SIZE=0; // Вспомогательная переменная для массива int tickCounter, tickCounter_Current; double MaxSpeed; // максимальная средняя скорость тиков с запуска системы //+------------------------------------------------------------------+ int init() { //--- устанавливаем размер динамического массива if(ArrayResize(xBuffer_Bid, 2000000)<0) {Print(" Ошибка в изменении размера массива "); return(false);} //--- установим индексацию для буфера как в таймсерии для динамического массива // ArraySetAsSeries(xBuffer_Time,true); //--- Возвращает количество элементов указанного массива. int S_Bid=ArraySize(xBuffer_Bid); if (S_Bid>=0) Print("Размер массива S_Бид: ",S_Bid); else Print("Ошибка. Массив S_Time не создан ",S_Bid); ArrayInitialize(xBuffer_Bid, 0); return(0); } //+------------------------------------------------------------------+ int start() { double avgBid = 0; // средняя цена Бид int k=0; // вспомогательная переменная для цикла double Summ_Time = 0; // время поступления крайней котировки для расчёта double avgTime; // среднее время поступление тиков double avgSpeed; // средняя скорость их поступления ArrayResize(xBuffer_Bid,SIZE); // увеличение размера массивов на 1 if (SIZE>0) { xBuffer_Bid[SIZE-1] = NormalizeDouble(MarketInfo(_Symbol, MODE_BID ), Digits); // заполнение массива Bid if (ArraySize(xBuffer_Bid) < 2147483647) // Print (" Текущее значение xBuffer_Bid [SIZE-1] = ", DoubleToStr(xBuffer_Bid[SIZE-1],Digits) ); } Print (" Текущее значение SIZE = ", DoubleToStr(SIZE,2) ); SIZE ++; // счётчик индекса массивов ... // -------------- Расчёт МА по массиву бидов -------------------------- if ( SIZE >= Ma_period) if (ArraySize(xBuffer_Bid) < 2147483647) { double macurrent0=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-1); double macurrent1=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-2); double macurrent2=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-3); double macurrent3=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-4); //Print(" } if (time_s!=0) Comment( "macurrent0 = ", NormalizeDouble(macurrent0,Digits), "\n", "macurrent1 = ", NormalizeDouble(macurrent1,Digits), "\n", "macurrent2 = ", NormalizeDouble(macurrent2,Digits), "\n", "macurrent3 = ", NormalizeDouble(macurrent3,Digits), "\n", "") ; return(0); } Lena Selesneva 2015.07.20 04:53 #3948 記事 "TRADING HISTORY-based FILTER"( www.mql5.com/ru/articles/1441 ) からの私のExpert Advisorはうまくいっていましたが、今はコンパイルしてエラー '[' - invalid index value wheninput parameters: double virtClosedOrders[0][5]; Help me understand.を生成 します。 Фильтр на основании истории торговли 2006.11.29Andrey Khatimlianskiiwww.mql5.com В статье рассматривается использование виртуальной торговли, как составной части фильтра открытия сделок. Artyom Trishkin 2015.07.20 06:25 #3949 Roman Shiredchenko:入札配列によるMA計算について質問です。なぜ計算されないのか、教えてください。すなわち、コメントでは常に0である。機能は、配列に格納されたデータを使用して計算された移動平均のテクニカルインディケータの値を 返しません 。 doubleiMAOnArray()...アレイを正しく埋めることができますか?このように詰めてみてください。//+------------------------------------------------------------------+ //| FillArrays.mq4 | //| Copyright 2015, Artem A. Trishkin, Skype artmedia70 | //| https://login.mql5.com/ru/users/artmedia70 | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, Artem A. Trishkin, Skype artmedia70" #property link "https://login.mql5.com/ru/users/artmedia70" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Input variables | //+------------------------------------------------------------------+ input int NumberOfStorableTicks=20; // Количество сохраняемых тиков int numberOfStorableTicks; // Количество сохраняемых тиков input int PeriodOfMA=5; // Период сглаживания int periodOfMA; // Период сглаживания //+------------------------------------------------------------------+ //| Global variables | //+------------------------------------------------------------------+ string symbol; // Symbol() int digits; // Digits //+------------------------------------------------------------------+ //| Arrays | //+------------------------------------------------------------------+ double Mass_ticks[]; double Mass_smoothed_values[]; //+------------------------------------------------------------------+ //| Structures | //+------------------------------------------------------------------+ MqlTick struct_tick; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- symbol=Symbol(); digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); //--- numberOfStorableTicks=(NumberOfStorableTicks<2)?2:NumberOfStorableTicks; periodOfMA=(PeriodOfMA<1)?1:PeriodOfMA; //--- ArrayResize(Mass_ticks,numberOfStorableTicks); ArrayInitialize(Mass_ticks,0.0); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Comment(""); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(SymbolInfoTick(symbol,struct_tick)) { double tick_bid=struct_tick.bid; FillArrays(numberOfStorableTicks,tick_bid,Mass_ticks); } string txt=""; for(int i=numberOfStorableTicks-1; i>=0; i--) { txt+="\nmass["+IntegerToString(i)+"]: "+DoubleToString(Mass_ticks[i],digits); } Comment(txt); } //+------------------------------------------------------------------+ void FillArrays(int array_size, double price, double &mass_price[]) { //--- сместим данные в массиве влево for(int i=array_size-1; i>0; i--) { mass_price[i]=mass_price[i-1]; } //--- запишем новый тик в массив mass_price[0]=price; } //+------------------------------------------------------------------+まず、配列が 正しく刻みで埋まっていることを確認し、マスクで滑らかにすることを試みます。 Roman Shiredchenko 2015.07.20 07:03 #3950 では、状況はどうでしょうか。 iMAonArrayで正しく動作させるには?これが写真です。 以下はそのコードです。 同じ値でも、なぜここで間違っているのかがわからない。 Alert(" macurrent0 = ", DoubleToStr(macurrent0,Digits)); Alert(" macurrent1 = ", DoubleToStr(macurrent1,Digits)); Alert(" macurrent2 = ", DoubleToStr(macurrent2,Digits));ここでは、すべてがカウントされ、正しく出力されます。これは、1次元配列の一番外側の3つのセルの内容について話しているのです。 Alert (" Текущее значение xBuffer_Bid [SIZE-1] = ", DoubleToStr(xBuffer_Bid[SIZE-1],Digits) ); if (SIZE>1) Alert (" Предыдущее значение xBuffer_Bid [SIZE-2] = ", DoubleToStr(xBuffer_Bid[SIZE-2],Digits) ); if (SIZE>2) Alert (" Предпредыдущее значение xBuffer_Bid [SIZE-3] = ", DoubleToStr(xBuffer_Bid[SIZE-3],Digits) ); } ArrayResize(xBuffer_Time,SIZE); ArrayResize(xBuffer_Bid,SIZE); // увеличение размера массивов на 1 if (SIZE>0) { xBuffer_Bid[SIZE-1] = NormalizeDouble(MarketInfo(_Symbol, MODE_BID ), Digits); // заполнение массива Bid if (ArraySize(xBuffer_Bid) < 2147483647) { Alert (" Текущее значение xBuffer_Bid [SIZE-1] = ", DoubleToStr(xBuffer_Bid[SIZE-1],Digits) ); if (SIZE>1) Alert (" Предыдущее значение xBuffer_Bid [SIZE-2] = ", DoubleToStr(xBuffer_Bid[SIZE-2],Digits) ); if (SIZE>2) Alert (" Предпредыдущее значение xBuffer_Bid [SIZE-3] = ", DoubleToStr(xBuffer_Bid[SIZE-3],Digits) ); } } Alert (" Текущее значение SIZE = ", DoubleToStr(SIZE,2) ); if ( SIZE >= Ma_period) if (ArraySize(xBuffer_Bid) < 2147483647) { double macurrent0=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-1); double macurrent1=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-2); double macurrent2=iMAOnArray(xBuffer_Bid,0,Ma_period,0,MODE_EMA,SIZE-3); Alert(" macurrent0 = ", DoubleToStr(macurrent0,Digits)); Alert(" macurrent1 = ", DoubleToStr(macurrent1,Digits)); Alert(" macurrent2 = ", DoubleToStr(macurrent2,Digits)); } SIZE ++; // счётчик индекса массивов для их заполнения необходимо его увеличение 1...388389390391392393394395396397398399400401402...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
AVERAGE RANGEスクリプトのスクリプトウィンドウがグラフ上に表示されないのですが。
新価格、新価格だから3min...と突っぱねればいいんだよ。.、そうすれば、その必要はありません!!!!
新価格、新価格だから3min...と突っぱねればいいんだよ。.そして、その必要はないのです!!!
どのブローカー?
入札配列によるMA計算について質問です。
なぜ計算されないのか、教えてください。
macurrent0 = 0 постоянно
すなわち、コメントでは常に0である。
機能
は、配列に格納されたデータを使用して計算された移動平均のテクニカルインディケータの値を 返しません 。
doubleiMAOnArray()
記事 "TRADING HISTORY-based FILTER"( www.mql5.com/ru/articles/1441 ) からの私のExpert Advisorはうまくいっていましたが、今はコンパイルしてエラー '[' - invalid index value wheninput parameters: double virtClosedOrders[0][5]; Help me understand.を生成 します。
入札配列によるMA計算について質問です。
なぜ計算されないのか、教えてください。
すなわち、コメントでは常に0である。
機能
は、配列に格納されたデータを使用して計算された移動平均のテクニカルインディケータの値を 返しません 。
doubleiMAOnArray()
アレイを正しく埋めることができますか?このように詰めてみてください。
まず、配列が 正しく刻みで埋まっていることを確認し、マスクで滑らかにすることを試みます。
では、状況はどうでしょうか。
iMAonArrayで正しく動作させるには?
これが写真です。
以下はそのコードです。
同じ値でも、なぜここで間違っているのかがわからない。
ここでは、すべてがカウントされ、正しく出力されます。これは、1次元配列の一番外側の3つのセルの内容について話しているのです。