したがって、MQL4
始値を取る EA が必要な場合、現在の価格が始値より 10 ピップス低いときに買い注文を出し、始値より 10 ピップス高いときに売ります。一度に1つの注文のみで、オープンは毎日変わります。
Q1:どうすれば止まらないのですか?
Q2:それは利益になるでしょうか?
これを書くのは簡単な人もいますが、私にとっては気のめいるようです。
したがって、MQL4
始値を取る EA が必要な場合、現在の価格が始値より 10 ピップス低いときに買い注文を出し、始値より 10 ピップス高いときに売ります。一度に1つの注文のみで、オープンは毎日変わります。
Q1:どうすれば止まらないのですか?
Q2:それは利益になるでしょうか?
これを書くのは簡単な人もいますが、私にとっては気のめいるようです。
コードのタイプの実行は、実行エンジン ( ) がノンストップ モードで実行されていると仮定すると、原則として停止せずに実行できます。サービスとメンテナンスのタスクに利用できる週末がまだ残っていますが、EA コード自体は、自動化された再入可能で安全な再起動自己保護 ( ) を使用して、ステートフルに無限に動作できます。MQL4
Expert AdvisorMetaTrader Terminal 4OnInit(){...} + OnDeinit(){...}
#property copyright "Copyright © 1987-2016 [MS]"
#property link "nowhere.no"
#property version "0.00"
#property strict
extern int minDist2XTO = 10; // A minimum Distance To XTO
bool aGlobalMUTEX_LOCKED = False; // LOCK "only one order at a time"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{ // on-launch intialisation tasks go here:
return( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit( const int reason )
{ // pre-exit sanitisation tasks go here:
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{ // MAIN: this is being executed upon each anFxMarketEVENT's arrival
// GoLONG();
// GoSHORT();
}
//+------------------------------------------------------------------+
//| Tester function |
//+------------------------------------------------------------------+
double OnTester()
{ // back-testing utility calculation functions go here:
double retVal = 0.0;
return( retVal );
}
//+------------------------------------------------------------------+
void GoLONG()
{ // SELF-CONTROLLABLE ( might even get concurrently run in parallel to GoSHORT on dual resources )
// -------------------------------------------------------------------------------------------------------
static bool aNewBarEVENT = FALSE;
static int aLastBAR = EMPTY,
aCurrBAR = EMPTY;
static double GoLONG_LEVEL = EMPTY;
// -------------------------------------------------------------------------------------------------------
// TEST A STATE-SHIFT
RefreshRates();
aCurrBAR = iBars(_Symbol, PERIOD_D1 );
if ( aLastBAR != aCurrBAR )
{ aLastBAR = aCurrBAR; // .SET
aNewBarEVENT = TRUE; // .FLAG
// ----------------------- // .RESET in-BAR-registers
GoLONG_LEVEL = NormalizeDouble( iOpen( _Symbol, PERIOD_D1, 0 )
- minDist2XTO * _Point
);
// ----------------------
}
else
{ aNewBarEVENT = FALSE; // !FLAG
}
if ( !aGlobalMUTEX_LOCKED
&& Ask <= GoLONG_LEVEL
)
{
// XTO ... // .XTO
if ( success ) aGlobalMUTEX_LOCK = True;
}
}
//+------------------------------------------------------------------+
void GoSHORT()
{ // SELF-CONTROLLABLE ( might even get concurrently run in parallel to GoLONG on dual resources )
...
..
.
}
この問題は定量的に解決できます。予想されるパフォーマンスの期待をサポートまたは制限する合理的な量の観測を提供するために、実際の市場データでトレーディングのアイデアをテストおよび検証することができます。
市場の季節性の不規則性の適切な TimeDOMAIN スパンからの定量的データがなければ、質問は合理的に裏付けられた定量的回答を得ることができません (単なる 意見を除く)。
これは、Q/A の StackOverflow 形式をはるかに超えていますが、原則として、バックテスト (double OnTester(){...}
後処理機能の組み込みメカニズムのサポートによる) とフォワードテスト (デモアカウントのフォワードランのサポートによる) の両方が行われています。実際の取引戦略が実際の市場リスクを実行するためにさらされる前に、クオンツモデリングで使用されます。