著者は素晴らしい!良い仕事、目標を達成した - 収益性の高いフラットエキスパートアドバイザー。特にSi-12.18でテストしたところ、良い利益が出ました!このようなExpert Advisorを長い間探していました。
いくつかコメントがあります:1.描画に時間がかかりすぎる、すべてのロジックはOnTickにある、それはティックではありません、あなたは期間M1またはM5でCBarDetectorを使用することができます。私はM5で作った。2.現在の市場のボラティリティに応じて、ダイナミクスのチャネル幅を最小-最大にしたい。
著者は素晴らしい!良い仕事、目標を達成した - 収益性の高いフラットエキスパートアドバイザー。特にSi-12.18でテストしたところ、良い利益が出ました!このようなExpert Advisorを長い間探していました。
いくつかコメントがあります:1.描画に時間がかかりすぎる。すべてのロジックはOnTickにあり、ティックベースではない。私はM5で作った。2.2.現在の市場のボラティリティに応じて、ダイナミクスの最小-最大チャネル幅を設定したい。
ビジュアル・モードで素早くテストするには、コードのコメント出力を無効にする 必要があります:
/* Comment("\nСоветник "+__FILE__+" весь в работе: ",TimeControl(), "\nДень: ",Dayof(STimeCurrent), "\nТорговый счёт: ",m_account.Login(), "\nCompany: ",m_account.Company(), "\nEquity: ",m_account.Equity(), "\nВремя по GMT: "+TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS), "\nSpread: ",m_symbol.Spread(), "\nStopLevel: ",m_symbol.StopsLevel(), "\nПлечо: ",m_account.Leverage() );*/ //--- 新しいバーが誕生した時だけ働く。
このEAを実装してくださった方々に感謝します!
このEAをmoexに 適応させるために一行ずつ分解しているのですが(結局のところFX用に設計されています)、コードについて質問があります。
//--- FreezeLevel -> 保留オーダーと変更用 double freeze_level=m_symbol.FreezeLevel()*m_symbol.Point(); if(freeze_level==0.0) freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0; freeze_level*=1.1; //--- ストップ・レベル -> テイクプロフィットおよびストップ・ロス用 double stop_level=m_symbol.StopsLevel()*m_symbol.Point(); if(stop_level==0.0) stop_level=(m_symbol.Ask()-m_symbol.Bid())*3.0; stop_level*=1.1;
なぜ掛け算があるのでしょうか?正確には3倍で、次に1.1倍なのでしょうか?
私はただコードのロジックを理解し、それを証券取引所に適応させたいだけです。
1.注意:誰かに返信する場合は、「返信」ボタンを使用します。
2.コードを正確に書くために、まずブローカーのテクニカル・サポートからSYMBOL_TRADE_STOPS_LEVELと SYMBOL_TRADE_FREEZE_LEVELのレベルについてすべて調べてください。 これらのレベルはすべてのシンボルでゼロなのでしょうか? ゼロ」とはどういう意味でしょうか - フローティング・レベルなのでしょうか、それとも本当にレベルがないのでしょうか。
1- 注意:誰かに返信する場合は、「返信」ボタンを使います。
2.コードを正確に書くために、まずブローカーのテクニカル・サポートからSYMBOL_TRADE_STOPS_LEVELとSYMBOL_TRADE_FREEZE_LEVELのレベルについてすべて調べてください。 これらのレベルはすべてのシンボルでゼロなのでしょうか? ゼロ」とはどういう意味なのでしょうか - フローティング・レベルなのでしょうか、それとも本当にレベルがないのでしょうか。
ブローカーのテクニカル・サポートに、これらのレベルはブロードキャストされないと書きました。
ブローカーのテクニカル・サポートに、これらのレベルは放送されていないと書きました。
それなら無視すればいい(これらのレベルが学習される行を一時的にコメントアウトする)。
それなら、それらを無視すればいい(それらのレベルが学習される行を一時的にコメントアウトする)。
TimeControlプロシージャに行があります。
if(!InpTimeControl) return(true);
つまり、InpTimeControlの値がfalseの場合でも、TimeControlプロシージャにはtrueが返されるのでしょうか?
bool TimeControl(void) { if(!InpTimeControl) return(true); MqlDateTime STimeCurrent; datetime time_current=TimeCurrent(); if(time_current==D'1970.01.01 00:00') return(false); TimeToStruct(time_current,STimeCurrent); if(InpStartHour<InpEndHour) // 日中の時間間隔 { if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour) return(true); } else if(InpStartHour>InpEndHour) // 1日単位で遷移する時間間隔 { if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour) return(true); } else return(false); //--- return(false); }
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
Flat Channel:
簡単な説明
作者: Vladimir Karputov