//--------------------------------------------------------------------// callindicator.mq4// Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------externint Period_MA = 21; // Период расчётной МАbool Fact_Up = true; // Факт сообщения, что цена..bool Fact_Dn = true; //..находится выше или ниже МА//--------------------------------------------------------------------int start() // Спец. функция start {double MA; // Значение МА на 0 баре //--------------------------------------------------------------------// Обращение к функции техн.инд.
MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);
//--------------------------------------------------------------------if (Bid > MA && Fact_Up == true) // Проверка прохода вверх {
Fact_Dn = true; // Сообщать о цене выше МА
Fact_Up = false; // Не сообщать о цене ниже МА
Alert("Цена находится выше MA(",Period_MA,").");// Сообщение }//--------------------------------------------------------------------if (Bid < MA && Fact_Dn == true) // Проверка прохода вниз {
Fact_Up = true; // Сообщать о цене ниже МА
Fact_Dn = false; // Не сообщать о цене выше МА
Alert("Цена находится ниже MA(",Period_MA,").");// Сообщение }//--------------------------------------------------------------------return; // Выход из start() }//--------------------------------------------------------------------
PFはプロフィットファクターですね、なるほど。また、FFとは何でしょうか?テスターでMOを出力するように、これらの値を出力させることは可能でしょうか?
MO、収益性、取引回数、日付、最大ドローダウンをあげれば、EAの品質について何か言えるのでしょうか?
FSはリカバリーファクター=純利益/最大ドローダウン。
をご覧ください。"EAクオリティ"...:-))
MO、収益性、取引回数、日付、最大ドローダウンをあげれば、EAの品質について何か言えるのでしょうか?
テスターのレポートヘッダより簡単です。また、同じように、結果がどのように得られたかを知ることは非常に重要です。最適化の 結果を知ることと、Expert Advisorの基本原理を知ることは別のことです。そして、ある程度経験を積んで初めて、推測以上の成功確率(10件中7~8件としよう)で専門家の診断ができるようになるのです。
EAのテストと 最適化」の記事をご覧ください。
そこには、フォワードテストとは何か、ということが詳細に書かれています。
mqlでプログラミングを始めたばかりなので、助けてください。
そんなことをしなければならないのです。
この作品の目的は、コードを書く必要はないのですが
1つの注文がすでに開かれており、終了している場合、その日はエキスパートが機能しません。
マイナス残高で注文を開始・終了した場合、Expert Advisor はその日の動作を停止します。
https://www.mql5.com/ru/forum/131859 をご覧ください。
ここでは、4ページからの機能が役に立つ(可能性が高い)。
isTradeToDay - 今日の取引であることを示すフラグを返す
isLossLastPos - 最後の位置が失われたことを示すフラグを返します。
isCloseLastPosByStop - 最後のポジションをstopで閉じるかどうかのフラグを返します。
isCloseLastPosByTake - Takeによって最後のポジションをクローズするフラグを返します。
NumberOfBarCloseLastPos - 最後の位置のバークローズ番号または-1を返します。(tfDで=0 - 今日の終値の場合)
NumberOfLossPosToday - 今日決済された負けポジションの数を返します。
など
すべての良い午後! あなたは通常のインジケータMACDを リメイクする方法を(読むために)見ることができる場所ニットを送って、それはH1で値H4を示し、同じバー期間の値H4を描くためにH1で4時間の間に、すなわち、次のとおりです。
ありがとうございました。
こんにちは。Whileの操作について教えてください。レベル間の横線を引くはずのスクリプトを作ったのですが、最初の線だけ引いてハングアップしてしまいます。私は何を間違えているのだろう?
そのコードを添付します。
//+------------------------------------------------------------------+
//| H_LINES.mq4
//| 著作権 © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright"著作権 © 2011, MetaQuotes Software Corp.
#プロパティリンク "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| スクリプトプログラム起動機能
//+------------------------------------------------------------------+
double Min_Level = 1.40000; //下限値
double Max_Level = 1.60000; //上限値
double Step = 200; // ステップ(ライン間の距離)単位:ピップス
int Lines_Width = 2; // 線幅
color Lines_Color = Green; //線の色
double i; //形式変数
int start()
{
//----
i=Min_Level;
while ( i < Max_Level )
{
ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);
ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);
ObjectSet ("H_LINE",OBJPROP_WIDTH,Lines_Width);
i = Min_Level + (Step/10000)とする。
}
//----
return(0)です。
}
//+------------------------------------------------------------------+
ありがとうございます。
こんにちは。Whileの操作について教えてください。レベル間の横線を引くはずのスクリプトを作ったのですが、最初の線だけ引いてハングアップしてしまいます。私は何を間違えているのだろう?
そのコードを添付します。
//+------------------------------------------------------------------+
//| H_LINES.mq4
//| 著作権 © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "著作権 © 2011, MetaQuotes Software Corp.
#プロパティリンク "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| スクリプトプログラム起動機能
//+------------------------------------------------------------------+
double Min_Level = 1.40000; //下限値
double Max_Level = 1.60000; //上限値
double Step = 200; // ステップ(ライン間の距離)単位:ピップス
int Lines_Width = 2; // 線幅
color Lines_Color = Green; //線の色
double i; //形式変数
int start()
{
//----
i=Min_Level;
while ( i < Max_Level )
{
ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);
ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);
ObjectSet ("H_LINE",OBJPROP_WIDTH,Lines_Width);
i = Min_Level + (Step/10000)とする。
}
//----
return(0)です。
}
//+------------------------------------------------------------------+
ありがとうございます。
まず
i = Min_Level + (Step/10000)とする。
御前様
ついでながら
ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);
各オブジェクトは固有の名前を持つ必要があります。
ヘルプpdz...。チュートリアルの勉強を続けています - 私には理解できないことが出てきました。
価格がEMAの上にあるか下にあるかを教えてくれる簡単な機能です。しかし、それは問題ですらない。
Fact_Dn と Fact_UP が関数開始時に真か偽の値を取るとき、なぜその値がグローバル 変数にも取られるのですか? 例えば return(Fact_Up) を使うわけでもないのに・・・。ずそれとも使えないのでしょうか?