Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 509

 

İnsanlar bana Martin'i kullanan robotu söylüyor.

Örneğin bir sipariş açıyorum ve robot çalışmaya devam ediyor...

 
Zolotai :

İnsanlar bana Martin'i kullanan robotu söylüyor.

Örneğin bir sipariş açıyorum ve robot çalışmaya devam ediyor...

kod tabanı
 

Merhaba. Olayların nasıl çalıştığını anlayın. Grafikten bir nesneyi silme olayı benim için ÇALIŞMAZ ( CHARTEVENT_OBJECT_DELETE ). Hem fareyle hem de Nesne Listesi aracılığıyla silindi. 600 inşa et.

Bana neyin yanlış olduğunu söyle?

Yardımdaki kodu kullanıyorum

#define KEY_NUMPAD_5 12
#define KEY_LEFT 37
#define KEY_UP 38
#define KEY_RIGHT 39
#define KEY_DOWN 40
#define KEY_NUMLOCK_DOWN 98
#define KEY_NUMLOCK_LEFT 100
#define KEY_NUMLOCK_5 101
#define KEY_NUMLOCK_RIGHT 102
#define KEY_NUMLOCK_UP 104
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
Print ( "Запущен эксперт с именем " , MQLInfoString ( MQL_PROGRAM_NAME ));
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id, // идентификатор события
const long & lparam, // параметр события типа long
const double & dparam, // параметр события типа double
const string & sparam) // параметр события типа string
{
//--- нажатие левой кнопкой мышки на графике
if (id== CHARTEVENT_CLICK )
{
Print ( "Координаты щелчка мышки на графике: x = " ,lparam, " y = " ,dparam);
}
//--- нажатие мышкой на графическом объекте
if (id== CHARTEVENT_OBJECT_CLICK )
{
Print ( "Нажатие кнопки мышки на объекте с именем '" +sparam+ "'" );
}
//--- нажатие кнопки на клавиатуре
if (id== CHARTEVENT_KEYDOWN )
{
switch ( int( lparam))
{
case KEY_NUMLOCK_LEFT: Print ( "Нажата KEY_NUMLOCK_LEFT" ); break ;
case KEY_LEFT: Print ( "Нажата KEY_LEFT" ); break ;
case KEY_NUMLOCK_UP: Print ( "Нажата KEY_NUMLOCK_UP" ); break ;
case KEY_UP: Print ( "Нажата KEY_UP" ); break ;
case KEY_NUMLOCK_RIGHT: Print ( "Нажата KEY_NUMLOCK_RIGHT" ); break ;
case KEY_RIGHT: Print ( "Нажата KEY_RIGHT" ); break ;
case KEY_NUMLOCK_DOWN: Print ( "Нажата KEY_NUMLOCK_DOWN" ); break ;
case KEY_DOWN: Print ( "Нажата KEY_DOWN" ); break ;
case KEY_NUMPAD_5: Print ( "Нажата KEY_NUMPAD_5" ); break ;
case KEY_NUMLOCK_5: Print ( "Нажата KEY_NUMLOCK_5" ); break ;
default : Print ( "Нажата какая-то неперечисленная клавиша" );
}
ChartRedraw ();
}
//--- удален объект
if (id== CHARTEVENT_OBJECT_DELETE )
{
Print ( "Удален объект с именем " ,sparam);
}
//--- создан объект
if (id== CHARTEVENT_OBJECT_CREATE )
{
Print ( "Создан объект с именем " ,sparam);
}
//--- перемещен объект или изменены координаты точек привязки
if (id== CHARTEVENT_OBJECT_DRAG )
{
Print ( "Изменение точек привязки объекта с именем " ,sparam);
}
//--- изменен текст в поле ввода графического объекта Edit
if (id== CHARTEVENT_OBJECT_ENDEDIT )
{
Print ( "Изменен текст в объекте Edit " ,sparam);
}
}


 

Forumun sevgili üyeleri, lütfen anlamama yardım edin, ben şu anki mumum, i-2 neden bir çizgi çekmek istemiyor, test cihazı çalışma sırasında duruyor.

 ObjectCreate ( "line" , OBJ_VLINE , 0 , Time [i-2], Open [ 1 ]);
 
Alexandr24 :

Forumun sevgili üyeleri, lütfen anlamama yardım edin, ben şu anki mumum, i-2 neden bir çizgi çekmek istemiyor, test cihazı koşu sırasında duruyor.


i-th'den 2 mum daha önce bir satır oluşturmaya çalışıyorsanız, çıkarmanız değil, 2 eklemeniz gerekir, çünkü Mumlar sağdan sola doğru numaralandırılmıştır, 0 geçerli çubuktur.
Henüz mevcut olmayan (-2) bir çubuğa çizgiler çizmeye çalışıyorsanız , dizi indeksi negatif olamaz. Bunu yapmak için, istediğiniz çubuğun zamanını hesaplamanız gerekir, örneğin bu Zaman[0]+2*(Zaman[0]-Zaman[1]) gibi
 
isn-88 :

i-th'den 2 mum daha önce bir satır oluşturmaya çalışıyorsanız, çıkarmanız değil, 2 eklemeniz gerekir, çünkü Mumlar sağdan sola doğru numaralandırılmıştır, 0 geçerli çubuktur.
Henüz mevcut olmayan (-2) bir çubuğa çizgiler çizmeye çalışıyorsanız, dizi indeksi negatif olamaz. Bunu yapmak için, istediğiniz çubuğun zamanını hesaplamanız gerekir, örneğin bu Zaman[0]+2*(Zaman[0]-Zaman[1]) gibi

Çok teşekkürler var olmayan bir çubuğa çizgi çekmek gerekiyordu (-2)
 
Alexandr24 :

Çok teşekkürler var olmayan bir çubuğa çizgi çekmek gerekiyordu (-2)

Neden bir fiyat var. Sonuçta, nesne zamanında inşa edilmiştir.
 
Alexandr24 :

Çok teşekkürler var olmayan bir çubuğa çizgi çekmek gerekiyordu (-2)

Rica ederim
İşte başka bir "güzel" çözüm

Time[0]+Period()*60*2 //60 переводим в секунды, 2 кол-во баров

 

Çocuklar, başlamama yardım edin. Bir sipariş açmanız gerekiyor.

input int TakeProfit = 30;

input double StartLot = 0.01;

input double summ=false; //true, открываем позиции в обе стороны

input int Slippage = 30; // установим значение проскальзывания



void OnTick()

{

if(summ) { // открываем однупозицию, покупка.

OrderSend(

Symbol(),

OP_BUY,

StartLot,

NormalizeDouble(NormalizeDouble(Ask,_Digits),_Digits),

Slippage,

0,

TakeProfit,

WindowExpertName()+" "+(string)0,

0,

0,

clrBlue

);

}else{

OrderSend(

Symbol(),

OP_BUY,

StartLot,

NormalizeDouble(NormalizeDouble(Ask,_Digits),_Digits),

Slippage,

0,

TakeProfit,

WindowExpertName()+" "+(string)0,

0,

0,

clrBlue

);

OrderSend(

Symbol(),

OP_SELL,

StartLot,

NormalizeDouble(NormalizeDouble(Bid,_Digits),_Digits),

Slippage,

0,

TakeProfit,

WindowExpertName()+" "+(string)0,

0,

0,

clrBlue

);

}

}

Çalışmıyor, sorun ne?

Basitçe bir pozisyon açacak bir kod yazın. Tek gereken bu...

 
Zolotai :

Çocuklar, başlamama yardım edin. Bir sipariş açmanız gerekiyor.

Çalışmıyor, sorun ne?

Basitçe bir pozisyon açacak bir kod yazın. Tek gereken bu...


Bir sipariş gönderirken TakeProfit yanlış belirtildi. Kâr nanopips sayısını değil, fiyatı belirtmelisiniz. Ask+TakeProfit*Puan() için doğru
Sor, Teklifin normalleştirilmesine gerek yok....

OrderSend(

Symbol(),

OP_BUY,

StartLot,

Ask,

Slippage,

0,

Ask+TakeProfit*Point(),

WindowExpertName()+" "+(string)0,

0,

0,

clrBlue

);