その他の「トレーディング戦略」についてはこちら - ページ 3

 
luenbo:

この種の戦略はマーチンゲールと呼ばれ、ストップロスを 設定して使用しなければ、遅かれ早かれ口座は破たんします。

そしてそれは通常 変動相場に適して います。トレンドフォローと組み合わせる こと、より高い パフォーマンスを得ることができます。

しかし、相場が横ばいなのか、それともトレンドなのかを見極めるのは常に難しいものです。

それを示すEAを添付してもらえますか?
 
Ubzen:

説明UbzenA_20130725は、ランダムトレードを行うシステムです。ボリンジャー_バンドのpipsを-pipsが上回るとマイナストレードに加算されます。スキャルパーと考える。テイクプロフィットも 実際の通貨$です。 volume_sizeはtime_passageを使用してボリュームを増加させます(システムがまだ負の場合)。あなたの食欲に応じて攻撃性をダイヤルアップまたはダイヤルダウンすることができますので、私はこのボリューム_サイジングが好きです。

  • -長所長所:複数年にわたるテストと市場環境に耐えることができる。
  • -短所:一攫千金は望めない。比較的大きな投資資金を必要とする。

このシステムには最適化がなされていない。改善のための提案は、肯定的なものでも否定的なものでも(ただ、それについて失礼にならないように)何でも。

  • あなたのシステムは面白いですね、よく見てみようと思います。5年間で30%の利益は多くないが、ドローダウンをコントロール する唯一の方法だ。
  • なぜそれをスキャルパーと考えるのですか?私の意見では、これはスキャルパーではありません。
  • なぜすべての注文でSL=0.00001とTP=99999999.00000を設定しているのですか?
 
angevoyageur:
  • あなたのシステムは興味深いです。5年間で30%の利益は多くないですが、ドローダウンをコントロールする唯一の方法です。
  • なぜ、スキャルパーだと思うのですか?私の考えでは、スキャルパーではありません。
  • なぜ、すべての注文でSL=0.00001とTP=99999999.00000を設定しているのですか?

1) 私はドローダウンに重点を置く傾向があります。人は私のことをグラインダーと呼ぶ傾向があります。私は、乱高下する不規則な曲線に比べ、ゆっくりとした一定の曲線を好みます。もし、ドローダウンが0.01の基本ロットで1500ドルだとしたら。0.02のベースロットで何が起こるか想像するのは簡単です。

2) SysTkePftValの5が、バージョンによってはPipsになっています。この場合は5ドルなので、あまりスキャルパーには見えませんね。しかし、ロットサイズが大きくなると、スキャルパーのように動作するようになります。

3) プログラミングの知識不足(と思う)。mql5を始めた頃、slとtpが0の注文を出そうとすると、エラーが出ることがあった。それを回避するのが私のやり方でした。

 
Ubzen:

1)私はドローダウンに重点を置く傾向があります。人は私のことをグラインダーと呼ぶ傾向があります。私は、乱高下する不規則なカーブに比べ、ゆっくりとした一定のカーブを好みます。ドローダウンが0.01のベースロットで1500ドルだとしたら。0.02のベースロットで何が起こるか想像するのは簡単です。

2) SysTkePftValの5が、バージョンによってはPipsになっています。この場合は5ドルなので、あまりスキャルパーには見えませんね。しかし、ロットサイズが大きくなると、スキャルパーのように動作するようになります。

3) プログラミングの知識不足(と思う)。mql5を始めた頃、slとtpが0の注文を出そうとすると、エラーが出ることがあった。それを回避するのが私のやり方でした。

コーディングスタイルは個人の好みだと思いますが、コードを公開する以上、他の人が読むこともあると思うので、提案・指摘を許可します。

  • コメントをつける
  • 主に、暗号のような関数 名(ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)を使っている場合。
  • スタイラス(CTRL+,)を使用して、コードをアレンジしてください。
  • コードの行間にはスペースを入れてもかまいません。

より読みやすいのは?

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest& Trade){
    if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL){return;} double Price=0;
    if(Type==ORDER_TYPE_BUY){Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);}
    if(Type==ORDER_TYPE_SELL){Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_BID);}
    Trade.price=Price;//////////////////////////////////////////
    double  SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);
    if(Type==ORDER_TYPE_BUY){Trade.sl=SymPoint;  Trade.tp=999999999;}
    if(Type==ORDER_TYPE_SELL){Trade.tp=SymPoint; Trade.sl=999999999;}
}

または

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest &Trade)
  {
   if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL)
      return;

   double Price=0;

   if(Type==ORDER_TYPE_BUY)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);

   if(Type==ORDER_TYPE_SELL)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_BID);

   Trade.price=Price;

   double  SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);

   if(Type==ORDER_TYPE_BUY)
     {
      Trade.sl=SymPoint;  Trade.tp=999999999;
     }
   if(Type==ORDER_TYPE_SELL)
     {
      Trade.tp=SymPoint; Trade.sl=999999999;
     }
  }
 

前の関数では買い注文と売り注文 だけを処理したので、この構文は mql5 で使用できます。

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest &Trade)
  {
   if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL)
      return;

   double SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);

   Trade.price    =SymbolInfoDouble(CurSetSymbol,Type==ORDER_TYPE_SELL ? SYMBOL_BID : SYMBOL_ASK);
   Trade.sl       =Type==ORDER_TYPE_BUY  ? SymPoint : 999999999;
   Trade.tp       =Type==ORDER_TYPE_BUY  ? 999999999 : SymPoint;
  }
 
angevoyageur:

私はコーディングスタイルは個人の好みであることを知っているが、あなたがコードを公開するとき、私はそれが他の人がそれを読むためにあると思うので、私はいくつかの提案/備考を許可する:

  • コメントをつける
  • 主に、暗号のような関数名(ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)を使っている場合。
  • スタイラス(CTRL+,)を使用して、コードをアレンジしてください。
  • コードの行間にはスペースを入れてもかまいません。

より読みやすいのは?

または

ご指摘ありがとうございます。私はむしろ、コードを理解しようとする人のために説明します。明らかに、私のスタイルの方が理解しやすい。上の投稿で、あなたは2種類のブラケットスタイルを使い分けましたね。なぜなのか気になるところです。

   if(Type==ORDER_TYPE_BUY)
     {
      Trade.sl=SymPoint;  Trade.tp=999999999;
     }

   if(Type==ORDER_TYPE_BUY)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);

そういう質問には対処しなければなりませんね。ある人は括弧が好きで......ある人はそれが嫌いです。行ごとのコメントが好きな人もいますし......。私はそれが嫌いです。私はむしろ、各関数の ヘッダーにある説明文を見るのが好きです。私の考えでは、ほとんどの人が変更しないようなものに対して、より多くの仕事を作り出すことになります。また、興味のある方は、喜んで説明しますよ。

 
angevoyageur: 前の関数で買い注文と売り注文 だけを処理するので、この構文をmql5で使用することができます。
クールなthx。
 
Ubzen:

ご指摘ありがとうございます。私はむしろ、コードを理解しようとする人たちのために説明するつもりです。明らかに、私のスタイルの方が理解しやすいのです。上の投稿で、あなたは2種類のブラケットスタイルを使い分けましたね。なぜなんだろう?

そういう質問には対処しなければなりませんね。ある人は括弧が好きで......ある人はそれが嫌いです。行ごとのコメントが好きな人もいますし......。私はそれが嫌いです。私はむしろ、各関数のヘッダーにある説明文を見るのが好きです。私の考えでは、ほとんどの人が変更しないようなものに対して、より多くの仕事を作り出すことになります。また、興味のある方は、喜んで説明しますよ。

最初の括弧は、条件が真のときに2つの命令が実行されなければならないので、必須です。2つ目は括弧は必須ではありませんが(1命令)、もちろん括弧を付けても問題ありません。
 
angevoyageur: 最初の括弧は、条件が真のときに2つの命令が実行されなければならないので、必須です。2番目は必須ではありませんが(1命令)、もちろん括弧を追加しても問題はありません。

ええ、その通りです。私はいつもif(){;}で始めて、それを心配する必要はありません:P ... もう一度ありがとうございます。

ps> あなたのコードのwhite_spacesは私をイライラさせる。

 

アベレージ・インは常にOKだが、巨大なロット・サイズを持っていてエグジットしたい場合、希望する価格でエグジットするためのボリュームが ない可能性がある。

ニュースリリースがあったとき、このシステムがオーディのように生き残ることができるのかどうか。

Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation
Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation
  • www.mql5.com
Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation - Documentation on MQL5