どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1056

 
ara66676:

簡単な質問の答えが見つからないので、助けてください。

intTimeSeconds(,,,,)指定された時刻の分の先頭からの経過秒数を返す

バーのオープンタイムを関数に挿入すると

TimeSeconds(iTime(NULL,PERIOD_M5,0))

バーが閉じるまであと10秒あることを知るにはどうしたらよいですか?

まあ、経過時間を期間内の秒数から引くと...。

PeriodSeconds(PERIOD_M5) - TimeSeconds(iTime(_Symbol, PERIOD_M5, 0));



 
AlexeyVik:

なぜなら、ドキュメントを最後まで読まないといけないからです。そして、その中に例があります。

ありがとうございます。例ではこの"ArrayResize"が私の頭を混乱させた。:)

ドキュメントでは、この言葉自体から配列であることが理解できるかもしれないので、この「array[]」という括弧は不要だと思うのです。:)

int  ArrayInitialize( 
   int     array,     // инициализируемый массив 
   int     value        // значение, которое будет установлено 
   );
 
AlexeyVik:

そこで、1周期の秒数から経過時間を引くと...。



5年前からmql4を使っていますが、このような機能があるとは知りませんでした、本当にありがとうございます ))

残念ながら、5日ではこのチェックは効きませんでした・・・((

 
if(id==CHARTEVENT_MOUSE_MOVE)
                                       {
                                       // получ и преобраз координ мыши
                                       ChartXYToTimePrice(0,lparam,dparam,huin,timeVline,priceVline);
                                       // переместить нa них линию
                                       ObjectSet(stockname+"timeVline",OBJPROP_TIME1,timeVline);                                     
                                              
                                        } 
この作品は、実際のチャート上で、インジケータがゼロから実行されている場合、それは当然のように動作します。
どこが悪いのかわかりませんが、テスターでインジケータを実行すると、マウスの後に線が動きません。
また、huinという 変数が何をするものなのかがわかりません。
 
ara66676:

5年前からmql4を使っていますが、このような機能があるとは知りませんでした、本当にありがとうございます ))

残念ながら、5日ではこのチェックは効きませんでした・・・((

だから、指定すればよかったのに...。原理は同じです。

TimeCurrent() - (datetime) SeriesInfoInteger(_Symbol, PERIOD_M5, SERIES_LASTBAR_DATE);


CopyTime() を使うこともできる...


いや...そんなことはないんです。

(datetime) SeriesInfoInteger(_Symbol, PERIOD_M5, SERIES_LASTBAR_DATE) + PeriodSeconds(PERIOD_M5) - TimeCurrent():
 

gurus tell me!!!!なぜ売り注文が開かないのか?

//+------------------------------------------------------------------+

//| プロジェクト名

//| 著作権 2012, 会社名|

//| http://www.companyname.net |

//+------------------------------------------------------------------+

#プロパティの 厳密さ

//+------------------------------------------------------------------+

//| 専門家による初期化機能

//+------------------------------------------------------------------+


input double L=0.01;

入力 int TakeProfit = 150;

入力 int StopLoss = 150;

入力 int Magic = 0;

//+------------------------------------------------------------------+

int b=0;

int s=0;

//+------------------------------------------------------------------+

int OnInit()

{

return(0)です。

}

//+------------------------------------------------------------------+

//| エキスパートティック機能

//+------------------------------------------------------------------+

void OnTick()

{

//+------------------------------------------------------------------+

//| 買い注文を出す

//+------------------------------------------------------------------+

if(b==0)

{

b=My_Fun_b()です。

}

//+------------------------------------------------------------------+

//| 売りの注文を出す

//+------------------------------------------------------------------+

if(s==0)

{

double priceb=My_Fun_p();

Comment("買い注文の価格",priceb);

if(priceb==Bid) /*NOT EXECUTED WHY*/.

{

s=My_Fun_s(priceb);/*NOT EXECUTED, WHY// (なぜ実行されないのか?

}

}

}

//+------------------------------------------------------------------+

//| 専門家による初期化関数

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{


}

//+------------------------------------------------------------------+

//| 最初の注文を出すためのカスタム関数

//+------------------------------------------------------------------+

int My_Fun_b()

{

b=OrderSend(_Symbol,0,0.01,Ask,0,0,", 414,0,clrBlue);

return(b)です。

}

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

double My_Fun_p()

{

double pb=0;

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)

if(OrderMagicNumber()==414)

{

pb=OrderOpenPrice()。

}

return(pb)です。

}

//+------------------------------------------------------------------+

//| 最初の注文(売り)を出すためのカスタム関数

//+------------------------------------------------------------------+

int My_Fun_s(double priceb)

{

s=OrderSend(_Symbol,1,0.01,priceb,0,0,",0,0,clrRed);

return(b)です。

}

//+------------------------------------------------------------------+


ファイル:
test.mq4  2 kb
 
AlexeyVik:

まあ、指定すればいいんですけどね...。原理は同じ


CopyTime() を使うこともできる...


いや...ちょっと違うんです。

ありがとうございます、うまくいきました。正しいバリアント。

(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 ,SERIES_LASTBAR_DATE))>290

本当にありがとうございます!これで山のようなコードを削除して、この行を使うことができます!!!))

 
ara66676:

ありがとうございます、うまくいきました。正しいバリアント:

(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE))>290

本当にありがとうございます!これで山のようなコードを削除して、この行を使うことができます!!!))

どうやら、開店からの経過時間でも、閉店までの時間でも構わないようだ。このバリエーションでは、小節の開始からの経過時間を正確に表示し、小節の終了までの時間は表示しない。

そして、290という数字は何でしょうか?なぜ290以上のチェックが必要なのか?

 
AlexeyVik:

どうやら、小節の開始からの経過時間でも、小節の終了までの時間でも構わないようだ。このオプションでは、小節の終わりまでの時間ではなく、小節の始まりからの経過時間を正確に表示します。

290という数字は何ですか?なぜ290以上のチェックが必要なのか?

この場合、290という数字は、バーが開いてから290秒以上経過していることを示します。キャプションが固くてすみません )))
 

コンパイルエラー (2): Magic - 未宣言の識別子

訂正のご協力をお願いします。

bool CheckExists(int Type)
{
bool Result = True;
for(int i = 0; i < OrdersTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS))
if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
。if(OrderOpenTime() >= Time[0])
Result = False;
for(i = 0; i < OrdersHistoryTotal(); i++)
。{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderType() == Type &)&& OrderOpenTime() >= Time[0]
&& OrderMagicNumber() == Magic && ...OrderSymbol() == Symbol()
Result = False;
}

return(Result);
}.