MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 49 1...424344454647484950515253545556...1953 新しいコメント Vitaly Muzichenko 2016.12.26 21:29 #481 mila.com: ありがとうございます、これで いいのでしょうか? label =ObjectGetInteger(0,nm,OBJPROP_COLOR,0);if(label==Lime) BUY_ = true;いや、そうやって色データをint型として 取得するのです。コメントに印刷されているものを見てみてください。Comment( ColorToString((color)ObjectGetInteger(0,"NaneOBJ",OBJPROP_COLOR,0), true) );変換について読む mila.com 2016.12.26 21:37 #482 Vitaly Muzichenko:変換について読むありがとうございます! 条件自体は合っているのでしょうか? Vitaly Muzichenko 2016.12.26 21:51 #483 mila.com:ありがとうございます! 条件自体は合っているのでしょうか?string label = ColorToString((color)ObjectGetInteger(0,"MP140269",OBJPROP_COLOR,0), true);if(label==Lime) BUY_ = true;if(label==Red) BUY_ = false; たぶん、ないと思います。データが文字列 型の場合は、引用符で囲んで、"clrLime "と文字単位で完全な色合わせを記述する必要があります。 mila.com 2016.12.26 21:58 #484 Vitaly Muzichenko: たぶん、ないと思います。データが文字列 型の場合は、引用符で囲んで、"clrLime "と文字単位で完全な色合わせを記述する必要があります。ありがとうございます、うまくいきました ) Artyom Trishkin 2016.12.26 22:20 #485 Vitaly Muzichenko: たぶん、ないと思います。データが文字列 型の場合は、引用符で囲み、"clrLime "のように文字単位での完全なカラーマッチングを記述する必要があります。 いいえ、引用符で囲む必要はありません - これらは定数です。すなわち、次のようにする。 if(label==clrLime) {}。 mila.com 2016.12.27 05:40 #486 Artyom Trishkin: いいえ、引用符で囲む必要はありません - これらは定数です。すなわち、次のようにする。 if(label==clrLime) {}。 ありがとうございます、うまくいきました。 ストキャスティクスの指標レベルを正しく取得する方法を、高い時間軸から教えていただけないでしょうか。 int bar_sto2_0=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i)); int bar_sto2_1=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i+1)); double sto1_0=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i); double sto1_1=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i+1); double sto2_0=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_0); double sto2_1=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_1); if(sto2_0>55) { BufferUP[i]=low[i]-distance*MyPoint; } 高いタイムフレームに設定した場合は、すべてが正しく、インジケータのラインが 55より上にあるときに矢印が設定されます。 下位のチャートに切り替えると、カオスに。 Any questions from newcomers MQL4からMQL5への移植 Artyom Trishkin 2016.12.27 06:41 #487 mila.com: ありがとうございます、うまくいきました。 ハイタイムフレームからストキャスティックインジケーターのレベルを正しく取得する方法を教えていただけないでしょうか。 int bar_sto2_0=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i)); int bar_sto2_1=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i+1)); double sto1_0=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i); double sto1_1=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i+1); double sto2_0=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_0); double sto2_1=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_1); if(sto2_0>55) { BufferUP[i]=low[i]-distance*MyPoint; } 高いタイムフレームに設定した場合は、すべてが正しく、インジケータのラインが 55より上にあるときに矢印が設定されます。 下位のチャートに切り替えると、カオスになる。 指標のサイクルについて話している場合、高いタイムフレームのどのバーが、低い価格帯のサイクルインデックスによって示されるバーに対応するかを知るために、バーの時間 iを 取得する必要があります。そして、この時刻をもとに、この時刻に対応するハイフレームのバーを特定する。例:H4の1小節は、H1の4小節に対応する。したがって、H1から4つのサイクルインデックスiの値がH4の同じバーを指し示すことになる。変数(の名前)から、どのバーから値を取得しているのかがわかりません。だから、理論以外のことは言えないんです。 mila.com 2016.12.27 07:13 #488 Artyom Trishkin:インジケータのサイクルについて話している場合、上位タイムフレームのどのバーが下位tfのサイクルインデックスで示されるバーに対応するかを知るためには、バーiの 時間を 取得する必要があります。そして、この時刻をもとに、この時刻に対応するハイフレームのバーを特定する。例:H4の1小節は、H1の4小節に対応する。これに対応して、H1タイムフレームのサイクルインデックスiの4つの値は、H4タイムフレーム上の同じバーを指すことになります。変数名から、どのバーから値を取得しているのかがわかりません。そのため、理論以外のことはなかなか言えません。インジケーターはM1にセットされています。上向き矢印の主な条件は、M5の指標線が 55円台の上にあることです。 この条件を満たさない場合、たとえM5の55レベルを下回るラインであっても、矢印が配置されます。 Mickey Moose 2016.12.27 09:01 #489 1本目の高値が3本目の安値より高ければ...」という条件をロボットにどう書き込むか。トリガーは "OnTick() "ではないはずです。しかし、0本のバーが1本になるたびに Sergey Gritsay 2016.12.27 10:35 #490 trader781:1本目の高値が3本目の安値より高ければ...」という条件をロボットにどう書き込むか。トリガーは "OnTick() "ではないはずです。しかし、0本のバーが1本になるたびにこんなことができる//+------------------------------------------------------------------+//| test03.mq4 |//| Sergey Gritsay |//| https://www.mql5.com/ru/users/sergey1294 |//+------------------------------------------------------------------+#property copyright "Sergey Gritsay"#property link "https://www.mql5.com/ru/users/sergey1294"#property version "1.00"#property strict//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+class CNevBar {private: datetime curbar; datetime lastbar;public: CNevBar(); ~CNevBar(); bool new_bar(string symbol,ENUM_TIMEFRAMES period); };//+------------------------------------------------------------------+void CNevBar::CNevBar() { }//+------------------------------------------------------------------+void CNevBar::~CNevBar(void) { }//+------------------------------------------------------------------+bool CNevBar:: new_bar(string symbol,ENUM_TIMEFRAMES period) { curbar=(datetime) SeriesInfoInteger(symbol,period,SERIES_LASTBAR_DATE); if(lastbar==0)lastbar=(datetime)SeriesInfoInteger(symbol,period,SERIES_LASTBAR_DATE); if(lastbar!=curbar) { lastbar=curbar; return(true); } return(false); } CNevBar newbar;//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//---//--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) { }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() { if(newbar.new_bar(_Symbol,PERIOD_CURRENT)) { if(High[1]>Low[3]) { } } }//+------------------------------------------------------------------+... Any questions from newcomers 初心者の方からの質問 MQL4 MT4 MetaTrader 初心者の方からの質問 MQL5 MT5 MetaTrader 1...424344454647484950515253545556...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありがとうございます、これで いいのでしょうか?
if(label==Lime) BUY_ = true;
いや、そうやって色データをint型として 取得するのです。
コメントに印刷されているものを見てみてください。
変換について読む
変換について読む
ありがとうございます! 条件自体は合っているのでしょうか?
if(label==Lime) BUY_ = true;
if(label==Red) BUY_ = false;
たぶん、ないと思います。データが文字列 型の場合は、引用符で囲んで、"clrLime "と文字単位で完全な色合わせを記述する必要があります。
たぶん、ないと思います。データが文字列 型の場合は、引用符で囲み、"clrLime "のように文字単位での完全なカラーマッチングを記述する必要があります。
いいえ、引用符で囲む必要はありません - これらは定数です。すなわち、次のようにする。 if(label==clrLime) {}。
ありがとうございます、うまくいきました。
ストキャスティクスの指標レベルを正しく取得する方法を、高い時間軸から教えていただけないでしょうか。
int bar_sto2_1=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i+1));
double sto1_0=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i);
double sto1_1=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i+1);
double sto2_0=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_0);
double sto2_1=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_1);
if(sto2_0>55)
{
BufferUP[i]=low[i]-distance*MyPoint;
}
高いタイムフレームに設定した場合は、すべてが正しく、インジケータのラインが 55より上にあるときに矢印が設定されます。
下位のチャートに切り替えると、カオスに。
ありがとうございます、うまくいきました。
ハイタイムフレームからストキャスティックインジケーターのレベルを正しく取得する方法を教えていただけないでしょうか。
int bar_sto2_1=iBarShift(Symbol(),TimeFrame2,iTime(Symbol(),TimeFrame2,i+1));
double sto1_0=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i);
double sto1_1=iStochastic(Symbol(),TimeFrame1,kperiod1,dperiod1,slowing1,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,i+1);
double sto2_0=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_0);
double sto2_1=iStochastic(Symbol(),TimeFrame2,kperiod2,dperiod2,slowing2,MODE_LWMA,STO_CLOSECLOSE,MODE_MAIN,bar_sto2_1);
if(sto2_0>55)
{
BufferUP[i]=low[i]-distance*MyPoint;
}
高いタイムフレームに設定した場合は、すべてが正しく、インジケータのラインが 55より上にあるときに矢印が設定されます。
下位のチャートに切り替えると、カオスになる。
指標のサイクルについて話している場合、高いタイムフレームのどのバーが、低い価格帯のサイクルインデックスによって示されるバーに対応するかを知るために、バーの時間 iを 取得する必要があります。そして、この時刻をもとに、この時刻に対応するハイフレームのバーを特定する。例:H4の1小節は、H1の4小節に対応する。したがって、H1から4つのサイクルインデックスiの値がH4の同じバーを指し示すことになる。
変数(の名前)から、どのバーから値を取得しているのかがわかりません。だから、理論以外のことは言えないんです。
インジケータのサイクルについて話している場合、上位タイムフレームのどのバーが下位tfのサイクルインデックスで示されるバーに対応するかを知るためには、バーiの 時間を 取得する必要があります。そして、この時刻をもとに、この時刻に対応するハイフレームのバーを特定する。例:H4の1小節は、H1の4小節に対応する。これに対応して、H1タイムフレームのサイクルインデックスiの4つの値は、H4タイムフレーム上の同じバーを指すことになります。
変数名から、どのバーから値を取得しているのかがわかりません。そのため、理論以外のことはなかなか言えません。
インジケーターはM1にセットされています。
上向き矢印の主な条件は、M5の指標線が 55円台の上にあることです。
この条件を満たさない場合、たとえM5の55レベルを下回るラインであっても、矢印が配置されます。
1本目の高値が3本目の安値より高ければ...」という条件をロボットにどう書き込むか。
トリガーは "OnTick() "ではないはずです。
しかし、0本のバーが1本になるたびに
1本目の高値が3本目の安値より高ければ...」という条件をロボットにどう書き込むか。
トリガーは "OnTick() "ではないはずです。
しかし、0本のバーが1本になるたびに
こんなことができる
//| test03.mq4 |
//| Sergey Gritsay |
//| https://www.mql5.com/ru/users/sergey1294 |
//+------------------------------------------------------------------+
#property copyright "Sergey Gritsay"
#property link "https://www.mql5.com/ru/users/sergey1294"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CNevBar
{
private:
datetime curbar;
datetime lastbar;
public:
CNevBar();
~CNevBar();
bool new_bar(string symbol,ENUM_TIMEFRAMES period);
};
//+------------------------------------------------------------------+
void CNevBar::CNevBar()
{
}
//+------------------------------------------------------------------+
void CNevBar::~CNevBar(void)
{
}
//+------------------------------------------------------------------+
bool CNevBar:: new_bar(string symbol,ENUM_TIMEFRAMES period)
{
curbar=(datetime) SeriesInfoInteger(symbol,period,SERIES_LASTBAR_DATE);
if(lastbar==0)lastbar=(datetime)SeriesInfoInteger(symbol,period,SERIES_LASTBAR_DATE);
if(lastbar!=curbar)
{
lastbar=curbar;
return(true);
}
return(false);
}
CNevBar newbar;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(newbar.new_bar(_Symbol,PERIOD_CURRENT))
{
if(High[1]>Low[3])
{
}
}
}
//+------------------------------------------------------------------+
...