如何编码? - 页 310 1...303304305306307308309310311312313314315316317...347 新评论 Mladen Rakic 2012.07.30 14:19 #3091 ... 对于运行时的价差,使用这个。 double currentSpread = MarketInfo(Symbol().MODE_SPREAD); Premeus: 我想在EA中显示实时点差的代码。 请给我一些建议。 [删除] 2012.07.31 14:40 #3092 谢谢你Malden。但我知道PHP代码是用于网络服务器的。 我不知道在EA方面的代码。或者说它是为别人而设的。 请告诉我更具体的信息。对不起,我是MQL4编程的新手。 我不确定当新的价格出现时,程序的哪一部分被执行。 是整个程序还是在旁边的init()或start()里面。 我想获得tick信息并显示出来,就像我问这个问题一样。 Mladen Rakic 2012.07.31 14:56 #3093 经验之谈 这是metatrader MQl 4的代码,用于获取当前符号的点差。只要把它复制到你的代码中,你就可以通过这种方式获得点差信息了。 这行代码应该在start()中,以便在每一个tick 上检查点差(因为它可以在每一个tick上改变)。一旦你调用了MarketInfo()函数,并且currentSpread变量被赋值,就可以使用currentSpread进行任何测试或任何你需要的进一步处理。 Premeus: 谢谢你,Malden。但我知道网络服务器的PHP代码,我不知道在EA方面的代码。或者说它是为别人而设的。请告诉我更具体的信息。对不起,我是MQL4编程的新手。 我不确定当新的价格进来时,程序的哪一部分被执行。 是整个程序还是在init()边上或start()里面。 我想得到蜱虫的信息和显示,就像我问这个主题一样。 pearl1 2012.08.07 14:41 #3094 MartingailExpert_v1.0_Stochastic,如何? 你好! 谁能告诉我,为什么我不能在订单发送票中插入止损? 当我插入它时,EA就不工作了! 谢谢! //+------------------------------------------------------------------+//| aaa.mq4 |//| 2007年,MetaQuotes软件公司版权所有。| //|TeamWox Groupware / MetaQuotes Software Corp.| //+------------------------------------------------------------------+ #property copyright "Copyright Š 2007, MetaQuotes Software Corp. #property link "http://www.metaquotes.net" 外置双步=25。 extern int StepMode=0; // ńëč StepMode = 0, ňî řŕă ěĺćäó îđäĺđŕěč ôčęńčđîâŕííűé č đŕâĺí step // ǞǞ StepMode = 1, Ǟ Ǟ ďîńĺďĺííî óâĺëč÷čâŕĺňń˙。 外置双倍数proffactor=10。 外置双倍数mult=1.5。 外置双倍lotbuy=0.01。 extern double lotssell=0.01; 外置双倍数per_K=200。 extern double per_D=20; extern double slow=20; extern double zoneBUY=20; extern double zoneSELL=80; extern double Magicbuy=555; 外置双倍Magicsell=556; double openpricebuy,openpricesell,lotbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep, ticketbuy,ticketell,maxLot,free,balance,lotell,lotbuy,dig,sig_buy,sig_sell,ask,bid。 int OrdersTotalMagicbuy(int Magicbuy) { int j=0; int r; for (r=0;r<OrdersTotal();r++) { 如果(OrderSelect(r,SELECT_BY_POS,MODE_TRADES)) { 如果(OrderMagicNumber()==Magicbuy) j++; } } return(j); } int OrdersTotalMagicsell(int Magicsell) { int d=0; int n; for (n=0;n<OrdersTotal();n++) { 如果(OrderSelect(n,SELECT_BY_POS,MODE_TRADES)) { 如果(OrderMagicNumber()==Magicsell) d++; } } return(d); } int orderclosebuy(int ticketbuy) { string symbol = Symbol(); int cnt; for(cnt = OrdersTotal(); cnt >= 0; cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderSymbol() == symbol && OrderMagicNumber() ==Magicbuy) { ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotbuy2=OrderLots() ; double bid = MarketInfo(symbol,MODE_BID); RefreshRates()。 OrderClose(ticketbuy,lotbuy2,bid,3,Magenta)。 } } lotsbuy2=lotsbuy;返回(0)。 } int orderclosesell(int ticketsell) { string symbol = Symbol(); int cnt; for(cnt = OrdersTotal(); cnt >= 0; cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderSymbol() == symbol && OrderMagicNumber() ==Magicsell) { ticketsell=OrderTicket();OrderSelect(t ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() 。 double ask = MarketInfo(symbol,MODE_ASK); RefreshRates()。 OrderClose(tasksell,lotssell2,ask,3, Lime)。 } } lotssell2=lotssell;返回(0)。 } int start() { //---- double profitbuy=0;double profitsell=0; 字符串 = OrderSymbol(); double spread = MarketInfo(symbol,MODE_SPREAD); double minLot = MarketInfo(symbol,MODE_MINLOT); 如果(minLot==0.01){dig=2;maxLot=MarketInfo(symbol,MODE_MAXLOT);}。 如果(minLot==0.1){dig=1;maxLot=((AccountBalance()/2)/1000); } 如果(OrdersTotalMagicbuy(Magicbuy)>0) { double smbuy; for (cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)。 如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magicbuy) { ticketbuy = OrderTicket(); OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES); smbuy = smbuy+OrderLots();openpricebuy = OrderOpenPrice(); lastlotbuy = OrderLots()。 } } { 如果(smbuy+(NormalizeDouble((lastlotbuy*mult),dig))<maxLot) { 如果(StepMode==0) { 如果(Ask<=openpricebuy-step*Point) { lotsbuy2=lastlotbuy*mult; RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotbuy2,dig),Ask,3,0,0, "MartingailExpert", Magicbuy,0,Blue)。 } } 如果(StepMode==1) { 如果(Ask<=openpricebuy-(step+OrdersTotalMagicbuy(Magicbuy)+OrdersTotalMagicbuy(Magicbuy)-2) *Point) { lotsbuy2=lastlotbuy*mult; RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotbuy2,dig),Ask,3,0,0, "MartingailExpert", Magicbuy,0,Blue)。 } } } } } 如果(OrdersTotalMagicsell(Magicsell)>0) { 双倍的smsell。 for (cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)。 如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magicsell) { ticketsell = OrderTicket();OrderSelect(t ticketsell,SELECT_BY_TICKET, MODE_TRADES)。 smsell = smsell + OrderLots();openpricesell = OrderOpenPrice();lastlotsell = OrderLots()。 } } { 如果(smsell+(NormalizeDouble((lastlotsell*mult),dig))<maxLot) { 如果(StepMode==0) { 如果(Bid>=openpricesell+step*Point) { lotssell2=lastlotsell*mult; RefreshRates();t ticketsell=OrderSend(Symbol(),OP_SELL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red) 。 } } 如果(StepMode==1) { 如果(Bid>=openpricesell+(step+OrdersTotalMagicsell(Magicsell)+OrdersTotalMagicsell(Magicsell)-2)*Point) { lotssell2=lastlotsell*mult; RefreshRates();t ticketsell=OrderSend(Symbol(),OP_SELL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red) 。 } } } } } //xm7修改,改变信号产生的方式。旧代码在最后 double Stoch_0 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,0) 。 double Stoch_1 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1); 如果(OrdersTotalMagicbuy(Magicbuy)<1) { 如果(Stoch_0 > zoneBUY && Stoch_1 <= zoneBUY) ticketbuy = OrderSend(Symbol(),OP_BUY,lotbuy,Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue) 。 } 如果(OrdersTotalMagicsell(Magicsell)<1) { 如果(Stoch_0 = zoneSELL) ticketsell = OrderSend(Symbol(),OP_SELL,lotssell,Bid,3,0,0, "MartingailExpert",Magicsell,0,Red); } for (cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。 如果(OrderSymbol()==Symbol() && OrderMagicNumber() == Magicbuy) { ticketbuy = OrderTicket(); OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES); profitbuy = profitbuy+OrderProfit() ; openpricebuy = OrderOpenPrice()。 } } tpb = (OrdersTotalMagicbuy(Magicbuy)*proffactor*Point)+openpricebuy; double bid = MarketInfo(Symbol(),MODE_BID); 如果(profitbuy>0) { if (Bid>=tpb) orderclosebuy(ticketbuy); } for (cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。 如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magicsell) { ticketsell = OrderTicket();OrderSelect(t ticketsell,SELECT_BY_TICKET, MODE_TRADES);profitell = profitsell+OrderProfit(); openpricesell = OrderOpenPrice()。 } } tps = openpricesell-(OrdersTotalMagicsell(Magicsell)*proffactor*Point)。 double ask = MarketInfo(Symbol(),MODE_ASK); 如果(profitell>0) { 如果(Ask<=tps)orderclosesell(t ticketsell)。 } free = AccountFreeMargin();balance = AccountBalance()。 for (cnt=0;cnt< OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。 如果(OrderSymbol()==Symbol() && OrderMagicNumber() == Magicbuy) ticketbuy = OrderTicket(); 如果(OrderSymbol()==Symbol() && OrderMagicNumber() ==Magicsell) ticketsell = OrderTicket()。 } 如果(OrdersTotalMagicbuy(Magicbuy)==0) { profitbuy=0;ticketbuy=0;tpb=0。 } 如果(OrdersTotalMagicsell(Magicsell)==0) { profitsell=0;ticketell=0;TPS=0。 } Comment("FreeMargin = ",NormalizeDouble(free,0)," Balance = ",NormalizeDouble(balance,0)," maxLot = ",NormalizeDouble(maxLot,dig), "/n", "Totalbuy = ",OrdersTotalMagicbuy(Magicbuy)," Lot = ",smbuy," Totalsell = ",OrdersTotalMagicsell(Magicsell)," Lot = ",smsell,"\n", "---------------------------------------------------------------","\n","Profitbuy = ",profitbuy,"\n", "Profitsell = ",profitell)。 //---- for(int ii=0; ii<2; ii+=2) { ObjectDelete("rect "+ii); ObjectCreate("rect "+ii,OBJ_HLINE, 0, 0,tps); ObjectSet("rect "+ii, OBJPROP_COLOR, Red); ObjectSet("rect "+ii, OBJPROP_WIDTH, 1); ObjectSet("rect "+ii, OBJPROP_RAY, False); } for(int rr=0; rr<2; rr+=2) { ObjectDelete("rect1"+rr); ObjectCreate("rect1"+rr,OBJ_HLINE, 0, 0,tpb); ObjectSet("rect1"+rr, OBJPROP_COLOR, Blue); ObjectSet("rect1"+rr, OBJPROP_WIDTH, 1); ObjectSet("rect1"+rr, OBJPROP_RAY, False); } return(0); } Mladen Rakic 2012.08.08 07:37 #3095 ... 这可能有几个原因,但最常见的是: - 止损和/或止盈离 当前价格太近了 - 你的经纪商是ECN/STP类型的经纪商,在这种情况下,你首先要把订单的止损和获利设置为0,只有当订单被打开时,你才能把止损和/或获利修改为所需的值(当然要尊重前面的观点)。 pearl1: 你好! 谁能告诉我,为什么我不能在订单发送票中插入止损?当我插入它时,EA就不工作了! 谢谢! tkuan77 2012.08.10 14:34 #3096 大家好,我想知道 如何在图表上获得最新的当前价格?我知道这是一个新手,但我似乎找不到答案。请帮助。谢谢。 谢谢。 特伦斯 Mladen Rakic 2012.08.10 14:48 #3097 ... 取决于哪一个。 - 当前买入价是买入价- 当前卖出价是卖出价 - 任何其他价格:使用指数0表示当前价格,因此Close[0]是当前收盘价,Open[0]是当前开盘价,以此类推。 tkuan77: 大家好,我想检查一下我如何在图表上获得最新的当前价格?我知道这是一个新手,但我似乎找不到答案。请帮助。谢谢。监管 特伦斯 tkuan77 2012.08.10 15:02 #3098 嗨,Mladen,我想做的是一个检查。例如,如果当前价格高于SMA100,我将放大到一个较低的时间框架,只看买入信号。但如果我使用买入价或卖出价,系统就不能决定我目前是看多还是看空,因为买入价我应该看多,反之则看卖出价(如果我错了请纠正我)。 我心中的概念与检查部分的3只鸭子交易系统有些类似。请在此给我建议。谢谢。 谢谢 特伦斯 mladen: 要看是哪一个:- 当前买入价是Bid- 当前卖出价是Ask - 任何其他价格:使用指数0作为当前价格,所以Close[0]是当前收盘价,Open[0]是当前开盘价,以此类推 。 Mladen Rakic 2012.08.10 16:12 #3099 ... 特伦斯 在这种情况下,使用Close[0]。几乎所有的EA都在使用close来达到这个目的,所以我想它也会对你有用。 tkuan77: 你好,Mladen,我想做的是一个检查。例如,如果当前价格高于SMA100,我将放大到一个较低的时间框架,只看买入信号。但是,如果我使用买入价或卖出价,系统不能决定我目前是看多还是看空,因为买入价我应该看多,反之则是看空(如果我错了,请纠正我)。我心中的概念与检查部分的3只鸭子交易系统有些类似。请在此给我建议。谢谢。 谢谢 特伦斯 [删除] 2012.08.10 22:56 #3100 EA不在价格变动之间运行 我注意到我的EA没有在M1时间段的价格变动之间运行。我知道EA会在每一个tick 进来的时候 被执行。 但我看到它是在每一个新条形开始时执行的。 我是不是理解错了? 有什么方法可以强制EA在每一个点位进入时执行吗? 我试图通过使用利润和亏损来控制我的利润和亏损, ,而不是用点数。 当尖峰发生时,EA在达到设定的利润或损失时不关闭订单,直到新的栏位出现。 有谁能帮助我解决这个问题? 我是EA编码的新手。 谢谢你的帮助。 1...303304305306307308309310311312313314315316317...347 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
...
对于运行时的价差,使用这个。
我想在EA中显示实时点差的代码。 请给我一些建议。
谢谢你Malden。但我知道PHP代码是用于网络服务器的。 我不知道在EA方面的代码。或者说它是为别人而设的。
请告诉我更具体的信息。对不起,我是MQL4编程的新手。
我不确定当新的价格出现时,程序的哪一部分被执行。
是整个程序还是在旁边的init()或start()里面。
我想获得tick信息并显示出来,就像我问这个问题一样。
经验之谈
这是metatrader MQl 4的代码,用于获取当前符号的点差。只要把它复制到你的代码中,你就可以通过这种方式获得点差信息了。
这行代码应该在start()中,以便在每一个tick 上检查点差(因为它可以在每一个tick上改变)。一旦你调用了MarketInfo()函数,并且currentSpread变量被赋值,就可以使用currentSpread进行任何测试或任何你需要的进一步处理。
谢谢你,Malden。但我知道网络服务器的PHP代码,我不知道在EA方面的代码。或者说它是为别人而设的。
请告诉我更具体的信息。对不起,我是MQL4编程的新手。
我不确定当新的价格进来时,程序的哪一部分被执行。
是整个程序还是在init()边上或start()里面。
我想得到蜱虫的信息和显示,就像我问这个主题一样。MartingailExpert_v1.0_Stochastic,如何?
你好!
谁能告诉我,为什么我不能在订单发送票中插入止损?
当我插入它时,EA就不工作了!
谢谢!
//| aaa.mq4 |
//| 2007年,MetaQuotes软件公司版权所有。|
//|TeamWox Groupware / MetaQuotes Software Corp.|
//+------------------------------------------------------------------+
#property copyright "Copyright Š 2007, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"
外置双步=25。
extern int StepMode=0;
// ńëč StepMode = 0, ňî řŕă ěĺćäó îđäĺđŕěč ôčęńčđîâŕííűé č đŕâĺí step
// ǞǞ StepMode = 1, Ǟ Ǟ ďîńĺďĺííî óâĺëč÷čâŕĺňń˙。
外置双倍数proffactor=10。
外置双倍数mult=1.5。
外置双倍lotbuy=0.01。
extern double lotssell=0.01;
外置双倍数per_K=200。
extern double per_D=20;
extern double slow=20;
extern double zoneBUY=20;
extern double zoneSELL=80;
extern double Magicbuy=555;
外置双倍Magicsell=556;
double openpricebuy,openpricesell,lotbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep,
ticketbuy,ticketell,maxLot,free,balance,lotell,lotbuy,dig,sig_buy,sig_sell,ask,bid。
int OrdersTotalMagicbuy(int Magicbuy)
{
int j=0;
int r;
for (r=0;r<OrdersTotal();r++)
{
如果(OrderSelect(r,SELECT_BY_POS,MODE_TRADES))
{
如果(OrderMagicNumber()==Magicbuy) j++;
}
}
return(j);
}
int OrdersTotalMagicsell(int Magicsell)
{
int d=0;
int n;
for (n=0;n<OrdersTotal();n++)
{
如果(OrderSelect(n,SELECT_BY_POS,MODE_TRADES))
{
如果(OrderMagicNumber()==Magicsell) d++;
}
}
return(d);
}
int orderclosebuy(int ticketbuy)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderSymbol() == symbol && OrderMagicNumber() ==Magicbuy)
{
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates()。
OrderClose(ticketbuy,lotbuy2,bid,3,Magenta)。
}
}
lotsbuy2=lotsbuy;返回(0)。
}
int orderclosesell(int ticketsell)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderSymbol() == symbol && OrderMagicNumber() ==Magicsell)
{
ticketsell=OrderTicket();OrderSelect(t ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() 。
double ask = MarketInfo(symbol,MODE_ASK);
RefreshRates()。
OrderClose(tasksell,lotssell2,ask,3, Lime)。
}
}
lotssell2=lotssell;返回(0)。
}
int start()
{
//----
double profitbuy=0;double profitsell=0;
字符串 = OrderSymbol();
double spread = MarketInfo(symbol,MODE_SPREAD);
double minLot = MarketInfo(symbol,MODE_MINLOT);
如果(minLot==0.01){dig=2;maxLot=MarketInfo(symbol,MODE_MAXLOT);}。
如果(minLot==0.1){dig=1;maxLot=((AccountBalance()/2)/1000); }
如果(OrdersTotalMagicbuy(Magicbuy)>0)
{
double smbuy;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)。
如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magicbuy)
{
ticketbuy = OrderTicket(); OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);
smbuy = smbuy+OrderLots();openpricebuy = OrderOpenPrice(); lastlotbuy = OrderLots()。
}
}
{
如果(smbuy+(NormalizeDouble((lastlotbuy*mult),dig))<maxLot)
{
如果(StepMode==0)
{
如果(Ask<=openpricebuy-step*Point)
{
lotsbuy2=lastlotbuy*mult;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotbuy2,dig),Ask,3,0,0, "MartingailExpert", Magicbuy,0,Blue)。
}
}
如果(StepMode==1)
{
如果(Ask<=openpricebuy-(step+OrdersTotalMagicbuy(Magicbuy)+OrdersTotalMagicbuy(Magicbuy)-2) *Point)
{
lotsbuy2=lastlotbuy*mult;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotbuy2,dig),Ask,3,0,0, "MartingailExpert", Magicbuy,0,Blue)。
}
}
}
}
}
如果(OrdersTotalMagicsell(Magicsell)>0)
{
双倍的smsell。
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)。
如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magicsell)
{
ticketsell = OrderTicket();OrderSelect(t ticketsell,SELECT_BY_TICKET, MODE_TRADES)。
smsell = smsell + OrderLots();openpricesell = OrderOpenPrice();lastlotsell = OrderLots()。
}
}
{
如果(smsell+(NormalizeDouble((lastlotsell*mult),dig))<maxLot)
{
如果(StepMode==0)
{
如果(Bid>=openpricesell+step*Point)
{
lotssell2=lastlotsell*mult;
RefreshRates();t ticketsell=OrderSend(Symbol(),OP_SELL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red) 。
}
}
如果(StepMode==1)
{
如果(Bid>=openpricesell+(step+OrdersTotalMagicsell(Magicsell)+OrdersTotalMagicsell(Magicsell)-2)*Point)
{
lotssell2=lastlotsell*mult;
RefreshRates();t ticketsell=OrderSend(Symbol(),OP_SELL,NormalizeDouble(lotssell2,dig),Bid,3,0,0, "MartingailExpert",Magicsell,0,Red) 。
}
}
}
}
}
//xm7修改,改变信号产生的方式。旧代码在最后
double Stoch_0 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,0) 。
double Stoch_1 = iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1);
如果(OrdersTotalMagicbuy(Magicbuy)<1)
{
如果(Stoch_0 > zoneBUY && Stoch_1 <= zoneBUY)
ticketbuy = OrderSend(Symbol(),OP_BUY,lotbuy,Ask,3,0,0, "MartingailExpert",Magicbuy,0,Blue) 。
}
如果(OrdersTotalMagicsell(Magicsell)<1)
{
如果(Stoch_0 = zoneSELL)
ticketsell = OrderSend(Symbol(),OP_SELL,lotssell,Bid,3,0,0, "MartingailExpert",Magicsell,0,Red);
}
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderSymbol()==Symbol() && OrderMagicNumber() == Magicbuy)
{
ticketbuy = OrderTicket(); OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES); profitbuy = profitbuy+OrderProfit() ;
openpricebuy = OrderOpenPrice()。
}
}
tpb = (OrdersTotalMagicbuy(Magicbuy)*proffactor*Point)+openpricebuy;
double bid = MarketInfo(Symbol(),MODE_BID);
如果(profitbuy>0)
{
if (Bid>=tpb) orderclosebuy(ticketbuy);
}
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magicsell)
{
ticketsell = OrderTicket();OrderSelect(t ticketsell,SELECT_BY_TICKET, MODE_TRADES);profitell = profitsell+OrderProfit();
openpricesell = OrderOpenPrice()。
}
}
tps = openpricesell-(OrdersTotalMagicsell(Magicsell)*proffactor*Point)。
double ask = MarketInfo(Symbol(),MODE_ASK);
如果(profitell>0)
{
如果(Ask<=tps)orderclosesell(t ticketsell)。
}
free = AccountFreeMargin();balance = AccountBalance()。
for (cnt=0;cnt< OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)。
如果(OrderSymbol()==Symbol() && OrderMagicNumber() == Magicbuy) ticketbuy = OrderTicket();
如果(OrderSymbol()==Symbol() && OrderMagicNumber() ==Magicsell) ticketsell = OrderTicket()。
}
如果(OrdersTotalMagicbuy(Magicbuy)==0)
{
profitbuy=0;ticketbuy=0;tpb=0。
}
如果(OrdersTotalMagicsell(Magicsell)==0)
{
profitsell=0;ticketell=0;TPS=0。
}
Comment("FreeMargin = ",NormalizeDouble(free,0)," Balance = ",NormalizeDouble(balance,0)," maxLot = ",NormalizeDouble(maxLot,dig), "/n",
"Totalbuy = ",OrdersTotalMagicbuy(Magicbuy)," Lot = ",smbuy," Totalsell = ",OrdersTotalMagicsell(Magicsell)," Lot = ",smsell,"\n",
"---------------------------------------------------------------","\n","Profitbuy = ",profitbuy,"\n",
"Profitsell = ",profitell)。
//----
for(int ii=0; ii<2; ii+=2)
{
ObjectDelete("rect "+ii);
ObjectCreate("rect "+ii,OBJ_HLINE, 0, 0,tps);
ObjectSet("rect "+ii, OBJPROP_COLOR, Red);
ObjectSet("rect "+ii, OBJPROP_WIDTH, 1);
ObjectSet("rect "+ii, OBJPROP_RAY, False);
}
for(int rr=0; rr<2; rr+=2)
{
ObjectDelete("rect1"+rr);
ObjectCreate("rect1"+rr,OBJ_HLINE, 0, 0,tpb);
ObjectSet("rect1"+rr, OBJPROP_COLOR, Blue);
ObjectSet("rect1"+rr, OBJPROP_WIDTH, 1);
ObjectSet("rect1"+rr, OBJPROP_RAY, False);
}
return(0);
}...
这可能有几个原因,但最常见的是:
你好!
谁能告诉我,为什么我不能在订单发送票中插入止损?
当我插入它时,EA就不工作了!
谢谢!大家好,我想知道 如何在图表上获得最新的当前价格?我知道这是一个新手,但我似乎找不到答案。请帮助。谢谢。
谢谢。
特伦斯
...
取决于哪一个。
大家好,我想检查一下我如何在图表上获得最新的当前价格?我知道这是一个新手,但我似乎找不到答案。请帮助。谢谢。
监管
特伦斯嗨,Mladen,我想做的是一个检查。例如,如果当前价格高于SMA100,我将放大到一个较低的时间框架,只看买入信号。但如果我使用买入价或卖出价,系统就不能决定我目前是看多还是看空,因为买入价我应该看多,反之则看卖出价(如果我错了请纠正我)。
我心中的概念与检查部分的3只鸭子交易系统有些类似。请在此给我建议。谢谢。
谢谢
特伦斯
要看是哪一个: 。
...
特伦斯
在这种情况下,使用Close[0]。几乎所有的EA都在使用close来达到这个目的,所以我想它也会对你有用。
你好,Mladen,我想做的是一个检查。例如,如果当前价格高于SMA100,我将放大到一个较低的时间框架,只看买入信号。但是,如果我使用买入价或卖出价,系统不能决定我目前是看多还是看空,因为买入价我应该看多,反之则是看空(如果我错了,请纠正我)。
我心中的概念与检查部分的3只鸭子交易系统有些类似。请在此给我建议。谢谢。
谢谢
特伦斯EA不在价格变动之间运行
我注意到我的EA没有在M1时间段的价格变动之间运行。我知道EA会在每一个tick 进来的时候 被执行。
但我看到它是在每一个新条形开始时执行的。
我是不是理解错了?
有什么方法可以强制EA在每一个点位进入时执行吗?
我试图通过使用利润和亏损来控制我的利润和亏损, ,而不是用点数。 当尖峰发生时,EA在达到设定的利润或损失时不关闭订单,直到新的栏位出现。
有谁能帮助我解决这个问题?
我是EA编码的新手。
谢谢你的帮助。