//+------------------------------------------------------------------+//| Check for long position opening |//+------------------------------------------------------------------+bool CSampleExpert::LongOpened_1(void)
{
bool res=false;
//--- check for long position (BUY) possibilityif(m_macd_current_1<m_signal_current_1)
{
InpTradeCommand(InpLongOpened_1Command);
//--- in any case we must exit from expert
res=true;
}
//--- resultreturn(res);
}
//+------------------------------------------------------------------+//| Check for short position opening |//+------------------------------------------------------------------+bool CSampleExpert::ShortOpened_1(void)
{
bool res=false;
//--- check for short position (SELL) possibilityif(m_macd_current_1>m_signal_current_1)
{
InpTradeCommand(InpShortOpened_1Command);
//--- in any case we must exit from expert
res=true;
}
//--- resultreturn(res);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+//| main function returns true if any position processed |//+------------------------------------------------------------------+bool CSampleExpert::Processing_1(void)
{
//--- we work only at the time of the birth of new bardatetime time_0=iTime(m_symbol.Name(),Period_1,0);
if(time_0==ExtPrevBars_1)
return(false);
ExtPrevBars_1=time_0;
if(!m_symbol.RefreshRates())
{
ExtPrevBars_1=0;
return(false);
}
//--- refresh indicatorsif(BarsCalculated(m_handle_macd_1)<2)
return(false);
if(CopyBuffer(m_handle_macd_1,0,InpBars_1,2,m_buff_MACD_main_1) !=2 ||
CopyBuffer(m_handle_macd_1,1,InpBars_1,2,m_buff_MACD_signal_1)!=2)
{
ExtPrevBars_1=0;
return(false);
}
// m_indicators.Refresh();//--- to simplify the coding and speed up access//--- data are put into internal variables
m_macd_current_1 =m_buff_MACD_main_1[0];
m_signal_current_1 =m_buff_MACD_signal_1[0];
//--- check for long position (BUY) possibilityif(LongOpened_1())
return(true);
//--- check for short position (SELL) possibilityif(ShortOpened_1())
return(true);
//--- exit without position processingreturn(false);
}
//+------------------------------------------------------------------+
全くわからない、そのまま作った!独学で、全て科学的な突込みで
\\\\\\\\\\\\\ Ίταμμα για για για για για για για για για για για για για για για για για
信号が違う
オリジナルは線のプラスとマイナスのクロス
信号の中に主線も ある。
あなたは別の信号
ラインの元のクロスでプラスとマイナス
あなたはまた、信号の主なライン を持っている
そうです!3本の線を使いました。マイナス(ピンク)の線はゼロのようなもので、それを横切る2本がシグナルになります。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
3月は下火ですね ---------- このテストはおそらく年明けに間に合うように仕上げるつもりです。
はい!3本の線を使いました。マイナス(ピンク)の線がゼロで、それを横切る2本がシグナルになります
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
月が終わると ---------- このテストは正月までに終わるだろう(まだ半分しか終わっていない)。
フクロウがカスタムインジケータ
を使用する場合、信号は単にエキスパートアドバイザー
に転送されるべきであり、インジケータを使用しないでください。
申し訳ありませんが、adx-buy-sellインジケーターのリクエストに基づいてExpert Advisorを作成していただくことは可能でしょうか?
シグナルインジケータであれば、このExpert Advisor (mt4)https://www.mql5.com/ru/forum/310846/page63#comment_17088893 を使用することができます。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
黄色で表示されている部分 - あなたのIndicatorの名前を書いてください。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
逆張りすれば利益なし
フクロウがカスタムインジケータ
を使用している場合、シグナルをEA
に転送するだけで、インジケータを使用する必要はありません。
ホリゾンタルラインやトレンドラインから多くの機能を備えている点から、Expert Advisorは重宝しています。
こちらですhttps://www.mql5.com/ru/code/34046
関数自体 - インジケータはここから操作します。
クロスを使っても、未来がなければ、そこには利益がない
テスト終了までまだ少し残っているのですが、違う結果が出ています。
TOTAL : "Back and forth ADX" March April indicator - not successful for some reason.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
以下は、インジケーターそのものです。
結果:インジケーター「前後のADX」3月4月-何らかの理由で成功しなかった
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
ここにインジケーターがあります
ここでエキスパートはテスターでスマートに動作します-シグナルインジケーターを確認してください
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
訂正済み-ここに書き込みませんでした