如何编码? - 页 109 1...102103104105106107108109110111112113114115116...347 新评论 RonaldRaygun 2008.07.07 16:16 #1081 管理多个交易 大家好。 我想开发一个EA,理论上可以进入无限多的交易,并对每笔交易进行管理。 追踪止损 移动到BE ATR-移动止损 等等 我知道像swiss army和manageTP这样的EA可以做到。我不知道怎么做。 有什么建议吗? rarango 2008.07.16 11:44 #1082 需要帮助编写亏损后停止交易的代码 你好。 我需要编写代码,使专家在一次亏损或连续两次或三次亏损后停止交易一定的时间。 有人能帮助我吗? jawas_ftsm 2008.07.21 04:00 #1083 对冲关闭的Mtinggle的编码 嗨,团队。 我想寻求一个可以为我提供以下策略的解决方案的代码。 例子。 马丁格尔概念 TP = 23点 点差=20 OP买入欧盟0.1,0.2,0.4,0.8,1.6手 1.如果1,6手的层浮动超过-20点,那么OP用12.8手卖出欧盟(TP 23)。 2.如果12.8手的层数达到了TP,则关闭所有的欧盟仓位。 3.如果12.8手pip=0,那么只关闭卖出欧盟的头寸。 4.如果条件适用,再次重复情况1至3。 需要您的帮助,给我提供功能 和代码方面的建议。 [删除] 2008.07.22 21:05 #1084 编码问题 现在,这段代码的工作原理是检查 当前的开盘价是否高于前一栏。我的问题是,如果我想让它看是否高于或等于前一栏,我该如何改变它? 如果(Open[0] > Open[0+1] &&) Open[0+1]>Open[0+2]&&。 Open[0+2]> Open[0+3] && 打开[0+3]>打开[0+4]&&。 打开[0+4]>打开[0+5]&&。 Open[0+5] > Open[0+6])订单 = SIGNAL_SELL 我是否只需在大于号旁边加一个=,像这样=>? 谢谢! oneg 2008.07.22 21:25 #1085 试试这个。 if(Open[0] => Open[0+1] && Open[0+1] => Open[0+2] && Open[0+2]=> Open[0+3] && Open[0+3] => Open[0+4] && Open[0+4] => Open[0+5] && Open[0+5] => Open[0+6]) Order = SIGNAL_SELL cooltrader28yahoocom 2008.07.22 21:31 #1086 反向专家顾问信号 嗨 我只是在玩这个专家顾问 #property copyright "FORTRADER.RU" #property link "http://FORTRADER.RU" /* ????????? ???????? ?????????? ????????? ???????? ? ?????? ??????? ?? 26 ??? 2008, ??????????? ? ?????? ?? ????? ???? ?????? ? ????? ????????????: letters@fortrader.ru http://www.fortrader.ru/arhiv.php A detailed description of the parameters adviser available issue of the journal dated May 26 2008, suggestions and feedback we will be glad to see in our e-mail: letters@fortrader.ru http://www.fortrader.ru/arhiv.php */ extern string x="????????? MACD:"; extern int FastEMA = 12; extern int SlowEMA = 24; int SignalEMA = 9; extern int predel = 6; extern string x1="????????? MA:"; extern int SMA1 = 50; extern int SMA2 = 100; extern int otstup = 10; extern string x2="???????? ????? ??? ??????? ????-???? :"; extern int stoplossbars = 6; extern string x3="??????????? ??? ??????? ?????? ?????? ? ???????? ???????? ???????:"; extern int pprofitum = 2; extern string x4="?????? ?? ADX:"; extern int enable = 0; extern int periodADX = 14; extern double Lots=1; datetime Bar;int buy,sell,i,a,b;double stoploss,setup2,adx,okbuy,oksell; int start() { buy=0;sell=0; for( i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY){buy=1;} if(OrderType()==OP_SELL){sell=1;} } //????????? ?????????? double macd =iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,1); double sma1 =iMA(NULL,0,SMA1,0,MODE_SMA,PRICE_CLOSE,1); double sma2 =iMA(NULL,0,SMA2,0,MODE_SMA,PRICE_CLOSE,1); if(Close[1]<sma2){okbuy=1;} if(Close[1]>sma2){oksell=1;} if(enable==1) { adx=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0); }else{adx=60;} if(Close[1]+otstup*Point>sma1 && Close[1]+otstup*Point>sma2 && macd>0 && buy==0) { buy=0; for( i=predel;i>0;i--) { macd=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,i); if(macd<0){buy=2;} } if(buy==2 && adx>50 && okbuy==1) {okbuy=0; double stoploss=Low; OrderSend(Symbol(),OP_BUY,Lots,Ask,3,stoploss,0,0,16385,0,Green); a=0; } } if(Close[1]-otstup*Point<sma1 && Close[1]-otstup*Point<sma2 && macd<0 && sell==0) { sell=0; for( i=predel;i>0;i--) { macd=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,i); if(macd>0){sell=2;} } if(sell==2 && adx>50 && oksell==1) {oksell=0; stoploss=High; OrderSend(Symbol(),OP_SELL,Lots,Bid,3,stoploss,0,0,16385,0,White); b=0; } } if(buy==2 || buy==1) { for( i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY ) { double setup2=OrderOpenPrice()+((OrderOpenPrice()-OrderStopLoss())*pprofitum); if(Close[1]>setup2 && a==0) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,White); OrderClose(OrderTicket(),OrderLots()/2,Bid,3,Violet); a=1; } if(a==1 && sma1> Close[1]-otstup*Point) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); } } } } if(sell==2 || sell==1) { for( i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_SELL ) { setup2=OrderOpenPrice()-((OrderStopLoss()-OrderOpenPrice())*pprofitum); if(Close[1]<setup2 && b==0) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,White); OrderClose(OrderTicket(),OrderLots()/2,Ask,3,Violet); b=1; } if(b==1 && Close[1]-otstup*Point> sma1) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); } } } } return(0); } 我如何扭转买入和卖出订单......不能让它工作 How to code? [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Ojala EA Linuxser 2008.07.22 21:52 #1087 只需将OP_BUY改为OP_SELL,并在右侧代码线中进行反转操作。 [删除] 2008.07.22 23:40 #1088 oneg: 试试这个。 if(Open[0] => Open[0+1] && Open[0+1] => Open[0+2] && Open[0+2]=> Open[0+3] && Open[0+3] => Open[0+4] && Open[0+4] => Open[0+5] && Open[0+5] => Open[0+6]) Order = SIGNAL_SELL 这并不奏效,但把=符号放在>符号后面就奏效了。像这样。 if(Open[0] >= Open[0+1] && Open[0+1]>= Open[0+2]&&。 Open[0+2]>= Open[0+3] && Open[0+3]>=Open[0+4] &&。 打开[0+4]>=打开[0+5]&&。 Open[0+5] >= Open[0+6])订单 = SIGNAL_SELL [删除] 2008.07.23 12:32 #1089 在这段代码中,它的追踪止损设置为45点。但是移动到45点之前,移动止损似乎并没有激活。我需要如何改变它,以便在进行交易时激活移动止损? extern string Remark1 = "== Main Settings =="; extern int MagicNumber = 0; extern bool SignalMail = False; extern bool EachTickMode = true; extern double Lots = 4; extern int Slippage = 2; extern bool UseStopLoss = false; extern int StopLoss = 100; extern bool UseTakeProfit = false; extern int TakeProfit = 15; extern bool UseTrailingStop = true; extern int TrailingStop = 45; extern bool MoveStopOnce = False; extern int MoveStopWhenPrice = 50; extern int MoveStopTo = 1; extern int MaxConcurrentTrades = 2; //Version 2.01 int BarCount; int Current; bool TickCheck = False; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { BarCount = Bars; if (EachTickMode) Current = 0; else Current = 1; return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; if (EachTickMode && Bars != BarCount) TickCheck = False; Total = OrdersTotal(); Order = SIGNAL_NONE; //+------------------------------------------------------------------+ //| Variable Begin | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Variable End | //+------------------------------------------------------------------+ //Check position bool IsTrade = False; for (int i = 0; i < Total; i ++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { IsTrade = True; if(OrderType() == OP_BUY) { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Buy) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Buy) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //MoveOnce if(MoveStopOnce && MoveStopWhenPrice > 0) { if(Bid - OrderOpenPrice() >= Point * MoveStopWhenPrice) { if(OrderStopLoss() < OrderOpenPrice() + Point * MoveStopTo) { OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() + Point * MoveStopTo, OrderTakeProfit(), 0, Red); if (!EachTickMode) BarCount = Bars; continue; } } } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if(Bid - OrderOpenPrice() > Point * TrailingStop) { if(OrderStopLoss() < Bid - Point * TrailingStop) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); if (!EachTickMode) BarCount = Bars; continue; } } } } else { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Sell) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Sell) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //MoveOnce if(MoveStopOnce && MoveStopWhenPrice > 0) { if(OrderOpenPrice() - Ask >= Point * MoveStopWhenPrice) { if(OrderStopLoss() > OrderOpenPrice() - Point * MoveStopTo) { OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - Point * MoveStopTo, OrderTakeProfit(), 0, Red); if (!EachTickMode) BarCount = Bars; continue; } } } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) { if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange); if (!EachTickMode) BarCount = Bars; continue; } } } } } } 问吧! ICustom函数 基本问题... cooltrader28yahoocom 2008.07.23 17:58 #1090 反向专家顾问信号 谁能在skype上帮助我改变1个专家顾问的一些代码? 我可能找到了一个非常好的。只是有一点需要改变。 我的skype是:ctzulu 非常感谢 1...102103104105106107108109110111112113114115116...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
管理多个交易
大家好。
我想开发一个EA,理论上可以进入无限多的交易,并对每笔交易进行管理。
我知道像swiss army和manageTP这样的EA可以做到。我不知道怎么做。
有什么建议吗?
需要帮助编写亏损后停止交易的代码
你好。
我需要编写代码,使专家在一次亏损或连续两次或三次亏损后停止交易一定的时间。
有人能帮助我吗?
对冲关闭的Mtinggle的编码
嗨,团队。
我想寻求一个可以为我提供以下策略的解决方案的代码。
例子。
马丁格尔概念
TP = 23点
点差=20
OP买入欧盟0.1,0.2,0.4,0.8,1.6手
1.如果1,6手的层浮动超过-20点,那么OP用12.8手卖出欧盟(TP 23)。
2.如果12.8手的层数达到了TP,则关闭所有的欧盟仓位。
3.如果12.8手pip=0,那么只关闭卖出欧盟的头寸。
4.如果条件适用,再次重复情况1至3。
需要您的帮助,给我提供功能 和代码方面的建议。
编码问题
现在,这段代码的工作原理是检查 当前的开盘价是否高于前一栏。我的问题是,如果我想让它看是否高于或等于前一栏,我该如何改变它?
如果(Open[0] > Open[0+1] &&)
Open[0+1]>Open[0+2]&&。
Open[0+2]> Open[0+3] &&
打开[0+3]>打开[0+4]&&。
打开[0+4]>打开[0+5]&&。
Open[0+5] > Open[0+6])订单 = SIGNAL_SELL
我是否只需在大于号旁边加一个=,像这样=>?
谢谢!
试试这个。
if(Open[0] => Open[0+1] &&
Open[0+1] => Open[0+2] &&
Open[0+2]=> Open[0+3] &&
Open[0+3] => Open[0+4] &&
Open[0+4] => Open[0+5] &&
Open[0+5] => Open[0+6]) Order = SIGNAL_SELL
反向专家顾问信号
嗨
我只是在玩这个专家顾问
#property link "http://FORTRADER.RU"
/*
????????? ???????? ?????????? ????????? ???????? ? ?????? ??????? ?? 26 ??? 2008,
??????????? ? ?????? ?? ????? ???? ?????? ? ????? ????????????: letters@fortrader.ru
http://www.fortrader.ru/arhiv.php
A detailed description of the parameters adviser available issue of the journal dated May 26 2008,
suggestions and feedback we will be glad to see in our e-mail: letters@fortrader.ru
http://www.fortrader.ru/arhiv.php
*/
extern string x="????????? MACD:";
extern int FastEMA = 12;
extern int SlowEMA = 24;
int SignalEMA = 9;
extern int predel = 6;
extern string x1="????????? MA:";
extern int SMA1 = 50;
extern int SMA2 = 100;
extern int otstup = 10;
extern string x2="???????? ????? ??? ??????? ????-???? :";
extern int stoplossbars = 6;
extern string x3="??????????? ??? ??????? ?????? ?????? ? ???????? ???????? ???????:";
extern int pprofitum = 2;
extern string x4="?????? ?? ADX:";
extern int enable = 0;
extern int periodADX = 14;
extern double Lots=1;
datetime Bar;int buy,sell,i,a,b;double stoploss,setup2,adx,okbuy,oksell;
int start()
{
buy=0;sell=0;
for( i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){buy=1;}
if(OrderType()==OP_SELL){sell=1;}
}
//????????? ??????????
double macd =iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,1);
double sma1 =iMA(NULL,0,SMA1,0,MODE_SMA,PRICE_CLOSE,1);
double sma2 =iMA(NULL,0,SMA2,0,MODE_SMA,PRICE_CLOSE,1);
if(Close[1]<sma2){okbuy=1;}
if(Close[1]>sma2){oksell=1;}
if(enable==1)
{
adx=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);
}else{adx=60;}
if(Close[1]+otstup*Point>sma1 && Close[1]+otstup*Point>sma2 && macd>0 && buy==0)
{
buy=0;
for( i=predel;i>0;i--)
{
macd=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,i);
if(macd<0){buy=2;}
}
if(buy==2 && adx>50 && okbuy==1)
{okbuy=0;
double stoploss=Low;
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,stoploss,0,0,16385,0,Green);
a=0;
}
}
if(Close[1]-otstup*Point<sma1 && Close[1]-otstup*Point<sma2 && macd<0 && sell==0)
{
sell=0;
for( i=predel;i>0;i--)
{
macd=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,i);
if(macd>0){sell=2;}
}
if(sell==2 && adx>50 && oksell==1)
{oksell=0;
stoploss=High;
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,stoploss,0,0,16385,0,White);
b=0;
}
}
if(buy==2 || buy==1)
{
for( i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY )
{
double setup2=OrderOpenPrice()+((OrderOpenPrice()-OrderStopLoss())*pprofitum);
if(Close[1]>setup2 && a==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,White);
OrderClose(OrderTicket(),OrderLots()/2,Bid,3,Violet);
a=1;
}
if(a==1 && sma1> Close[1]-otstup*Point)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
}
}
}
}
if(sell==2 || sell==1)
{
for( i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL )
{
setup2=OrderOpenPrice()-((OrderStopLoss()-OrderOpenPrice())*pprofitum);
if(Close[1]<setup2 && b==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,White);
OrderClose(OrderTicket(),OrderLots()/2,Ask,3,Violet);
b=1;
}
if(b==1 && Close[1]-otstup*Point> sma1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
}
}
}
return(0);
}我如何扭转买入和卖出订单......不能让它工作
只需将OP_BUY改为OP_SELL,并在右侧代码线中进行反转操作。
试试这个。
if(Open[0] => Open[0+1] &&
Open[0+1] => Open[0+2] &&
Open[0+2]=> Open[0+3] &&
Open[0+3] => Open[0+4] &&
Open[0+4] => Open[0+5] &&
Open[0+5] => Open[0+6]) Order = SIGNAL_SELL
这并不奏效,但把=符号放在>符号后面就奏效了。像这样。
if(Open[0] >= Open[0+1] &&
Open[0+1]>= Open[0+2]&&。
Open[0+2]>= Open[0+3] &&
Open[0+3]>=Open[0+4] &&。
打开[0+4]>=打开[0+5]&&。
Open[0+5] >= Open[0+6])订单 = SIGNAL_SELL
在这段代码中,它的追踪止损设置为45点。但是移动到45点之前,移动止损似乎并没有激活。我需要如何改变它,以便在进行交易时激活移动止损?
extern string Remark1 = "== Main Settings ==";
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = true;
extern double Lots = 4;
extern int Slippage = 2;
extern bool UseStopLoss = false;
extern int StopLoss = 100;
extern bool UseTakeProfit = false;
extern int TakeProfit = 15;
extern bool UseTrailingStop = true;
extern int TrailingStop = 45;
extern bool MoveStopOnce = False;
extern int MoveStopWhenPrice = 50;
extern int MoveStopTo = 1;
extern int MaxConcurrentTrades = 2;
//Version 2.01
int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;
if (EachTickMode) Current = 0; else Current = 1;
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;
if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
Order = SIGNAL_NONE;
//+------------------------------------------------------------------+
//| Variable Begin |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Variable End |
//+------------------------------------------------------------------+
//Check position
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
IsTrade = True;
if(OrderType() == OP_BUY) {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//MoveOnce
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(Bid - OrderOpenPrice() >= Point * MoveStopWhenPrice) {
if(OrderStopLoss() < OrderOpenPrice() + Point * MoveStopTo) {
OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() + Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//MoveOnce
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(OrderOpenPrice() - Ask >= Point * MoveStopWhenPrice) {
if(OrderStopLoss() > OrderOpenPrice() - Point * MoveStopTo) {
OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
反向专家顾问信号
谁能在skype上帮助我改变1个专家顾问的一些代码?
我可能找到了一个非常好的。只是有一点需要改变。
我的skype是:ctzulu
非常感谢