Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql4-программа. Перечисление ENUM_TIMEFRAMES содержит значения стандартных таймфреймов, онлайновые графики финансовых...
#include <Trade\SymbolInfo.mqh>
CSymbolInfo m_symbol;
//===inputint ATRper=7; //ATR PeriodinputENUM_TIMEFRAMES ATRtimeframe=PERIOD_CURRENT;//«Time_Frame_ ATR»int handle_iCustom;
double atr_tp;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---if(!m_symbol.Name(Symbol())) // sets symbol namereturn(INIT_FAILED);
handle_iCustom=iATR(m_symbol.Name(),ATRtimeframe,ATRper);
//--- if the handle is not created if(handle_iCustom==INVALID_HANDLE)
{
//--- tell about the failure and output the error code PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
m_symbol.Name(),
EnumToString(Period()),
GetLastError());
//--- the indicator is stopped early return(INIT_FAILED);
}
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+voidOnTick()
{
//---int Bar_=0;
atr_tp= iCustomGet(handle_iCustom ,0,Bar_);
atr_tp=NormalizeDouble(atr_tp,Digits())/_Point;
atr_tp=(int)atr_tp;
Comment("atr_",atr_tp);
}
//+------------------------------------------------------------------+double iCustomGet(int handle,constint buffer,constint index)
{
double Custom[1];
//--- reset error code ResetLastError();
//--- fill a part of the iCustom array with values from the indicator buffer that has 0 index if(CopyBuffer(handle,buffer,index,1,Custom)<0)
{
//--- if the copying fails, tell the error code PrintFormat("Failed to copy data from the iCustom indicator, error code %d",GetLastError());
//--- quit with zero result - it means that the indicator is considered as not calculated return(0.0);
}
return(Custom[0]);
}
///
効くんです。))
そして、なんと巧妙なフォーラムエンジン...。コードの貼り付け方については、あなた自身がリンクを貼って説明しています。
そして、本当に...なぜ、より良くなろうとするのか...
これらの関数にどれだけの余分なコードが書かれているか、また、これらの自作関数を呼び出してどれだけのコードを書いているかを数えてみてください。
私はトレーディングがもっと上手になりたいと願っていますし、そのためにはコーディングが必要です。
年末に0.1秒の差になるのなら、悩む意味はあるのでしょうか?
このコードを関数なしで作って高速化する方法を教えてください。
私はトレーディングがもっと上手になるように努力しており、その目標に向かって前進するためにコーディングが必要です。
年末に0.1秒の差になるのなら、悩む意味はあるのでしょうか?
このコードを関数なしで作って高速化する方法を教えてください。
そうやって、全部書いてもらっているんですね。ただ、それはすべてmql4の下に包まれています。そんな包み隠さず教えてください。
そして、これは
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
初心者からのFAQ MQL5 MT5 MetaTrader 5
アレクセイ・ヴャズミキン さん 2018.05.24 12:30
すべて断片的に集めたものですが、似たような機能の本体はもともとここから持って きたもので、何が残っているのか本当にわかりません。
ただ、静かな酷さです...。これはいったい何なんだ?
コースというほどでもないんですけどね。すみません、もう批判はやめてください。
そうやって、全部書いてもらっているんですね。ただ、それはすべてmql4で包まれている。そんな包み隠さず教えてください。
そして、この...
は、とにかくひどい・・・。これはどういうことなのでしょうか?
そして、一般的にここにはコースがありません。すみません、もう批判はやめてください。
まあ、初心者のためにもっといい方法を紹介しようという気もないので...。
MT4では、時間帯が分単位で割り切れる数字で指定されることが多く、MT5では論理的ではありませんが、コードの移植が容易になりますね。
まあ、初心者に最適な方法を示そうという気はないので......。
MT4では、時間帯を分で割り切れる数字で表すことが多く、MT5ではすでに論理的ではありませんが、コードの移植が容易になります。
なぜ分数に換算して 元に戻すのか?
16408はPERIOD_D1より、49153はPERIOD_MN1より分かりやすいですか?
こんにちは、EAで、チャートの 高い期間から ATRの現在値を知りたいのです。整数値。
どこにエラーがあるのか?
こんにちは、EAで、チャートの 高い期間から ATRの現在値を知りたいのです。整数値。
どこにエラーがあるのか?
なんて書いてあるんだ?何を言っているのだろう?
なんて書いてあるんだ?何を悪口言ってんだ?
そうじゃなくて、嘘なんです。高値のインジケータは「8」を示しているが、アドバイザーは「6」と解説している
誓わない、嘘をつく。高値圏のインジケータは「8」と表示されるが、コメントではEAが「6」と表示される。
5分足、期間ATR 14、時間枠ATR - 1時間足で貴社のEAを走らせました。コメントもチャートも、すべてが均等に表示されています。
今のやつでもATRtimeframe=PERIOD_CURRENTで寝てます。
コードのことは全然関係ないと思うんです。以下は私のPERIOD_CURRENT です。