一个顾问,会在发射后在五分钟的图表上跟随汇率的情况。 - 页 5

 
做了我的代码,似乎可以编译,但它会工作吗?

int start()
{


//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Цена упала больше Delta пунктов
{
OrderSend(Symbol(),OP_BUY,Ask,5,0,Ask+TakeProfit*Point,0);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Цена выросла больше Delta пунктов
{
OrderSend(Symbol(),OP_SELL,Ask,5,0,Ask+TakeProfit*Point,0);
}
//----
return(0);
}


OrderSend(Symbol(),OP_SELL,Ask,5,0,Ask+TakeProfit*Point,0);
Эту строку вытащил из другого эксперта. А что означают в ней цифры 5 и 0?
 
你是无法弥补的,阅读帮助,都在那里。
 
最终做成了什么,这是个问题,但它不工作......:(
怎么了?

//+------------------------------------------------------------------+
//|                                                Expert-000001.mq4 |
//|                                    Copyright © 2008, salesman*** |
//|                                         http://www.forexgrand.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, salesman***"
#property link      "http://www.forexgrand.ru"
extern int StopLoss=12;                         // Stop Loss
extern int TakeProfit=3;                        // Take Profit
extern int Percent=100;                         // Объем сделки в %
extern int Delta=30;                            // Сигнал приказа в пунктах
extern string _Comment = "Money-money-money";    // Комментарий к ордеру
extern int MagicNumber =55555;                  // Order ID
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{


//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Цена упала больше Delta пунктов
{
OrderSend(Symbol(),OP_BUY,Ask,5,0,Ask*Point,0);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Цена выросла больше Delta пунктов
{
OrderSend(Symbol(),OP_SELL,Ask,5,0,Ask*Point,0);
}
//----
return(0);
}
//+------------------------------------------------------------------+
 
尽管图表上的脸部微笑......,但并不奏效。在磅上试了试。
 

FunctionOrderSend( 字符串, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

参数: 符号 - 被交易的金融工具的名称。

cmd - 贸易操作。可以是任何一个交易操作值。

量--地段的数量。

价格 - 开盘价。slippage - 市场订单(买入或卖出订单)的最大允许价格偏差。

Stoploss - 达到损失时的平仓价格(如果没有损失则为0)。

Takeeprofit - 达到盈利水平时的平仓价格(如果没有盈利水平则为0)。

comment - 订单评论文本。评论的最后部分可以由交易服务器改变。

magic - 订单的magic number。可作为用户定义的标识符。

expiration - 待定订单的到期时间。

arrow_color - 图表上开口箭头的颜色。如果缺少该参数或其值为CLR_NONE,图表上就不会显示开口箭头。

你把它放在哪里?- 你有一些片段,而不是OrderSend


#property copyright "Copyright © 2008, salesman и группа лиц "
#property link      "http://www.forexgrand.ru"
extern int StopLoss=12;                         // Stop Loss
extern int TakeProfit=3;                        // Take Profit
extern int Percent=100;                         // Объем сделки в %
extern int Delta=30;                            // Сигнал приказа в пунктах
extern int MagicNumber =55555;                  // Order ID
int  ticket;
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order #",MagicNumber,0,Green);

 

那么这里的Ask*Point 的计算结果是什么呢。

OrderSend(Symbol(),OP_SELL,Ask,5,0,Ask*Point,0);
???
 
由于某些原因,我没有...... 工作。
这里是完整的代码。
//+------------------------------------------------------------------+
//|                                                Expert-000001.mq4 |
//|                                    Copyright © 2008, salesman*** |
//|                                         http://www.forexgrand.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, salesman***"
#property link      "http://www.forexgrand.ru"
extern int StopLoss=12;                          // Stop Loss
extern int TakeProfit=3;                         // Take Profit
extern int Percent=70;                           // Объем сделки в %
extern int Slippage = 3;                         // Максимальное отклонение от запрошенной цены
extern int Delta=2;                              // Сигнал приказа в пунктах
extern string _Comment = "Money-money-money";    // Комментарий к ордеру
extern int MagicNumber =55555;                   // Order ID
int  ticket;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{


//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Цена упала больше Delta пунктов
{
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order #",MagicNumber,0,Green);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Цена выросла больше Delta пунктов
{
ticket=OrderSend(Symbol(),OP_SELL,1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order #",MagicNumber,0,Green);
}
//----
return(0);
}
//+------------------------------------------------------------------+


为了进行快速测试,我设置了Delta=2

外来的int Delta=2。


也许你可以实现这一点来理解错误。

//+------------------------------------------------------------------+
bool IsCondition()
  {
   bool result=true;
   string field="     ";
   string msg;
   string title="Ошибка"; if (AccountNumber()>0)title=AccountNumber()+": "+title;
   if (!IsConnected())
     {
      msg=msg+"Связь с сервером отсутствует"+field;
      result=false;
     }
   if (!IsTradeAllowed())
     {
      if (!result) msg=msg+"\n";
      msg=msg+"Торговля запрещена"+field;
      result=false;
     }
   if (!result) MessageBox(msg,title,MB_OK|MB_ICONERROR);
   return(result);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ShowError()
  {
   string description;
   int err=GetLastError();
   switch(err)
     {
      case   0: return;
      case   1: description="Нет ошибки, но результат неизвестен"; break;
      case   2: description="Общая ошибка"; break;
      case   3: description="Неправильные параметры"; break;
      case   4: description="Торговый сервер занят"; break;
      case   5: description="Старая версия клиентского терминала"; break;
      case   6: description="Нет связи с торговым сервером"; break;
      case   7: description="Недостаточно прав"; break;
      case   8: description="Слишком частые запросы"; break;
      case   9: description="Недопустимая операция нарушающая функционирование сервера"; break;
      case  64: description="Счет заблокирован"; break;
      case  65: description="Неправильный номер счета"; break;
      case 128: description="Истек срок ожидания совершения сделки"; break;
      case 129: description="Неправильная цена"; break;
      case 130: description="Неправильные стопы"; break;
      case 131: description="Неправильный объем"; break;
      case 132: description="Рынок закрыт"; break;
      case 133: description="Торговля запрещена"; break;
      case 134: description="Недостаточно денег для совершения операции"; break;
      case 135: description="Цена изменилась"; break;
      case 136: description="Нет цен"; break;
      case 137: description="Брокер занят"; break;
      case 138: description="Новые цены"; break;
      case 139: description="Ордер заблокирован и уже обрабатывается"; break;
      case 140: description="Разрешена только покупка"; break;
      case 141: description="Слишком много запросов"; break;
      case 145: description="Модификация запрещена, так как ордер слишком близок к рынку"; break;
      case 146: description="Подсистема торговли занята"; break;
      case 147: description="Использование даты истечения ордера запрещено брокером"; break;
      default : description="Неизвестная ошибка"; break;
     }
   string field="     ";
   string msg="Ошибка #"+err+" "+description+field;
   string title="Ошибка"; if (AccountNumber()>0)title=AccountNumber()+": "+title;
   MessageBox(msg,title,MB_OK|MB_ICONERROR);
  }
// End
//+------------------------------------------------------------------+
 
salesman77:
由于某些原因,它对我不起作用......
以下是完整的代码。
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Цена упала больше Delta пунктов
{
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order #",MagicNumber,0,Green);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Цена выросла больше Delta пунктов
{
ticket=OrderSend(Symbol(),OP_SELL,1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"My order #",MagicNumber,0,Green);
}
//----
return(0);
}
//+------------------------------------------------------------------+


事实上,买入和卖出的OrderSend的写法略有不同。因为我们以卖价买入,以买价卖出!也是以站为单位关门...和你在一起--所有的价格都是一样的......。
此外,lot=1打算在这里工作。你的存款是否与这个规模相符?日志上又是怎么说的--为什么不工作了?
 

你不知道买入价和卖出价之间的区别,你不明白空头和多头之间的区别。你不知道什么是止损和止盈。你不明白你已经写了什么。你正试图通过直觉来编码。谁可以帮助你???? 学习基本知识。所有问题都得到了回答。我不认为引用教科书有什么意义。

 
salesman77:
由于某些原因,它对我不起作用......
为了进行快速测试,我设置了Delta=2

外来的int Delta=2。


为了什么?你知道如何使用测试器吗?

我曾经认识一个人。他已经做了一年的外汇交易,他仍然认为多头头寸就是在市场上停留很长时间。而空头头寸是一种,比如说,一个小人物的头寸。

你怎么看?