アドバイザーを無料でお書きします - ページ 63

 
こんにちは。この戦略でアドバイザー https://www.youtube.com/watch?v=V58JIhy2rw4。 あるいは、定位置で停滞しているアドバイザーや、若干黒字のアドバイザーはいないのか...。fxcash.ruのサイトでのリベートの収益については、こちらをご覧ください。ありがとうございました。 何かありましたら、facebook https://vk.com/id16112208 または直接ご連絡ください。
Метод торговли на FOREX (Безубыточный)
Метод торговли на FOREX (Безубыточный)
  • 2016.01.11
  • www.youtube.com
САЙТ – http://forexbid.jimdo.com/strategy/metod/ ФОРУМ – http://forex.forumex.ru/viewtopic.php?f=5&t=45&p=73#p73 Возврат спреда http://www.getforexrebate.com...
 
Sergey Zaitsev:
こんにちは。このストラテジーでEAを書けるか https://www.youtube.com/watch?v=V58JIhy2rw4. あるいは、その場で停滞したり、ちょっとだけ利益になったりするEA、他にないですかね........。fxcash.ruのサイトでのリベートの収益については、こちらをご覧ください。ありがとうございます。その場合は、https://vk.com/id16112208 またはプライベートでご連絡ください。
そうです、私はこのタイプのフクロウを書きました。
****
リベートのためなら問題ない。ドローダウンをあまりせずにロットを取得できる。
しかし、長い平坦地では、それが失われる可能性があります...
 
長いフラットということではなく、正確にはフラットが拡大するときということですね?手に入れることは可能なのでしょうか?
 
リベートサービス globegain.com は大丈夫ですか?なぜ forex4u はロットあたり 18.6 ドル、insta は 14.3 ドルという高額なリベートを出しているのですか?は本当なのか?
 

こんにちは。

私は自分の取引を少しロボット化することにしました。MT4端末のトレンドExpert Advisor「Moving Average」を使ってみました。MT4ターミナルから自作のEAを使用することにし、若干の修正を加えています。マスクを1つ追加し、エントリー、エグジット条件を変更し、ストップとプロフィットを追加し、オープン時間を 制限しました。さらに追加したい。

1) ストップロス、テイクプロフィット、ゼロロスへの移動が調整可能な2つの注文を同時に開く機能。

2)1日あたりの応募数を調整可能。

3) 取引が開始された翌日にエントリーできるよう調整可能。

4)ストップロス、ノーロス、テイクプロフィットで出口を調整できる。

5)最大リスクの計算を削除する。(私はそれを見ていない特定の必要性、さらに私は彼がリスクを計算する方法を理解していない、バックグラウンドから、ロットはその後0.10その後1.00が開かれたという印象)。

6) 通貨ペアUSDJPYで 正しく動作しない。

もしかしたら、EAの仕事を改善するために、何かを修正したり、掃除したりする必要があるかもしれません。ヘルプやヒントをください。

10枚以上のチャートで同時に動作し、通貨ペアチャートの各ウィンドウに独自のEAを搭載しています。そのコードを添付します。回答してくださった皆様、ありがとうございました。

//+------------------------------------------------------------------+
//|                                                      MA_MA_1.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//#property strict
#define  MAGICMA  20131112
//--- Inputs
input double SL             =500; //стоп лос
input double TakeProfit     =1000; //тейк профит
input double Lots           =0.01; //розмер лота
//input double MaximumRisk    =0.1; //отключил не понятна логика расчета
input double DecreaseFactor = 3; //фактор снижение(наверно проскальзывание)
input int    MovingPeriod1  =36; //медленная средняя
input int    MovingPeriod2  =12; //быстрая средняя
input int    MovingShift1   =10; //сдвиг медленной средней
input int    MovingShift2   = 0; //сдвиг быстрой средней
extern int   TimeStart      = 8; //время начала торгов
extern int   TimeStop       =20; //время окончания торгов
//+------------------------------------------------------------------+
//| Calculate open positions     //считаем открытые позиции                                    |
//+------------------------------------------------------------------+
int CalculateCurrentOrders(string symbol)
  {  
   int buys=0,sells=0;
//---
   for(int i=0;i<OrdersTotal();i++)
     {    
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//--- return orders volume //объём ордеров на возврат
   if(buys>0) return(buys);
   else       return(-sells);
  }
//+------------------------------------------------------------------+
//| Calculate optimal lot size       //расчет оптимального размера лота                                |
//+------------------------------------------------------------------+
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total (история заказов всего)
   int    losses=0;                  // number of losses orders without a break (количество потерь заказов без перерыва)
//--- select lot size //ОТКЛЮЧИЛ выбор размер лота. 
//lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);//(логика выбора мне не понятна)
//--- calcuulate number of losses orders without a break (Расчет количества заказов на потери без перерыва)
//   if(DecreaseFactor>0)
//    {
//      for(int i=orders-1;i>=0;i--)
//        {
//         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
//           {
//            Print("Error in history!");
//            break;
//           }
//         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
//            continue;
         //---
//         if(OrderProfit()>0) break;
//         if(OrderProfit()<0) losses++;
//        }
//      if(losses>1)
//         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
//     }
//--- return lot size (розмер возвращаемого лота)
   if(lot<0.1) lot=0.1;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Check for open order conditions       //проверка условий для открытия ордера                           |
//+------------------------------------------------------------------+
void CheckForOpen()
  {  
   double ma1; //медленная средняя
   double ma2; //быстрая средняя
   int    res;
//--- go trading only for first tiks of new bar// торговать только на первом тике нового бара
   if(Volume[0]>1) return;
//--- get Moving Average //получение скользящих средних
   ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
   ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая
//--- sell conditions //условия для продажи
   if(ma1<ma2 && Close[1]<ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
     {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+SL*Point,Bid-TakeProfit*Point,"",MAGICMA,0,Red);
      return;      
     }
//--- buy conditions //условия для покупки
   if(ma1>ma2 && Close[1]>ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-SL*Point,Ask+TakeProfit*Point,"",MAGICMA,0,Blue);
      return;      
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions      //проверка условий для закрытия ордера                           |
//+------------------------------------------------------------------+
void CheckForClose()
  {
   double ma1;//медленная
   double ma2;//быстрая
//--- go trading only for first tiks of new bar// торговать толькона тике нового бара
   if(Volume[0]>1) return;
//--- get Moving Average //получение средних
   ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
   ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //--- check order type //проверка типа ордера
      if(OrderType()==OP_BUY)
        {
         if(Close[1]<ma2 && Open[2]>Close[1] && ma1<ma2) //(Open[1]>ma && Close[1]<ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Close[1]>ma2 &&  Open[2]<Close[1] && ma1>ma2)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  }
//+------------------------------------------------------------------+
//| OnTick function  //функция нового тика                                                |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- check for history and trading
   if(Bars<100 || IsTradeAllowed()==false)
      return;
//--- calculate open orders by current symbol
   if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
   else                                    CheckForClose();
//---
  }
//+------------------------------------------------------------------+
 
Sergey Zaitsev:
こんにちは。この戦略でアドバイザー https://www.youtube.com/watch?v=V58JIhy2rw4。 あるいは、定位置で停滞しているアドバイザーや、若干黒字のアドバイザーはいないのか...。fxcash.ruのサイトでのリベートの収益については、こちらをご覧ください。ありがとうございます。 Ek https://vk.com/id16112208 またはプライベートでそのビープ音が鳴ったら。

アバランチという支店を見てください、このTSのアドバイザーがいます。
 

こんにちは。

何かお手伝いできることはありますか?Expert Advisorは1ティックごとに トレードを取得しています。5トレード程度、あるいは好きなだけ取り出せるようにするには、どのようにコードを書けばよいのでしょうか?

extern int tp=50;

extern int sl=200;

extern double lot=0.01;

oid OnTick()

{

OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red)を実行。

}

コードを変更したり、追加したりするにはどうしたらよいですか?

ありがとうございました。

 

私が難しくしなければ、あなたは***に答えることができます。

ありがとうございました。

 

既成のテンプレートを作り直そうとしたのですが、結局エラーが2つほど出てしまい、フクロウさえあればいいのです。

1) 閉じたローソク足が強気であれば買いポジションを、弱気であれば売りポジションを建てます。

2) などは、ローソク足の後に表示されます。

2つ目の条件がうまくいかないのですが。

どなたかお分かりになる方がいらっしゃいましたら、よろしくお願いします。

 
alstefanov:

何かお手伝いできることはありますか?Expert Advisorは1ティック ごとにトレードを取得しています。トレードを5回程度、または好きなだけ描画するコードはどのように書けばよいのでしょうか?

コードを変更したり、追加したりするにはどうしたらよいですか?

ループを追加して、OrderSendを実行する前に注文数を制限する必要がありますね。
理由: