Lansmandan sonra aşağıdaki koşullarla beş dakikalık bir çizelgenin seyrini takip edecek bir Uzman Danışman: - sayfa 5

 
Kodumu yaptım, derleniyor gibiydi ama işe yarayacak mı?

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?
 
Onarılamazsın, yardımı oku, her şey orada.
 
Sonunda, ne yaptım, bu bir şey, ama işe yaramıyor ...... :(
Sorun nedir?

//+------------------------------------------------------------------+
//|                                                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);
}
//+------------------------------------------------------------------+
 
Grafikteki yüz gülümsese de ...... çalışmıyor. Pound üzerinde denedim.
 

OrderSend işlevi ( dize sembolü, int cmd, çift hacim, çift fiyat, int kayması, çift stoploss, çift kâr alma, dize yorumu=NULL, int magic=0, datetime son kullanma=0, color arrow_color=CLR_NONE)

Parametreler: sembol - Ticaret işleminin gerçekleştirildiği finansal aracın adı.

cmd - Ticaret işlemi. Ticari işlem değerlerinden herhangi biri olabilir.

hacim - Parti sayısı.

fiyat - Açılış fiyatı. kayma - Piyasa emirleri (alış veya satış emirleri) için izin verilen maksimum fiyat sapması.

stoploss - Kayıp seviyesine ulaşıldığında pozisyon kapanış fiyatı (zarar seviyesi yoksa 0).

Takeprofit - Kar seviyesine ulaşıldığında pozisyon kapanış fiyatı (eğer kâr seviyesi yoksa 0).

yorum - Yorum metni sipariş edin. Yorumun son kısmı ticaret sunucusu tarafından değiştirilebilir.

magic - Siparişin sihirli numarası. Kullanıcı tanımlı bir tanımlayıcı olarak kullanılabilir.

sona erme - Bekleyen siparişin sona erme tarihi.

ok_color - Grafikteki açılış okunun rengi. Parametre yoksa veya değeri CLR_NONE'a eşitse, açılış oku grafikte görüntülenmez.

Nerede var? - OrderSend yerine bir tür saplamanız var


 #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 ) ;

 

Ve burada Ask*Puan hesaplamasının sonucu ne olacak:

 OrderSend ( Symbol () , OP_SELL , Ask , 5 , 0 , Ask * Point , 0 ) ;
???
 
Nedense bende çalışmıyor....
İşte tam kod:
//+------------------------------------------------------------------+
//|                                                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);
}
//+------------------------------------------------------------------+


Hızlı test için Delta=2 olarak ayarladım

dış int Delta=2;


Belki bir şekilde hataları anlamak için bunu uygulayabilirsiniz:

//+------------------------------------------------------------------+
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 :
Nedense bende çalışmıyor....
İşte tam kod:
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);
}
//+------------------------------------------------------------------+


Genel olarak, alış ve satış için OrderSend biraz farklı yazılır. Çünkü Alış fiyatından alıp Alış fiyatından satıyoruz! Ve ayak sesleri de kapanıyor ... Seninle - her şey aynı fiyata ...
Ayrıca lot = 1 bazında iş sağlar. Bu tutara eşit bir depozitonuz var mı? Ve günlükte ne yazıyor - neden çalışmıyor?
 

Bid ve Ask arasındaki farkı bilmiyorsunuz, kısa ve uzun pozisyon arasındaki farkı anlamıyorsunuz. Zarar Durdur ve Kâr Al'ın ne olduğu hakkında hiçbir fikriniz yok. Daha önce yazdıklarını anlamıyorsun. Rastgele kodlamaya çalışıyorsunuz. Sana kim yardım edebilir???? Mat öğrenin. Bölüm. Tüm sorular cevaplandı. Ders kitabından alıntı yapmanın amacını göremiyorum.

 
salesman77 :
Nedense bende çalışmıyor....
Hızlı test için Delta=2 olarak ayarladım

dış int Delta=2;


Ne için? Test cihazı kullanmayı biliyor musunuz?

Bir erkek arkadaşım vardı. Bir yıldır forex ticareti yapıyordu ve hala uzun bir pozisyonun piyasada uzun süredir var olan bir pozisyon olduğunu düşünüyordu. Ve kısa olanı - "peki, pips gibi, falan ..."!

Ve sen ne düşünüyorsun?

Neden: