誰か5wmzのスクリプトを落書きしてくれ。 - ページ 14

 
Profitabl:

このコードは4つのエラーでコンパイルされますが、もしかしたらブラケットが抜けているのでしょうか?


こんな風に試してみてください。

さて、NumberOfPositions関数とClosePositions関数がコード中に存在する必要があります。

extern double TakeProfit = 120;
extern double StopLoss = 120;
extern double Lots = 0.1;
int Magic = 1234567;
int ticket;

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
if ( DayOfWeek()==4)//если сегодня четверг
   {
    if ( Hour() == 23) //если - 23 часа терминального времени
       {
        if ( NumberOfPositions(NULL,OP_BUY, Magic )==0 ) //если нет открытых бай-позиций
           { 
           //"если цена open 46 периода 30M четверга меньше цены open 46 периода 30M среды,"(с)
           //"а цена опен среды больше цены опен вторника" (с),
           //"да ещё цена опен вторника больше цены опен понедельника" (с),
           if ( Close[1]<= Open[24] && Close[23]>=Open[48] && Close[47]>=Open[72]) 
              {
               ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask+StopLoss*Point,3,0,Ask+TakeProfit*Point,"Name_Expert",16384,0,Green);
               if(ticket!=-1)
                  {Print("Error opening BUY order : ",GetLastError());
                   return(0);}
              }     

           }
           
        }
   }       

if ( DayOfWeek()==5 && Hour() == 23){//если сегодня пятница, 23-00
//закрываем
ClosePositions(NULL,OP_BUY, Magic); }

return(0);
}
// the end.

 

=================

エラーは4つもありません。未使用の機能は4つありました。クリアした。

何度でも言う。tf=n1 のチェック

extern int       Magic=5671;

extern double    lots = 0.1;
extern int       StopLoss=120;
extern int       TakeProfit=120;

extern string _________________ = "=== Прочие Параметры советника  ===";
extern int        Slippage        = 10; // Проскальзывание цены
extern string Name_Expert = "Обезьяна Чи-Чи-Чи продавала кирпичи";
extern bool   UseSound      = True;   // Использовать звуковой сигнал
color  clOpenBuy     = Blue;        // Цвет значка открытия покупки
color  clOpenSell    = Red;         // Цвет значка открытия продажи
 color  clCloseBuy    = Green;     // Цвет закрытия покупки
 color  clCloseSell   = Green;    // Цвет закрытия продажи
extern int    NumberOfTry   = 10;           // Количество попыток
 string SoundSuccess  = "ok.wav";          // Звук успеха
 string SoundError    = "timeout.wav";    // Звук ошибки

//----------------------------------
double SL,TP;
int ticket;
static int prevtime = 0;
int StopLevel;

//-- Подключаемые модули --

#include <stderror.mqh>
#include <stdlib.mqh>

//+------------------------------------------------------------------+

int start()
  {
// задаем работу по ЦЕНАМ ОТКРЫТИЯ 
if (Time[0] == prevtime) return(0); //если появился новый бар
   prevtime = Time[0]; // начинаем работу

StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL); // вызываем разрешенный 
//минимаьный стоп-Уровень
//======================= открываем позиции =====================================
if ( DayOfWeek()==4){//если сегодня четверг
if ( Hour() == 23)  {//если - 23 часа терминального времени
if ( NumberOfPositions(NULL ,OP_BUY, Magic )==0 ) { //если  нет открытых бай-позиций 
//если цена open 46 периода 30M четверга меньше цены open 46 периода 30M среды,
//а цена опен среды больше цены опен вторника,
//да ещё цена опен вторника больше цены опен понедельника,
if ( Close[1]<= Open[24] && Close[23]>=Open[48] && Close[47]>=Open[72]) {
//покупаем 
      SL=0;TP=0;
      if(StopLoss>0 && StopLoss>StopLevel )    SL=Bid-Point*StopLoss;
      if(TakeProfit>0 && TakeProfit>StopLevel) TP=Bid+Point*TakeProfit;
      if(StopLoss  <StopLevel && StopLoss>0)   SL = Bid-Point*StopLevel; 
      if(TakeProfit<StopLevel && TakeProfit>0) TP = Bid+Point*StopLevel; 
   ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,SL,TP,"Name_Expert",Magic,0,clOpenBuy );
   if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];   return (0); 
                  } 
        }}}}
//================== конец блока открытия ==================================
 //================Закрытие позиций=====================================
if ( DayOfWeek()==5  && Hour() == 23){//если сегодня пятница, 23-00
//закрываем
 ClosePositions(NULL,OP_BUY, Magic); }            
                  
//================== Конец блока закрытия  =============================
  return(0);
  }
//ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ Конец функции int start() ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ 
 
 //ЖЖЖЖЖЖЖЖЖЖЖ ПОЛЬЗОВАТЕЛЬСКИК ФУНКЦИИ ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ

//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование торговой операции                      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    op - идентификатор торговой операции                                    |
//+----------------------------------------------------------------------------+
string GetNameOP(int op) {
  switch (op) {
    case OP_BUY      : return("Buy");
    case OP_SELL     : return("Sell");
    case OP_BUYLIMIT : return("BuyLimit");
    case OP_SELLLIMIT: return("SellLimit");
    case OP_BUYSTOP  : return("BuyStop");
    case OP_SELLSTOP : return("SellStop");
    default          : return("Unknown Operation");
  }
}
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия  : 19.02.2008                                                      |
//|  Описание: Закрытие одной предварительно выбранной позиции                 |
//+----------------------------------------------------------------------------+
void ClosePosBySelect() {
  bool   fc;
  color  clClose;
  double ll, pa, pb, pp;
  int    err, it;

  if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
    for (it=1; it<=NumberOfTry; it++) {
      if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
      while (!IsTradeAllowed()) Sleep(5000);
      RefreshRates();
      pa=MarketInfo(OrderSymbol(), MODE_ASK);
      pb=MarketInfo(OrderSymbol(), MODE_BID);
      if (OrderType()==OP_BUY) {
        pp=pb; clClose=clCloseBuy;
      } else {
        pp=pa; clClose=clCloseSell;
      }
      ll=OrderLots();
      fc=OrderClose(OrderTicket(), ll, pp, Slippage, clClose);
      if (fc) {
        if (UseSound) PlaySound(SoundSuccess); break;
      } else {
        err=GetLastError();
        if (UseSound) PlaySound(SoundError);
        if (err==146) while (IsTradeContextBusy()) Sleep(1000*11);
        Print("Error(",err,") Close ",GetNameOP(OrderType())," ",
              ErrorDescription(err),", try ",it);
        Print(OrderTicket(),"  Ask=",pa,"  Bid=",pb,"  pp=",pp);
        Print("sy=",OrderSymbol(),"  ll=",ll,"  sl=",OrderStopLoss(),
              "  tp=",OrderTakeProfit(),"  mn=",OrderMagicNumber());
        Sleep(1000*5);
      }
    }
  } else Print("Некорректная торговая операция. Close ",GetNameOP(OrderType()));
}
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Закрытие позиций по рыночной цене                              |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
void ClosePositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=k-1; i>=0; i--) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) ClosePosBySelect();
        } } } } }

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), kp=0;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) kp++;
          }}}}}  return(kp);}

 
leonid553:

=================

エラーは4つもありません。未使用の機能は4つありました。クリアした。

何度でも言う。tf=n1での確認。


例えば、160ルーブルをチャリティー団体に送金するためにWMRを送ってください。

ただ、金曜日の23:00にSELLポジションをクローズしないと、BUYだけがクローズされ、SELLは3~4日修正され、もちろんSETHERもクローズされます。

ここで、これらのユーロとポンドのデータは、追加の条件として考慮することができますか?ちょうど予想が非対称B = BBまたはH = HHでないときに1が反対方向に購入する必要があり、それははるかに結果を向上させることができます。

しかし、もしポンドとユーロの同じデータが同時に出てきたら
EUR EURは「火曜に下落、水曜に下落、木曜に下落」。
GBP「上昇、水上昇、火下降」。
の場合、"売り "ではなく、"買い "でオープンします。

収益性で言えば、不正確な予想を取り除いた場合、金曜日の予想6回を70回取引しただけで約1500pipsの収益が得られます。これを残りの日は5倍にし、デプトに比例してロットをさらに2倍に増やせば、どんなに多くても損益分岐点になるのです。私はレオニードに問題の参加のために自由のための160ユーロGBP CHF JPY予測のテーブルを与える、WMRを送信 ale2715@yandex.ru と返事の手紙に予測を受け取る、EAを書く、あなたが獲得するが、それを使用して選手権に参加しない、私はあまりにも選手権に彼をフックされます。

 
lasso:

この方法で試してみてください。

さて、そしてNumberOfPositionsとClosePositionsの関数がコードに存在するはずです。


ありがとうございます、とりあえずこのままにしておきます
 
Profitabl:

唯一うまくいかないのは、金曜日の23:00にSELLポジションもクローズすること、それ以外はBUYのみクローズし、SELLは3~4日修正、もちろんSEEKもクローズすることです。

確かに...)))

このようになるはずです。

 //================Закрытие позиций=====================================
if ( DayOfWeek()==5  && Hour() == 23){//если сегодня пятница, 23-00
//закрываем
 ClosePositions(NULL,-1, Magic); }            
                  
//================== Конец блока закрытия  =============================
  return(0);
  }
//ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ Конец функции int start() ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ 
 

Sellポジションのオープンは、コードには全く含まれていませんでした。なぜなら、本来の仕事では、フランの買いポジションを建てることが問題だったのです。

//------------

はい、クローズを少し変更する必要があります - ClosePositions(NULL,-1, Magic)

 
leonid553:

エラーは4つもありません。未使用の機能は4つあった。掃除しました。

何度でも言う。tf=n1でのチェック

よく見ると、次のようなニュアンスがあることがわかった。

1) 条件が互いに矛盾している

//если цена open 46 периода 30M четверга меньше цены open 46 периода 30M среды,
//а цена опен среды больше цены опен вторника,
//да ещё цена опен вторника больше цены опен понедельника,
if ( Close[1]<= Open[24] && Close[23]>=Open[48] && Close[47]>=Open[72]) {
//покупаем 


2) 時系列(Open[48] タイプ)の呼び出しは、履歴にギャップがある可能性があるため、履歴でテストする場合、正確ではありません。


3) 閉鎖条件。

 //================Закрытие позиций=====================================
if ( DayOfWeek()==5  && Hour() == 23){//если сегодня пятница, 23-00
//закрываем

例えば、証券会社にAl...があり、金曜日に時間値が23に等しいバーが存在しないため、普遍的ではありません。


4) さらに細かいニュアンスもありますが、結果としてのバランスカーブへの影響は決して小さくありません......。))



正しくお付き合いください。この投稿は、決してleonid553 さんへの苦情ではありません。(leonidさんに拍手!!)


私が言いたいのは"チャーク、チャークスクリプト、5分後に "はもちろん可能です。 しかし、実際には単純なTORは実現しないことがわかります。

あらゆるところで、すべてのパラメーターの境界値をチェックする必要があり、デバッグ、「エラートラップ」の設定など。

そして、最終的にどこかの「台本」ではなく、まともな小さな製品を手に入れるためには、どう考えても多くの時間が必要なのです......。 残念ながら。

 

アドバイザーはすでにリアルで取引しています、今日は23で最初の2つの取引を開始しました、さて明日はどのように閉じるのでしょう。皆様、ご参加ありがとうございました。

そしてこの表では、火曜日の予測に対するEAの結果は、 "I "とマークされ、これらは最も明るい信号であり、それらだけで取引 - これは方法B、右端の列にその合計、すべての合計がピップで表示されます。

例えば、火曜日CHFのExpert Advisorでは、BBB、BHN、BHNだけを残し、入金に比例してロットを増やす可能性を追加しました。 入金10%のテストでは、負けトレード55回で合計180%の利益ですが、20%の買いでは450%の利益となります。赤い籾殻から穀物を取り除き、Expert Advisorに、非対称ペアの矛盾した予測の場合には「c」とマークされたシグナルを変更し、追加したロットを減らさず、4通貨すべてを同時に取引することを教え、あなたは「FXディレクターに精通している」ことになるのです。この3つの問題を解決するだけで、このEAが手に入ります。ただ、このEAでチャンピオンシップには参加しないでください。私の分析では、私の名前を美化しています。

160のうちたった3つの予測から27.01.08から450%、1HにCHFを自分でチェックする。エキスパートアドバイザーがロットを増やすだけで、830%にもなり、そのまま、あるいはそれ以上にもなったはずです。

ファイル:
450_2.rar  20 kb
削除済み  

言葉もない...。聖杯の ようなものです。なぜ今まで気づかなかったのですか?

 
lasso:

よく見ると、次のようなニュアンスがある。

......

正しく理解してください。この投稿は、......に対する文句ではありません。

コードを正しく書いたふりをすることは全くありません。そこで特に指摘したのは、私が書いたコードはあくまで設計図であるということです。

まだ、一般論以外の微妙な駆け引きには触れていません。しかし、私はすでに、この戦術は非常に重大な注目に値すると考えています。私は季節商品売買を主に扱っていますが、だからこそここに見込みがあると思うのです。なぜなら、これは本質的に同じ「準季節取引」でありながら、短期的な、時間軸上の取引だからです。

"トレンドチェック :
銀を例にとって
考えてみましょう。午後6時から7時までの1時間のローソク足は、その後23時間の値動きと70%以上一致しており、ちなみにこれは他のいくつかの金属でも典型的な例である。そして、このことは、この50日、40日、30日、20日、10日の間に起こったことです。そこで、19時過ぎにこのキャンドルの方向に注文を出すのですが......。"(-BRフォーラムより)。

しかも、偶然にも、昨日(上記引用文参照)、このような(まあ、ほとんど「一対一」の)戦術で、先月の有名なDCのBRのデモ・コンテストに優勝したことを知ったのである。 賞金$5000で。

そして、この9月のコンテストで先物を取引した参加者は、この戦術で月の初めから1000ポイント以上の利益を獲得しました。(デモ大会のルールは非常に厳しく、参加者はエントリー時の各取引をフォーラムに記述しなければならず、各取引のリスク(ストップロス)は-200ドルを超えてはならず、そうでなければ失格となります)。

だから、NorthAlec、 - あなたはおそらく無駄な嘲笑をしています。