[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 982

 
Aleksander:

変数を宣言する

at start - シグナルを受信したら1つ増やし、N個のシグナルを受信したら取引を開始する。

リセット・カウンタ...

書けるだけ書いてみたが、信号の加算をどう設計すればいいのかがわからない...。
extern double     PropuskSignala             =  0;  //сколько сигналов инлдикатора пропускать
//-------------------
double PropuskSignalaB,PropuskSignalaS;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
//получаем сигнал: (SignalBuy==true;)
PropuskSignalaB++;  //вот здесь как записать? Чтобы прибавлялись
//получаем сигнал: (SignalSell==true;)
PropuskSignalaS++;  //вот здесь как записать? Чтобы прибавлялись

if(SignalBuyif(PropuskSignalaB>=PropuskSignala || PropuskSignalaS>=PropuskSignala){
//открываем ордер Buy
}
if(SignalSellif(PropuskSignalaS>=PropuskSignala || PropuskSignalaB>=PropuskSignala){
//открываем ордер Sell
}
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

こんにちは。

この質問についてご教授ください。Expert Advisorを作りました。それが作り出すイールドカーブで仕事ができるかどうかを知りたい。問題は、どのカーブが最小の「カーブ」と言えるかということです :) 。自分のカーブを出した。1999 -2010.

P.S. 質問はアイドルではありません。リアルアカウントに置くと、一時的にカーブが下がります。

 
001:

こんにちは。

この質問についてご教授ください。Expert Advisorを作りました。それが作り出すイールドカーブで仕事ができるかどうかを知りたい。問題は、どのカーブが最小の「カーブ」と言えるかということです :) 。自分のカーブを出した。1999 -2010.

P.S. 質問はアイドルではありません。リアルアカウントに置くと、一時的にカーブが下がります。

全てはEA自体のコードに依存します。もしかしたら、完全に素の状態、つまりテスターのおもちゃなのかもしれませんね。なんというバー・テストなんだ。EAに明示的なバーオープン制御があるか?
 
artmedia70:
全てはEA自体のコードに依存します。もしかしたら、完全に素の状態、つまりテスターのおもちゃなのかもしれませんね。では、司法試験についてはどうでしょうか。EAがバーのオープニングを明示的に制御しているか?


はい、もちろんそうです。

静的 int PrevTime=0;
int start()
{

if (Time[0]<=PrevTime) return(0);
{
PrevTime=Time[0]です。

}

最初の2つのフレーズについて説明してください。

 

教科書がよくわからない。

break "はループ全体を停止させ、Expert Advisorは新しいティックを待つのでしょうか?

また、"break "であれば、"if-else "で使用できるのでしょうか?

 
gheka:

教科書がよくわからない。

break "はループ全体を停止させ、Expert Advisorは新しいティックを待つのでしょうか?

また、"break "であれば、"if-else "で使用できるのでしょうか?

breakはループ全体を終了させ、ループ文ブロックの閉じ括弧の次の行からコードを実行し続けます。

をif-elseで使用することができます。ループを中止する基準を確認するのは、他にどのような方法があるでしょうか?

 
OrderModify()関数は、取引履歴に別のエントリーを作成します。Trailing Stopを実装するためにEAを書く ときに使っています。つまり、Trailing Stopの条件が満たされ、StopLossが移動した場合、そしてそれは毎週日曜日に起こり得ることで、同じ数の行が履歴に表示されることになるのです。これを回避する方法はないのでしょうか?MetaTraderに内蔵されているTrailing Stopは正常に動作します。
 
dzam:
OrderModify()関数は、取引履歴に別のレコードを作成します。Trailing Stopを実装するExpert Advisorを書くときに使っています。つまり、Trailing Stopの条件が満たされ、StopLossが移動した場合、それは毎週のように起こり得ることで、同じ量の行が履歴に表示されます。これを回避する方法はないのでしょうか?MetaTraderに内蔵されているTrailing Stopは正常に動作します。

価格、ストップ値、価格からのストップ距離、トロールステップを使ったトロールの実装は簡単ではないでしょうか?

それともベンチからジンベエ経由で入り口まで歩いた方が面白いですか?

 
artmedia70:

価格、ストップ値、価格からのストップ距離、トロールステップを使用してトロールを実装する方がシンプルではないでしょうか?

それとも、ベンチからジンベエを通ってエントランスまで歩いた方が面白いですか?

よし、正面玄関から入ろう。注目!もう1つ質問です。

以下は、TrailingStopの実装例からのコードスニペットです。

/---- проверяем, не надо ли передвинуть Стоп Лосс:
        //---- если размер трейлингстопа не слишком маленький,
        if ( TrailingStop > MarketInfo( Symbol(), MODE_STOPLEVEL ) )
        {
            //---- если прибыль позиции больше TrailingStop пунктов,
            if ( NormalizeDouble( Bid - _BuyOpenPrice, Digits ) > 
                  NormalizeDouble( TrailingStop*Point, Digits ) )
            {
                //---- если новый уровень стоплосса выше, чем сейчас у позиции
                //---- (или если у позиции нет Стоп Лосса),
                if ( NormalizeDouble( Bid - TrailingStop*Point, 
                    Digits ) > _BuyStopLoss
                      || _BuyStopLoss <= 0.0 )
                {
                    //---- модифицируем ордер
                    if ( !OrderModify( _BuyTicket, _BuyOpenPrice, 
                          NormalizeDouble( Bid - TrailingStop*Point, 
                                           Digits ), 
                          _BuyTakeProfit, 0 ) )
                    {
                        Alert( "OrderModify Error #", 
                              GetLastError() );
                        return(-1);
                    }
                }                     

}

このコードでは、OrderModify()を使用して、TrailingStopの条件に従って注文を変更します。関数OrderModify()は、取引履歴に別のレコードを作成します。つまり、Trailing Stopの条件が満たされ、Stop Lossが移動した場合、これは毎秒起こる可能性がありますが、同じ量の線が履歴に表示されるのです。これを回避する方法はないのでしょうか?MetaTraderに内蔵されているTrailing Stopは正常に動作します。

 
dzam:

よし、玄関から入ろう。注目!もう1つ質問です。

以下は、TrailingStopの実装例からのコードスニペットです。

}

このコードでは、OrderModify()を使用して、TrailingStopの条件に従って注文を変更します。関数OrderModify()は、取引履歴に別のレコードを作成します。つまり、Trailing Stopの条件が満たされ、Stop Lossが移動した場合、これは毎秒起こる可能性がありますが、同じ量の線が履歴に表示されることになります。これを回避する方法はないのでしょうか?MetaTraderに組み込まれたTrailing Stopは正常に動作します。


避けようがないのです。各トレードは、他のポジションの変更 と同様に、独自のログエントリーを作成します。