[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 113

[Deleted]  
Zhunko:
ボタンが押されていないのでは?
どれどれと、端末には何のボタンもなく、ぐちゃぐちゃに......。
 
Lisi4ka330:
端末には、何かをいじるためのボタンがないようですが...


1.EAやインジケーターの有効・無効を切り替えるボタンがあります。

2.EAの設定に「EAの取引を許可する」というオプションがあります。

削除済み  
Lisi4ka330:
どれでしょう? 端末のボタンで何かぐちゃぐちゃになることはないと思うのですが...
チャート上に配置されたEAのプロパティで、「EAを取引可能に する」にチェックを入れる必要があります。
[Deleted]  
ありがとうございます、持ってます...。 それと、もうひとつ質問なのですが、ヒストリカルデータをダウンロードするにはどこが一番いいのでしょうか?私はM1から右のタイムフレームにシミュレートするスクリプトについてフォーラムで読んだ、それが行われるべきか?
 
Lisi4ka330:
ありがとうございます、持ってます...。 それと、もうひとつ質問なのですが、ヒストリカルデータをダウンロードするにはどこが一番いいのでしょうか?私はM1から右のタイムフレームにシミュレートするスクリプトについてフォーラムで読んだ、それが行われるべきか?
履歴は取引先から採取する必要があります。
[Deleted]  
なるほど...。ひとの数だけ、意見がある...。99%のモデリングクオリティを得る方法については、こちらの記事をご覧ください : http://avtoforex.ru/testirovanie/5-kachestvo-modelirovanija-99-procentov-v-testere-strategij.html
 
Lisi4ka330:
然様ひとの数だけ、意見がある...。シミュレーションの品質を99%にする方法については、こちらの記事をご覧ください : http://avtoforex.ru/testirovanie/5-kachestvo-modelirovanija-99-procentov-v-testere-strategij.html

ソフトとウォームを混同しないように。

シミュレーションとティック 履歴のリアルトレードは別物です

[Deleted]  

プロフェッショナルの皆様へ 仮想テイクアンドストップやトレーリングストップを設定するのに便利なExpert Advisorを見つけました(添付)。しかし、バーチャルストップロスは正しく機能しません。訂正のご協力をお願いします。それとも、どなたか良いアナログをお持ちなのでしょうか?

感謝を捧げたい。

ファイル:
 
Fenicks v01をダウンロードしたのですが、設定の半分以上がわかりません。

これらの設定はどのような意味を持つのでしょうか。

int i=0;
int k=1;
int l=1;
double TakeB=0;
double TakeS=0;
int olbuy=0;
int olsell=0;
int oldbuy=0;
int oldsell=0;
int otkbuy=0;
int otlbuy=0;
int otksell=0;
int otlsell=0;
 
また、テスト書き込み中にログで: 2012.05.11 20:03:29 2012.01.09 01:02 Fenicks v01 EURUSD,M1: OrderModify error 1

このエラーを解消するにはどうしたらよいですか?

以下はExpert Advisor自体のコードです。

extern double Lot=0.01;
int h=15; //начало от цены
int g=20; //тейкпрофит
int i=0;
int k=1;
int l=1;
double TakeB=0;
double TakeS=0;
int olbuy=0;
int olsell=0;
int oldbuy=0;
int oldsell=0;
int otkbuy=0;
int otlbuy=0;
int otksell=0;
int otlsell=0;


int openbuy()  // Выставления отложенных ордеров на продажу
  {
   double PRICE=Ask-Point*h;
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*1,PRICE,0,0,PRICE+Point*g,"My order #",11);
   PRICE=Ask-Point*(h+10);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*2,PRICE,0,0,PRICE+Point*g,"My order #",12);
   PRICE=Ask-Point*(h+20);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*4,PRICE,0,0,PRICE+Point*g,"My order #",13);
   PRICE=Ask-Point*(h+30);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*8,PRICE,0,0,PRICE+Point*g,"My order #",14);
   PRICE=Ask-Point*(h+40);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*16,PRICE,0,0,PRICE+Point*g,"My order #",15);
   PRICE=Ask-Point*(h+50);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*32,PRICE,0,0,PRICE+Point*g,"My order #",16);
   PRICE=Ask-Point*(h+60);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*64,PRICE,0,0,PRICE+Point*g,"My order #",17);
   PRICE=Ask-Point*(h+70);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*128,PRICE,0,0,PRICE+Point*g,"My order #",18);
   PRICE=Ask-Point*(h+85);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*256,PRICE,0,0,PRICE+Point*1.5*g,"My order #",19);
   PRICE=Ask-Point*(h+100);
   OrderSend (Symbol(),OP_BUYLIMIT,Lot*512,PRICE,0,0,PRICE+Point*1.5*g,"My order #",20);
  return(0);
  }

int opensell()  // Выставления отложенных ордеров на продажу
  {
   double PRICE=Bid+Point*h;
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*1,PRICE,0,0,PRICE-Point*g,"My order #",21);
   PRICE=Bid+Point*(h+10);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*2,PRICE,0,0,PRICE-Point*g,"My order #",22);
   PRICE=Bid+Point*(h+20);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*4,PRICE,0,0,PRICE-Point*g,"My order #",23);
   PRICE=Bid+Point*(h+30);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*8,PRICE,0,0,PRICE-Point*g,"My order #",24);
   PRICE=Bid+Point*(h+40);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*16,PRICE,0,0,PRICE-Point*g,"My order #",25);
   PRICE=Bid+Point*(h+50);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*32,PRICE,0,0,PRICE-Point*g,"My order #",26);
   PRICE=Bid+Point*(h+60);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*64,PRICE,0,0,PRICE-Point*g,"My order #",27);
   PRICE=Bid+Point*(h+70);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*128,PRICE,0,0,PRICE-Point*g,"My order #",28);
   PRICE=Bid+Point*(h+85);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*256,PRICE,0,0,PRICE-Point*1.5*g,"My order #",29);
   PRICE=Bid+Point*(h+100);
   OrderSend (Symbol(),OP_SELLLIMIT,Lot*512,PRICE,0,0,PRICE-Point*1.5*g,"My order #",30);
  return(0);
  }

int closebuy()  // Закрывает отложенный ордера на покупку
{
   for(i=1; i<OrdersTotal(); i++)
    {
      if((OrderSelect(i-1,SELECT_BY_POS)==true)
      && (OrderType()==2))
      {
      OrderDelete(OrderTicket());
      }
    }
}

int closesell()  // Закрывает отложенный ордера на продажу
{
   for(i=1; i<OrdersTotal(); i++)
    {
      if((OrderSelect(i-1,SELECT_BY_POS)==true)
      && (OrderType()==3))
      {
      OrderDelete(OrderTicket());
      }
    }
}

int start()
  {
// начало открытия отложенных ордеров 
   if (OrdersTotal()==0)
     {
     openbuy();
     opensell();
     }
// Открывает на продажу если на покупку открыта ранее
   for(i=0; i<OrdersTotal(); i++)
    {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==3))
      {
      olsell++;
      }
    } 
    for(i=0; i<OrdersTotal(); i++)
    {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==1))
      {
      oldsell++;
      }
    }   
        if(olsell<1 && oldsell<1)
          {
          opensell();
          } 
// Открывает на покупку если на прадажу уже открыта ранее
   for(i=0; i<OrdersTotal(); i++)
    {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==2))
      {
      olbuy++;
      }
    }
   for(i=0; i<OrdersTotal(); i++)
    {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==0))
      {
      oldbuy++;
      }
    }
        if(olbuy<1 && olbuy<1)
          {
          openbuy();
          }
// конец открытия отложенных ордеров

// ---------- Начало модификаций отложенных ордеров --------------
// Модификация тейк профита для открытых ордеров на покупку

   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==0))
       {
       TakeB=OrderTakeProfit();
       }
     }
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==0))
       {
       OrderModify(OrderTicket(),OrderOpenPrice(),0,TakeB,0);
       }
      }
 // Модификация тейк профита для открытых ордеров на продажу
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==1))
       {
       TakeS=OrderTakeProfit();
       }
     }
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==1))
       {
       OrderModify(OrderTicket(),OrderOpenPrice(),0,TakeS,0);
       }
      }
// Подсчет открытых и закрытых ордеров
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==0))
       {
       otkbuy++;                              // Открытых покупок
       }
     }
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==2))
       {
       otlbuy++;                              // Отложенных покупок
       }
     }
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==1))
       {
       otksell++;                             // Открытых продаж
       }
     }
   for(i=0; i<OrdersTotal(); i++)
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)
      && (OrderType()==3))
       {
       otlsell++;                             // Отложенных продаж
       }
     }
// Очистка лишних ордеров на покупку
if((otkbuy==0) && (otlbuy<=5))
   {
   closebuy();
   }
// Очистка лишних ордеров на продажи
if((otksell==0) && (otlsell<=5))
   {
   closesell();
   }
// Модификация отложенных ордеров на покупку
   otkbuy=0;
   otlbuy=0;
   otksell=0;
   otlsell=0;
   olbuy=0;
   olsell=0;
   oldbuy=0;
   oldsell=0; 
   return(0);
  }
//+------------------------------------------------------------------+