// I say Once ' Do not turn... ' for ' if ' operator - this is good. if ( Morning || Midnight ) { // Do not turn on light just for today... }
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '? switch ( Today ) { case Morning : // Do not turn on light just for today... break; case Midnight : // Do not turn on light just for today... break; } //---switch Close
// I say Once ' Do not turn... ' for ' if ' operator - this is good. if ( Morning || Midnight ) { // Do not turn on light just for today... }
これは本当のことです 朝 OR 夜中
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '? switch ( Today ) { case Morning : // Do not turn on light just for today... break; case Midnight : // Do not turn on light just for today... break; } //---switch Close
はい、OnChartEvent()はどちらの言語でも同じです。
どうもありがとうございました。
また、MT5用に書かれたコードの多くが、現在MT4でも動作することがわかりました。
私は過去にいろいろなことを試しましたが、1年前には動かなかったものが今は動くので、これは彼らがまだ両方の言語を活発に開発していることを表しています。
また、MT5用に書かれたコードの多くが、現在MT4でも動作することがわかりました。
私は過去にいろいろなことを試しましたが、1年前には動かなかったものが今は動くので、これは彼らがまだ両方の言語を活発に開発していることを表しています。
if ( Morning || Midnight )
{
// Do not turn on light just for today...
}
// I say Twice ' Do not turn... ' for ' switch ' operator - Q: Can I say ' Once '?
switch ( Today )
{
case Morning : // Do not turn on light just for today...
break;
case Midnight : // Do not turn on light just for today...
break;
} //---switch Close
私はすでに記事を読み、そこから使用する方法を'CHARTEVENT_OBJECT_DRAG'の他の人のコードをチェックアウトしました。
ストップロス、テイクプロフィット、ペンディングオーダーのオブジェクトをドラッグすると、そのオブジェクトと一緒に移動することができるようになりました。(もちろん、これらはすべて別々でもかまいません。)しかし、残念ながら、それは私のために感覚を作ることはありません。今になって、私は無駄なことに時間を費やしてしまったと思います。なぜなら、彼らのコードスタイルは私のとは全く異なるからです。
(私のコードスタイルはシンプルで、mql4ドキュメントのコードスタイルのように、もう少し理解できます。)
また、注文を修正するEAスクリプト(sl, tpなど)を見たのですが、「CHARTEVENT_OBJECT_DRAG」なしで動作していました...私は、あなたが私が何を意味するか知っていることを望みます。
今、私は、HLineやTrendlineオブジェクトを使った' CHARTEVENT_OBJECT_DRAG ' の簡単な例だけでも教えて欲しいのです。または、明確な説明や何か良い(/より明確に)コメント。
私はすでに多くの時間を費やしたし、私はまだそれについて研究しています。私はすぐに答えを得ることを望みます。
よろしくお願いします。
ありがとうございました。
if ( Morning || Midnight )
{
// Do not turn on light just for today...
}
これは本当のことです 朝 OR 夜中
switch ( Today )
{
case Morning : // Do not turn on light just for today...
break;
case Midnight : // Do not turn on light just for today...
break;
} //---switch Close
これは、モーニングのケースとミッドナイトのケースが別々になっています。
つまり、これらは2つの異なるものです。
CHARTEVENT_OBJECT_DRAG'の使い方については、既に記事を読み、他の方のコードも確認しました。
ストップロス、テイクプロフィット、ペンディングオーダーのオブジェクトをドラッグすると、そのオブジェクトと一緒に移動することがあります。(もちろん、全部別々でもいいんですけどね。)しかし、残念ながら、それは私には意味がありません。今思うと、無駄なことに時間を費やしていたんだなと思います。なぜなら、彼らのコードスタイルは私のとは全く異なるからです。
(私のコードスタイルはシンプルで、mql4ドキュメントのコードスタイルのように、もう少し理解できます。)
また、あるEAスクリプトで、注文の変更(sl, tpなど)をするのを見たのですが、「CHARTEVENT_OBJECT_DRAG」なしで動作していました...私が言っていることがお分かりになると思います。
今、私は、HLineやTrendlineオブジェクトを使った' CHARTEVENT_OBJECT_DRAG ' の簡単な例だけでも教えてほしいのです。または、明確な説明や何か良い(/より明確に)コメント。
私はすでに多くの時間を費やしたし、私はまだそれについて研究しています。私はすぐに答えを得ることを望みます。
よろしくお願いします。
ありがとうございました。
というときに、線を引くことができます。
OBJPROP_SELECTED ==1
どちらもその通りだし、その値を読み込むのは簡単よ。
の代わりに
ストップロスや テイクプロフィットの ドラッグのコードをどう書けばいいのか、ほとんどわからなかったのですが、どうもありがとうございました。
ありがとうございます。
マーケットクローズ
ということで、すでに試してみたところ、「OBJPROP_PRICE」は欲しいものが取得できるようになりました。
HLineオブジェクトをドラッグしてPrint()すると、1秒に1回更新されます。これは、EventSetTimer( 1 ) を使っているからです。
しかし、私はPrint()が1秒に1回更新されないようにする必要があります。私は、ドラッグを停止した後、Print()が更新されるようにしたいのです。
もし、あなたが私を理解しているならば、私を助けるか、私に助言を与えてください。
よろしくお願いします。
そこで、OBJPROP_PRICEの値をdoubleに格納し、両者を比較することができます。
もし両者が違えば、ドラッグが開始されたことを意味し、もし両者が等しければ、ドラッグが停止されたことを意味します。
//| Drag Hline.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double price; // price variable;
bool drag; // drag flag
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create timer
EventSetTimer(1);
//--- create Hline
ObjectCreate(0,"line",OBJ_HLINE,0,0,Ask);
//--- store value
price=ObjectGetDouble(0,"line",OBJPROP_PRICE,0);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//--- compare values
if(price!=ObjectGetDouble(0,"line",OBJPROP_PRICE,0))
{
drag=1; // set drag flag
price=ObjectGetDouble(0,"line",OBJPROP_PRICE,0); //store new value
}
if(drag==1)
{
if(price==ObjectGetDouble(0,"line",OBJPROP_PRICE,0))
{
drag=0; //reset drag flag
Alert(" New value set: ", DoubleToString(price));
}
}
}
//+------------------------------------------------------------------+
あるいは、ドラッグが検出された時点でカウンターをスタートさせるなど、いろいろな方法があります。