init() içinde yazmak daha iyidir ve yazmamak daha iyidir
ve sonra start() içinde
Bilim için teşekkürler.Yine de, soru açık kalıyor.İşe yarayana kadar fiyat için fraktallar boyunca izlenecek (değiştirilecek) satın alma durağına ihtiyacım var ve satış durağı da aynı şekilde.
Petiyashaket : Bilim için teşekkürler.Yine de, soru açık kalıyor.İşe yarayana kadar fiyat için fraktallar boyunca izlenecek (değiştirilecek) satın alma durağına ihtiyacım var ve satış durağı da aynı şekilde.
Peki ya kodunuzdaki kırmızıyla vurgulanan soru
if (Up> 0 &&Down== 0 &&Volume[ 0 ]< 2 ) //если верхний фрактал есть а нижнего нету и прошло не больше 2х тиков то:
{
if ((High[ 3 ]+ 5 * Point -Ask)/ Point >MarketInfo( Symbol (),MODE_STOPLEVEL)) //если расстояние 0 бара от хая фрактала позволяет то:OrderSend ( Symbol (),OP_BUYSTOP,Lot,High[ 3 ]+ 5 * Point , 20 ,High[ 3 ]-sl,High[ 3 ]+tp, NULL ,Magic, 0 ,Green); //выставляем отложенный на покупкуelse {BS=High[ 3 ]+ 5 * Point ; Print ( "Виртуальный BS:" ,BS);} // а ели нет то запоминаем(позже будет добавлен вход с рынка){ // К чему относится эта скобка???
for ( int pos= 0 ;pos== OrdersTotal ();pos++)
OrderSelect (pos,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic&&OrderSymbol()== Symbol ()&&OrderType()==OP_BUYSTOP)
{
OrderModify(OrderTicket(),Up+ 5 * Point ,High[ 3 ]-sl,High[ 3 ]+tp, 0 ,CLR_NONE);
}
} // это пара к той...}
hiç cevap vermedi. Ve bundan, kodu çalıştırmanın sonucu farklı olacaktır.
Petiyashaket : Oleg Remizov YouTube'da böyle öğretiyor, bu durum haberlerde ticareti ve geyik yakalamayı sınırlıyor :)
Remizov hakkında bir şey söylemek istemiyorum. Ancak kodunuz çubukları atlarsa alınmayın. Tamam, eğer dakikalarsa (elbette hangi zaman dilimini belirlersiniz), ancak saatler ve daha eskileri kullanıyorsanız, yalnızca sempati duymanız gerekir.
Petiyashaket : parantez ile her şekilde denendi silinip eklendi sonuç aynı
Evet, denemenize gerek yok, bu parantezlerin anlamını ve nasıl uygulanacağını net bir şekilde anlamanız gerekiyor. Bu belgelerde yazılı, ders vermeyeceğim.
if (Up> 0 &&Down== 0 &&Volume[ 0 ]< 2 ) //если верхний фрактал есть а нижнего нету и прошло не больше 2х тиков то:
{
if ((High[ 3 ]+ 5 * Point -Ask)/ Point >MarketInfo( Symbol (),MODE_STOPLEVEL)) //если расстояние 0 бара от хая фрактала позволяет то:OrderSend ( Symbol (),OP_BUYSTOP,Lot,High[ 3 ]+ 5 * Point , 20 ,High[ 3 ]-sl,High[ 3 ]+tp, NULL ,Magic, 0 ,Green); //выставляем отложенный на покупкуelse {BS=High[ 3 ]+ 5 * Point ; Print ( "Виртуальный BS:" ,BS);} // а ели нет то запоминаем(позже будет добавлен вход с рынка)for ( int pos= 0 ;pos== OrdersTotal ();pos++)
{ // наверное сюда её надо
OrderSelect (pos,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic&&OrderSymbol()== Symbol ()&&OrderType()==OP_BUYSTOP)
{
OrderModify(OrderTicket(),Up+ 5 * Point ,High[ 3 ]-sl,High[ 3 ]+tp, 0 ,CLR_NONE);
}
} // это пара к той...}
Ama bu sadece kodun bir parçası. Sonra benzer bir yanlış anlama var.
//+------------------------------------------------------------------+//| Strategy 3.mq4 |//| |//| |//+------------------------------------------------------------------+#property copyright""#property link""#include <Library1.mqh>
externint Magic= 111 ;
externint TP= 20 ;
externint SL= 30 ;
externint Trall_dist= 10 ;
externint Shag= 10 ;
externbool Isp_shag= false ;
externbool Isp_bezubitok= false ;
externdouble Lot= 0.1 ;
double SS= 0 ,BS= 0 ;
//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
//----//----return ( 0 );
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//----//----return ( 0 );
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
double tp,sl;
if ( Digits == 3 || Digits == 5 ) {tp=TP* 10 * Point ;sl=SL* 10 * Point ;}
elseif ( Digits == 2 || Digits == 4 ) {tp=TP* Point ;sl=SL* Point ;}
double Up= iFractals ( Symbol (), 0 ,MODE_UPPER, 3 );
double Down= iFractals ( Symbol (), 0 ,MODE_LOWER, 3 );
//----if (Up> 0 &&Down== 0 &&Volume[ 0 ]< 2 )
{
if ((High[ 3 ]+ 5 * Point -Ask)/ Point >MarketInfo( Symbol (),MODE_STOPLEVEL))
OrderSend ( Symbol (),OP_BUYSTOP,Lot,High[ 3 ]+ 5 * Point , 20 ,High[ 3 ]-sl,High[ 3 ]+tp, NULL ,Magic, 0 ,Green);
//---- for ( int pos= 0 ;pos== OrdersTotal ();pos++)
{
OrderSelect (pos,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic&&OrderSymbol()== Symbol ()&&OrderType()==OP_BUYSTOP)
{
OrderModify(OrderTicket(),High[ 3 ]+ 5 * Point ,High[ 3 ]-sl,High[ 3 ]+tp, 0 ,CLR_NONE);
}
}
}
elseif (Up== 0 &&Down> 0 &&Volume[ 0 ]< 2 )
{
if ((Bid-Low[ 3 ]- 5 * Point )/ Point >MarketInfo( Symbol (),MODE_STOPLEVEL))
OrderSend ( Symbol (),OP_SELLSTOP,Lot,Low[ 3 ]- 5 * Point , 20 ,Low[ 3 ]+sl,Low[ 3 ]-tp, NULL ,Magic, 0 ,Red);
for (pos=0;pos== OrdersTotal ();pos++)
{
OrderSelect (pos,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber()==Magic&&OrderSymbol()== Symbol ()&&OrderType()==OP_SELLSTOP)
{
OrderModify(OrderTicket(),Low[ 3 ]- 5 * Point ,Low[ 3 ]+sl,Low[ 3 ]-tp, 0 ,CLR_NONE);
}
}
}
if ( OrdersTotal ()> 0 )
Trailing_stop(Magic, Symbol (),Trall_dist,Shag,Isp_shag,Isp_bezubitok);
return ( 0 );
}
//+------------------------------------------------------------------+
işte tam bir kopya, sadece for sayacını anlamıyorum, çünkü onu sondaki duraktan kopyaladım, bu yüzden durdurma kaybını fraktallara bağlayamıyorum, çünkü onları nasıl arayacağımı bilmiyorum. kısacası herşey bir döngü üzerine kurulu bir önceki koddaki gibi yorumlar yaparsanız çok minnettar kalırım.
Ve bu kod
init() içinde yazmak daha iyidir ve yazmamak daha iyidir
ve sonra start() içinde
Soruyu kaldırdım kendim çözdüm
Bilim için teşekkürler.Yine de, soru açık kalıyor.İşe yarayana kadar fiyat için fraktallar boyunca izlenecek (değiştirilecek) satın alma durağına ihtiyacım var ve satış durağı da aynı şekilde.
Peki ya kodunuzdaki kırmızıyla vurgulanan soru
hiç cevap vermedi. Ve bundan, kodu çalıştırmanın sonucu farklı olacaktır.
Peki ya kodunuzdaki kırmızıyla vurgulanan soru
hiç cevap vermedi. Ve bundan, kodu çalıştırmanın sonucu farklı olacaktır.
Bu durumda neden Volume[ 0 ]< 2 kullanıyorsunuz?
Bazen bir paket bir tık ile gelir. Ve bu çubukta durum artık çalışmayacak
Bu durumda neden Volume[ 0 ]< 2 kullanıyorsunuz?
Bazen bir paket bir tık ile gelir. Ve bu çubukta durum artık çalışmayacak
Victor, bu soru benim için değil. bu işlevi kullanıyorum
Parantezler hakkında bir soru sormak için bir kod parçası kopyaladım.
Bu durumda neden Volume[ 0 ]< 2 kullanıyorsunuz?
Bazen bir paket bir tık ile gelir. Ve bu çubukta durum artık çalışmayacak
Oleg Remizov YouTube'da böyle öğretiyor, bu durum haberlerde ticareti ve geyik yakalamayı sınırlıyor :)
Peki ya kodunuzdaki kırmızıyla vurgulanan soru
hiç cevap vermedi. Ve bundan, kodu çalıştırmanın sonucu farklı olacaktır.
parantez ile her şekilde denendi silinip eklendi sonuç aynı
Evet, denemenize gerek yok, bu parantezlerin anlamını ve nasıl uygulanacağını net bir şekilde anlamanız gerekiyor. Bu belgelerde yazılı, ders vermeyeceğim.
Ama bu sadece kodun bir parçası. Sonra benzer bir yanlış anlama var.