佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1602|回复: 22

想请 EA 高手帮帮忙~~

[复制链接]
发表于 6-3-2009 07:01 PM | 显示全部楼层 |阅读模式
小弟想试一个 EA 可是不会写~~
所以想请大大们帮忙写~~

细节如下:
time frame : M1
indicator: Parabolic SAR 步长:0.03   最大:0.2
stop loss : 10 pips
lot size :从0.01 开始,每赚1000pips 就加倍(倍增),最大到50 lots.

买卖条件:每个讯号只做一次交易
                    每当讯号出现(buy/sell),自动交易。
                    每当新讯号出现(buy/sell),自动平仓上一笔交易(不论赢/亏)。

*这是这个EA 的初型~~
试了之后可能会再更动~~

有劳各位大大了~~

[ 本帖最后由 Freeman5383 于 6-3-2009 08:59 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 6-3-2009 07:07 PM | 显示全部楼层
原帖由 Freeman5383 于 6-3-2009 07:01 PM 发表
小弟想试一个 EA 可是不会写~~
所以想请大大们帮忙写~~

细节如下:
time frame : M1
indicator: Parabolic SAR 步长:0.03   最大:0.2
stop loss : 10 pips
lot size :从0.01 开始,每赚1000pip ...


M1喔,可能吗?
回复

使用道具 举报

 楼主| 发表于 6-3-2009 09:00 PM | 显示全部楼层
原帖由 qplldb 于 6-3-2009 19:07 发表


M1喔,可能吗?


不是一次,是累积~~~
回复

使用道具 举报

发表于 8-3-2009 11:12 PM | 显示全部楼层
我看到forex-tsd裏面有,你去找找看
回复

使用道具 举报

 楼主| 发表于 18-3-2009 08:17 PM | 显示全部楼层
//+------------------------------------------------------------------+
//|                                                         matt.mq4 |
//|                       Copyright ?2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
//---- input parameters
extern double    Lot_Size=0.1;
extern double    SAR_Step=0.03;
extern double    SAR_Maximum=0.2;
//---global variables
int magic_number=19081846;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   int total_trade=OrdersTotal();
   
   if (total_trade<=0)
      {
         PlaceTrades();
         return(0);
      }
     
   int my_orders=0;
   
   for (int i=0;i<total_trade;i++)
      {
         OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if ((OrderMagicNumber()==magic_number)&&(OrderSymbol()==Symbol()))
            {
               ManageTrades(OrderTicket(),OrderType(),OrderLots());
               my_orders++;
            }
      }
   if (my_orders==0) PlaceTrades();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| ManageTrades function                                            |
//+------------------------------------------------------------------+
int ManageTrades(int iticket, int itype, double dlots)
  {
//----
   RefreshRates();
   //parabolic SAR calculations
   double sar0=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,0);
   double sar1=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,1);
   
   //closing orders
   if (iticket>=0)
      {
        if ((itype==OP_BUY)&&(High[0]<sar0)&&(High[1]<sar1))
         OrderClose(iticket, dlots, Bid, 3, Black);
        if ((itype==OP_SELL)&&(Low[0]>sar0)&&(Low[1]>sar1))
         OrderClose(iticket, dlots, Ask, 3, Black);
      }//end of closing orders
   
   return(0);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| PlaceTrades function                                             |
//+------------------------------------------------------------------+
void PlaceTrades()
  {
//----
   RefreshRates();
   //parabolic SAR calculations
   double sar0=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,0);
   double sar1=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,1);
   double sar2=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,2);
   
   //trade direction
   int trade_direction=0;
   
   if ((High[2]<sar2)&&(Low[1]>sar1)&&(Low[0]>sar0)) trade_direction=1; //condition for long/buy trades
   if ((Low[2]>sar2)&&(High[1]<sar1)&&(High[0]<sar0)) trade_direction=-1; //condition for short/sell trades
   
   //place long trade
   if (trade_direction==1)
      OrderSend(Symbol(),OP_BUY, Lot_Size, Ask,3, 0, 0, "SAR Long Orders", magic_number, 0, Green);
   
   //place short trade
   if (trade_direction==-1)
      OrderSend(Symbol(),OP_SELL, Lot_Size, Bid, 3, 0, 0, "SAR Short Orders", magic_number, 0, Red);
   
   
   return;
  }
//+------------------------------------------------------------------+





*请教我如何在这个 EA 加上 Targetprofit , Stoploss & Trailling stop!!!~~~~
回复

使用道具 举报

发表于 20-3-2009 12:10 AM | 显示全部楼层
奇怪。。。。我發不到長長的回帖
明天把EA code paste給你,我加了SL和TP
回复

使用道具 举报

Follow Us
发表于 20-3-2009 01:46 AM | 显示全部楼层
拨头皮是不能容许的,要注意啊。
回复

使用道具 举报

 楼主| 发表于 20-3-2009 09:53 PM | 显示全部楼层
原帖由 mancai 于 20-3-2009 00:10 发表
奇怪。。。。我發不到長長的回帖
明天把EA code paste給你,我加了SL和TP


谢谢班主~~~~~



原帖由 yan7181 于 20-3-2009 01:46 发表
拨头皮是不能容许的,要注意啊。


不~~只是想试试~~~~~
回复

使用道具 举报


ADVERTISEMENT

发表于 21-3-2009 10:01 PM | 显示全部楼层
//+------------------------------------------------------------------+
//|                                                         matt.mq4 |
//|                       Copyright ?2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
//---- input parameters
extern double    Lot_Size=0.1;
extern double    SAR_Step=0.03;
extern double    SAR_Maximum=0.2;
extern int     TakeProfit =10;
extern int     StopLoss =10;
//---global variables
int magic_number=19081846;
回复

使用道具 举报

发表于 21-3-2009 10:02 PM | 显示全部楼层
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
回复

使用道具 举报

发表于 21-3-2009 10:03 PM | 显示全部楼层
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   int total_trade=OrdersTotal();
   
   if (total_trade<=0)
      {
         PlaceTrades();
         return(0);
      }
     
   int my_orders=0;
   
   for (int i=0;i<total_trade;i++)
      {
         OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if ((OrderMagicNumber()==magic_number)&&(OrderSymbol()==Symbol()))
            {
               ManageTrades(OrderTicket(),OrderType(),OrderLots());
               my_orders++;
            }
      }
   if (my_orders==0) PlaceTrades();
//----
   return(0);
  }
回复

使用道具 举报

发表于 21-3-2009 10:04 PM | 显示全部楼层
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| ManageTrades function                                            |
//+------------------------------------------------------------------+
int ManageTrades(int iticket, int itype, double dlots)
  {
//----
   RefreshRates();
   //parabolic SAR calculations
   double sar0=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,0);
   double sar1=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,1);
   
   //closing orders
   if (iticket>=0)
      {
        if ((itype==OP_BUY)&&(High[0]<sar0)&&(High[1]<sar1))
         OrderClose(iticket, dlots, Bid, 3, Black);
        if ((itype==OP_SELL)&&(Low[0]>sar0)&&(Low[1]>sar1))
         OrderClose(iticket, dlots, Ask, 3, Black);
      }//end of closing orders
   
   return(0);
回复

使用道具 举报

发表于 21-3-2009 10:04 PM | 显示全部楼层
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| PlaceTrades function                                             |
//+------------------------------------------------------------------+
void PlaceTrades()
  {
//----
   RefreshRates();
   //parabolic SAR calculations
   double sar0=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,0);
   double sar1=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,1);
   double sar2=iSAR(Symbol(),0,SAR_Step, SAR_Maximum,2);
回复

使用道具 举报

发表于 21-3-2009 10:05 PM | 显示全部楼层
//trade direction
   int trade_direction=0;
   
   if ((High[2]<sar2)&&(Low[1]>sar1)&&(Low[0]>sar0)) trade_direction=1; //condition for long/buy trades
   if ((Low[2]>sar2)&&(High[1]<sar1)&&(High[0]<sar0)) trade_direction=-1; //condition for short/sell trades
   
   //place long trade
   if (trade_direction==1)
      OrderSend(Symbol(),OP_BUY, Lot_Size, Ask,3, Ask - (StopLoss * Point), Ask+TakeProfit*Point, "SAR Long Orders", magic_number, 0, Green);
   
   //place short trade
   if (trade_direction==-1)
      OrderSend(Symbol(),OP_SELL, Lot_Size, Bid, 3, Bid + (StopLoss * Point), Bid-TakeProfit*Point, "SAR Short Orders", magic_number, 0, Red);
   
   
   return;
  }
//+------------------------------------------------------------------+
回复

使用道具 举报

发表于 22-3-2009 02:43 PM | 显示全部楼层
我跟着copy and paste, 但是有以下的 errors...



哪里出了问题??
回复

使用道具 举报

 楼主| 发表于 22-3-2009 11:47 PM | 显示全部楼层
原帖由 mancai 于 21-3-2009 22:05 发表
//trade direction
   int trade_direction=0;
   
   if ((High[2]sar1)&&(Low[0]>sar0)) trade_direction=1; //condition for long/buy trades
   if ((Low[2]>sar2)&&(High[1]



奇怪~~~拿来做 backtest  为什么会没结果的???
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 23-3-2009 12:18 AM | 显示全部楼层
原帖由 mancai 于 21-3-2009 22:05 发表
//trade direction
   int trade_direction=0;
   
   if ((High[2]sar1)&&(Low[0]>sar0)) trade_direction=1; //condition for long/buy trades
   if ((Low[2]>sar2)&&(High[1]


我还想加个 trailing stop ~~~

谢谢版主~~~~
回复

使用道具 举报

发表于 31-3-2009 07:41 PM | 显示全部楼层
原帖由 Freeman5383 于 23-3-2009 12:18 AM 发表


我还想加个 trailing stop ~~~

谢谢版主~~~~


哇。。貪心下
回复

使用道具 举报

发表于 31-3-2009 07:55 PM | 显示全部楼层
http://cforum9.cari.com.my/viewt ... &extra=page%3D1

看看我attached的是不是你要的
回复

使用道具 举报

发表于 6-4-2009 08:37 PM | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 5-11-2024 05:24 PM , Processed in 0.169531 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表