[アーカイブ!】みんなで国を作ろう!!!!

 

共同アドバイザーを書くことを提案します。私はそれが(プロジェクトが終了した後、このことについて)多くの興味深い質問に答えるのに役立つと思います、そして第二に、多分我々は一緒にグレイルを作るでしょう:)そして最後に、初心者(私はプログラミング用語であると思う)にとっては、ステップバイステップでMTSを構築する方法を学ぶことは興味深いことでしょう。一番シンプルな戦略を基本に...。前日の高値/安値のブレイクアウトで固定TPでオープンし、当日の高値/安値でストップするだけです。具体的にはなぜですか?そうですね、まずこのシステムはインジケータを使用していないこと、次に2000年から現在までの占有率が1.00±0.03(過去のデータによって異なる場合があるため)、つまり半々であること、最後に前日の高値・安値を突破することが相場にとって心理的に重要であると考えているためです。他のキーレベルを見つけるか、補助的な指標を使用するか、何か他のものを提案しますが、主なものは、以下に示すよりも収益性の高いExpert Advisorを取得することです。これは2009年01月01日から現在までのチャートで、より詳細なレポートをご自身で取得できます。他の楽器はあくまでシステムを助けるものであり、その上に成り立つものではないというのが主旨です。つまり、動いているシステムをベースにして、それをアップグレード(改良)していこうとするのです。こんな感じです...。

このTSは絶対に「裸」なんだけど、ポテンシャルがある...。

初心者の方への使用はお勧めできませんが...。今後5年間は流出します ;)

だから、畑は耕さない...。

以下はそのコードです。

//+-----------------------------------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+
// Описание ТС
// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня
//    SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, 
//    единственная оговорка не более 1 позиции в день в переменной LastTradeTime 
//    если в ней нет необходимост смело сносите /RomanS/
// 2.
// 3.
// 4.
// 5.
 
  // Внешние переменные
  extern double TakeProfit = 900; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Trade     = true,
         Open_Bay  = false,
         Open_Sell = false;

  // Проверяем можно ли торговать
  if ( Trade==true) 
   {
   
  // Критерии открытия позиций
    if (Bid > iHigh ( SYMBOL,PERIOD_D1,1)) Open_Bay = true; 
    if (Bid < iLow ( SYMBOL,PERIOD_D1,1)) Open_Sell = true;
        
  // Открытие позиций
      if ( Open_Bay == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         RefreshRates(); 
         Alert("111111111111");
          ASK = MarketInfo( SYMBOL,10);                                
          SL = iLow( SYMBOL,PERIOD_D1,0);
          TP = ASK + TakeProfit*Point;
          if (( ASK- SL)/Point<MarketInfo( SYMBOL,14)) return;  // проверяем минимальный уровень стопов
          Alert("Пробуем открыть Buy ", SYMBOL, " по ", ASK, SL, TP);         
          Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
           if ( Ticket > 0)                                                  
            {            
             Alert ("Открыт ордер Buy ", Ticket);
             LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
             return;                                                       
            }         
        }
     if ( Open_Sell == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         RefreshRates();                                             
          BID = MarketInfo( SYMBOL,9);
          SL = iHigh ( SYMBOL,PERIOD_D1,0);
          TP = BID - TakeProfit*Point;
          if (( SL- ASK)/Point<MarketInfo( SYMBOL,14)) return; // проверяем минимальный уровень стопов
          Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
           if ( Ticket > 0)                                                  
             { 
              Alert ("Открыт ордер Sell ", Ticket);
              LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
              return;                                   
             }         
          return;                                                       
        }
   
   // Закрытие позиции
   
   // Модификация ордера
   
   }
  return;       
  }



プロではないのですが・・・。作業しやすいように、「素人」なんです。あるいは一般的に...新しいスキームです。主な内容は、「条件







    if (Bid > iHigh ( SYMBOL,PERIOD_D1,1)) Open_Bay = true; 
    if (Bid < iLow ( SYMBOL,PERIOD_D1,1)) Open_Sell = true;

が維持されます。

ご回答いただいた皆様、ありがとうございました。

ファイル:
 

EAは全体的に最適化されているか、また最適化されたパラメータはどの程度維持されるか?

 
ivandurak >> :

EAはすべての領域で最適化されているか、また最適化されたパラメータはどの程度持続するか?

どのような最適化ですか?

ここでは(現段階では)TPの最適化しかできません。もちろん、ロットを実行することはできますが、意味がありません。

 

そう、ここは未開の地どころか、どこを見ても未開の地。ハイローもカマボコもムラサキも、好きなようにレベル調整できることが幸いしているのです。ハイ・ローについては、すでに構築済みです。まともなシステムでは非常に大きなドローダウンが発生するため、これは聖杯 ではないとすぐにわかります。しかし、1日の内訳は、ロングポジションを取ることはできません - それは単に動作しませんし、6ヶ月後に動作します。

したがって、私は、ブレイクアウト・システムは、ブレイクアウト・レンジよりもテイクが大きい狭いレンジに基づくものを使用することをお勧めします。最も顕著な例は、朝方の横ばいのブレイクアウトである。その意味では、まったくもって正しい。

デイバンクを使うなら、追加レベル、道具、シャーマンのタンバリンという形で、基準点を増やさないとやっていけないのです。

 
sayfuji >> :

そう、ここは未開の地どころか、どこを見ても未開の地。ハイローもカマボコもムラサキも、好きなようにレベル調整できることが幸いしているのです。ハイ・ローについては、すでに構築済みです。まともなシステムでは非常に大きなドローダウンが発生するため、これは聖杯ではないとすぐにわかります。しかし、1日の内訳は、ロングポジションを取ることはできません - それは単に動作しませんし、6ヶ月後に動作します。

したがって、私は、ブレイクアウト・システムは、ブレイクアウト・レンジよりもテイクが大きい狭いレンジに基づくものを使用するようアドバイスしています。最も顕著な例は、朝方の横ばいのブレイクアウトである。その意味では、まったくもって正しい。

もし、デイバンクについて踊らなければならないとしたら、追加のレベル、ツール、シャーマンのタンバリンという形で、追加の参照点なしにはできないでしょう。

Expert Advisorでの置き換え

RERIOD_D1 から RERIOD_H4 にすると、もしかしたら結果が良くなるかもしれません。

正直なところ、このMTSでは何も試していないのですが...。ただ、興味本位でやってみただけなんですけどね...。

前スレッドにも書きましたが、有名な「A」DCのフォーラムでは、フォーラム参加者が1年前から一緒に書き込んでいます...。

私たちも何か考えよう...。私たちにはもっとプログラミングの可能性がある...

 
RomanS писал(а)>>

どのような最適化ですか?

ここで(現段階で)最適化できるのはT.Proだけで、もちろんロットも実行できるが、意味がない

バーチャルトレーディングのことです。実際の取引に最適なパラメータが選ばれています。1つのコードに2つのEAを書き、一方はブレイクダウンで、もう一方はバウンスで動作するとしたら、より良いトレードをするのはどちらか。

 

今、私はすでに私たちのMTSでエラーを見ることができます

全通貨ペアで動作させたかったのですが、EURUSDのみで動作してしまいました。

今すぐ訂正します・・・。

-----------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+
// Описание ТС
// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня
//    SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, 
//    единственная оговорка не более 1 позиции в день в переменной LastTradeTime 
//    если в ней нет необходимост смело сносите /RomanS/
// 2.
// 3.
// 4.
// 5.
 
  // Внешние переменные
  extern double TakeProfit = 900; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Trade     = true,
         Open_Bay  = false,
         Open_Sell = false;

  // Проверяем можно ли торговать
  if ( Trade==true) 
   {
   
   ASK = MarketInfo( SYMBOL,10);
   BID = MarketInfo( SYMBOL,9);
  
  // Критерии открытия позиций
    if ( BID > iHigh ( SYMBOL,PERIOD_D1,1)) Open_Bay = true; 
    if ( BID < iLow ( SYMBOL,PERIOD_D1,1)) Open_Sell = true;
        
  // Открытие позиций
      if ( Open_Bay == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         RefreshRates(); 
          SL = iLow( SYMBOL,PERIOD_D1,0);
          TP = ASK + TakeProfit*Point;
          if (( ASK- SL)/Point<MarketInfo( SYMBOL,14)) return;  // проверяем минимальный уровень стопов
          Alert("Пробуем открыть Buy ", SYMBOL, " по ", ASK, SL, TP);         
          Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
           if ( Ticket > 0)                                                  
            {            
             Alert ("Открыт ордер Buy ", Ticket);
             LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
             return;                                                       
            }         
        }
     if ( Open_Sell == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         RefreshRates();                                             
          SL = iHigh ( SYMBOL,PERIOD_D1,0);
          TP = BID - TakeProfit*Point;
          if (( SL- ASK)/Point<MarketInfo( SYMBOL,14)) return; // проверяем минимальный уровень стопов
          Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
           if ( Ticket > 0)                                                  
             { 
              Alert ("Открыт ордер Sell ", Ticket);
              LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
              return;                                   
             }         
          return;                                                       
        }
   
   // Закрытие позиции
   
   // Модификация ордера
   
   }
  return;       
  }
ファイル:
 
sayfuji >> :

一日中踊り明かすなら、もっとレベルやギミック、シャーマンのタンバリンなど、追加のガイダンスが必要だ。

シャンパンとタンバリンは相性がいいんですね...。

一人ではチャンスは少ない、コミュニケーションを取らなければならない、そのためのフォーラムなのです...。

 

RomanSさん、こんにちは。

これは素晴らしいアイデアです。海外のフォーラムでは、トレーダーがチームを組んで、お互いの努力でエキスパートを作っているのを非常によく見かけます。応援する準備はできています。

あなたの考えとしては、沈没しそうな考えです。そして、それは聖杯ではありません。どうせやるなら真面目にやろう、そうでなければなぜこんなことを始めたのか、と。私の意見:M1 EUR/USDのためだけにシステムを構築する必要があります。トレンドの検出の仕方に基づいたアルゴリズムであることが望ましい。例えば、...mm...ティルソンのスムージングアルゴリズムを用いた移動平均を 例に挙げてみましょう。では、エントリーを定義してみましょう。2本のクイックワンズを交差させて、クローズに使うことができます。他にも「おまけ」はたくさんあります。提案してください :-).さらに、カスタムセッティングでマーティンを組み込むことができるMMが必ずあるはずです。

一般的には、ここから踊りましょう。インプット/アウトプットのためのアイデアを入れてください。一緒にやりましょう。しかし、D1の高値・安値突破は失敗です。sayfujiさんは正しい判断をしています。

 

https://forum.mql4.com/ru/ 23917という 1つのブランチがなぜ書かないのか?

一般的には、面白いアイデアでみんなが一致団結することが多いのですが、これはジャンルの危機というか......。

 
Alex5757000 >> :

RomanSさん、こんにちは。

これは素晴らしいアイデアです。 海外のフォーラムでは、トレーダーがチームを組んで、お互いの努力でエキスパートを作っているのを非常によく見かけます。応援する準備はできています。

あなたの考えとしては、沈没しそうな考えです。そして、それは聖杯ではありません。どうせやるなら真面目にやろう、そうでなければなぜこんなことを始めたのか、と。私の意見:M1 EUR/USDのためだけにシステムを構築する必要があります。トレンドの検出の仕方に基づいたアルゴリズムであることが望ましい。例えば、...mm...ティルソンのスムージングアルゴリズムを用いた移動平均を例に挙げてみましょう。では、エントリーを定義してみましょう。2本のクイックワンズを交差させて、クローズに使うことができます。他にも「おまけ」はたくさんあります。提案してください :-).さらに、カスタムセッティングでマーティンを搭載できるようなMMも必要でしょう。

とにかく、踊らされましょう。インプット・アウトプットのアイデアを出してください。一緒にやりましょう。しかし、D1での高値・安値突破は失敗です。

今のところ、聖杯ではない(時間が解決してくれる)ことは確かです

長期的には)テスターで動かすとわかるのですが(50/50で動くときもあれば動かないときもある)、プラムではないのが......。Prof.ファクターは約1.00

M1については、もちろん面白いのですが、プロが興味を持つとは思えません...それに、私は日常的に使うシステムとして提案したのではありません...M5でテストしてみましたが、概ね違いはありません。

M5でテストしてみたが、違いはない。

トレンドを見極める方法をアルゴリズムのベースとするため

トレンドを判断する方法を提案したのだから、それを実行すればいい...。何が問題なのか、話し合おう...

例えば、......mm......ティルソンスムージングアルゴリズムを用いた移動平均を例に挙げてみましょう。

問題なし... 数行のコードを書き込むだけで、Wollya...プロフファクターは2.0以上

それこそ、当てろとは言わないがやれ、やり方が分からない人は...他の人のやり方を学べということだ。

個人的には、(アマチュアとして)プロから経験を積みたいのですが...。