Ücretsiz bir mql4 danışmanı yazacağım - sayfa 3

 
Andrey Vaskin :
Bu alanda deneyim kazanmak için ilginç fikirleriniz ve stratejileriniz için ücretsiz 25 danışman yazacağım.

1. FORTS sipariş defterine bakın.


2. 1 dakika içinde kırmızı şerit mavi şeritten 3 kat * daha büyükse satın alırız. Tam tersiyse sat.


3. Satın alınan pozisyonu kapatıyoruz - 1 dakika içinde mavi çubuk kırmızı olandan 3 kat* daha fazlaysa. Satılan pozisyonu kapatıyoruz - 1 dakika içinde kırmızı çubuk mavi çubuktan 3 kat* daha büyükse.


4. Döngü tekrarlanır.

---


* 3 kez veya daha fazla anlamına gelir.

Baykuş parametrelerinde "3 kez" ve "1 dakika" belirtilmelidir.

Hala bir StopLoss'a ihtiyacınız var.

DOM resmi (alış/satış sipariş hacimleri):

Hacimler, piyasaya genel bakıştan da alınabilir:

 
Alexander Pavlov :

1. Piyasanın Derinliğine bakın.


2. 1 dakika içinde kırmızı şerit mavi şeritten 3 kat * daha büyükse satın alırız. Tam tersiyse sat.


3. Satın alınan pozisyonu kapatıyoruz - 1 dakika içinde mavi çubuk kırmızı olandan 3 kat* daha fazlaysa. Satılan pozisyonu kapatıyoruz - 1 dakika içinde kırmızı çubuk mavi çubuktan 3 kat* daha büyükse.


4. Döngü tekrarlanır.

---


* 3 kez veya daha fazla anlamına gelir.

Baykuş parametrelerinde "3 kez" ve "1 dakika" belirtilmelidir.

Hala bir StopLoss'a ihtiyacınız var.

DOM resmi (alış/satış sipariş hacimleri):

Hacimler, piyasaya genel bakıştan da alınabilir:

Bu MT5, yazar sadece MT4 altında görevler istedi.
 
Vitaly Muzichenko :

Bunlar stokastik, RSI MACD ve osilatör adı verilen diğer şeyler hakkındadır, tarihi çok güzel çizerler, ancak kardan bahsetmeden, en azından bir dengeyi koruyan tek bir danışmanla tanışmadım.

Ancak insanlar, umutla, bu işe yaramaz göstergeler üzerinde sürekli bir şeyler çalkalıyorlar.

Genel olarak, birkaç yıl boyunca bir MT sürümünden diğerine geçmeleri çok garip. Onlara kimin ihtiyacı var? Büyük olasılıkla sadece program kodunun bir örneği için, ancak insanlar bunun üzerinde ticaret yapmak için olduğunu düşünüyor)))

Çöp? Eh, çöp DEĞİL bir örnek gösterin. Yine de, bir şeyle tanışmadıysanız, bu onun var olmadığı anlamına gelmez.
 
Tapochun :
Çöp? Eh, çöp DEĞİL bir örnek gösterin. Yine de, bir şeyle tanışmadıysanız, bu onun var olmadığı anlamına gelmez.
Boşalmadığını gördüğüm tek şey şamdan kalıplarıydı.
 
Vitaly Muzichenko :
Boşalmadığını gördüğüm tek şey şamdan kalıplarıydı.
Benimki de boş değil ve bunlar senin sözlerin. ve desen yok.
 
Leanid Aladzyeu :
Benimki de boş değil ve bunlar senin sözlerin. ve desen yok.
Matematik demek istemedim. Saf bir gösterge hakkında yazdım. Seninki iyi.
 

düzeltmeye yardım et

danışman 4 bekleyen emir verir

2 satın al ve otur dur

2 alış ve satış limiti

ama her emri hangi mesafeden vereceğine dair bir fonksiyon yok, nedense limit emri fiyata alış stoptan daha yakın oturdu, onları nasıl değiştireceğimi bilmiyorum

alış limiti ve sat stop emirleri ile aynı

tüm siparişleri verdikten sonra, tetiklemeden önce takip gerçekleşir, sipariş tetiklenir tetiklenmez yenisi verilir

çok sayıda kilit çıkıyor, ancak siparişleri değiştirirseniz olumsuzlar, küçük bir artı ile olmalı


//| iiiiiiiiiiiiiiiiii_buy_sell.mq4 |

//| |

//| |

//+------------------------------------------- --------------------+

harici int N = 100; // alır ve satar (ayrı ayrı sayarız) parça stoğuna izin verir


dış çift Lot = 0,01; // çok güzelsin


harici int PROF = 100; // doğu pip kârıyla durağı takip etmeye başla

harici int TS = 200; // fiyat için pip arkasındaki gidere çekeceğiz

harici int ADIM = 200; // hançerler arasındaki mesafe

harici int TP = 10000; // siparişleri al

harici int SL = 10000; // siparişleri al

extern bool Buy = false; // sadece satın al

extern bool Sat = doğru; // sadece sat

dış çift PROSADKA = 0,5; // öz sermaye, bakiyenin bu kısmına eşit veya daha az olduğunda

harici int magicbuy = 777;

harici int magicsell = 888;


intM;

çift buystop_OP, sellstop_OP;

double selllimit_OP, buylimit_OP;


int başlangıç()

{

// ------------------------------------------------ ---------------------


// ------------------------------------------------ ---------------------

// hangi siparişlere sahip olduğumuzu görün:

intsatın al = 0,sat = 0;

int buystop = 0,sellstop = 0;

int satış limiti = 0, satın alma limiti = 0;

int alır = 0, satar = 0;

int Toplam = 0;

for(int i = 0; i < OrdersTotal(); i ++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderMagicNumber() != magicbuy && OrderMagicNumber() != magicsell) devam ediyor;

if(OrderType() == OP_BUYSTOP)

buystop = OrderTicket();

if(OrderType() == OP_BUYLIMIT)

buylimit = OrderTicket();

if(OrderType() == OP_BUYSTOP || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUY)

satın alır++;

if(OrderType() == OP_SELLSTOP)

sellstop = OrderTicket();

if(OrderType() == OP_SELLLIMIT)

selllimit = OrderTicket();

if(OrderType() == OP_SELLSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELL )

satıyor++;

Toplam++;

}

// ------------------------------------------------ ---------------------

int LET = 0;

if (AccountEquity()/AccountBalance() < PROSADKA)

LET=1; // eğer düşüşler çılgınsa - yeni para yatırma yasağı

// ------------------------------------------------ ---------------------

// gecikmeleri ayarlama :

if(LET == 0 && TimeCurrent() && M != iTime(Symbol(),1,0)) // dakikada bir

{

if ( buystop < 1 && satın alır < N && Satın Al == doğru)

{

buystop_OP = NormalizeDouble (Sor+ADIM*Puan,Rakamlar);

buystop = OrderSend(Symbol(),OP_BUYSTOP,Lots,buystop_OP,10,buystop_OP-SL*Point,buystop_OP+TP*Point,NULL,magicbuy,0,Blue);

}

if ( buylimit < 1 && satın alır < N && Satın Al == Doğru)

{

buylimit_OP = NormalizeDouble(Sor-ADIM*Puan,Rakamlar);

buylimit = OrderSend(Symbol(),OP_BUYLIMIT,Lots,buylimit_OP,100,buylimit_OP-SL*Point,buylimit_OP+TP*Point,NULL,magicbuy,0,Red);

}

if ( sellstop < 1 && satar < N && Sat == doğru)

{

sellstop_OP = NormalizeDouble(Teklif-ADIM*Puan,Rakamlar);

sellstop = OrderSend(Symbol(),OP_SELLSTOP,Lots,sellstop_OP,10,sellstop_OP+SL*Point,sellstop_OP-TP*Point,NULL,magicsell,0,Red);

}

if ( selllimit < 1 && satar < N && Sat == Doğru)

{

selllimit_OP = NormalizeDouble(Teklif+ADIM*Puan,Rakamlar);

selllimit = OrderSend(Symbol(),OP_SELLLIMIT,Lots,selllimit_OP,100,selllimit_OP+SL*Point,selllimit_OP-TP*Point,NULL,magicsell,0,Mavi);

}

M = iTime(Symbol(),1,0);

}

// ------------------------------------------------ ---------------------

// gecikmeler fiyattan TS'den daha fazlaysa, onları daha yakına sürükleyin:

if (OrderSelect(buystop,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_BUYSTOP && OrderOpenPrice() > Ask + TS*Puan)

OrderModify(buystop,Sor + TS*Puan,Sor + TS*Point-SL*Puan,Sor + TS*Puan+TP*Puan,0,DeepSkyBlue);

if (OrderSelect(sellstop,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_SELLSTOP && OrderOpenPrice() < Teklif - TS*Puan)

OrderModify(sellstop,Teklif - TS*Puan,Teklif - TS*Puan+SL*Puan,Teklif - TS*Puan-TP*Puan,0,Orange);

if (OrderSelect(selllimit,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_SELLLIMIT && OrderOpenPrice() > Teklif + TS*Puan)

OrderModify(selllimit,Teklif + TS*Puan,Teklif + TS*Puan+SL*Puan,Teklif + TS*Puan-TP*Puan,0,DeepSkyBlue);

if (OrderSelect(buylimit,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_BUYLIMIT && OrderOpenPrice() < Ask - TS*Point)

OrderModify(buylimit,Sor - TS*Puan,Sor - TS*Puan-SL*Puan,Sor - TS*Puan+TP*Puan,0,Orange);

// ------------------------------------------------ ---------------------

// emrin karı PROF'ten büyükse, fiyatı TS'den daha fazla durdurun, bu durağı fiyatın arkasına kadar takip edin:

for(i = 0; i < OrdersTotal(); i ++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType() == OP_BUY && (Ask - OrderOpenPrice())/Point > PROF && OrderStopLoss() < NormalizeDouble(Ask - TS*Point,Digits))

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask - TS*Point,Digits),OrderTakeProfit(),0,Mavi);

if (OrderType() == OP_SELL && (OrderOpenPrice() - Bid)/Puan > PROF && OrderStopLoss() > NormalizeDouble(Bid + TS*Point,Digits))

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Teklif + TS*Point,Digits),OrderTakeProfit(),0,Red);

}

dönüş(0);

}

 

Kod şöyle görünmelidir (SRC):

 //|                                   iiiiiiiiiiiiiiiii_buy_sell.mq4 |

//|                                                                  |

//|                                                                  |

//+------------------------------------------------------------------+

extern int N = 100 ;       // баев и сэллов (считаем отдельно) разрешаем по стока штук иметь



extern double Lots = 0.01 ;   // лот



extern int PROF = 100 ;     // тралить стоп начнем с профита во стока пипсов

extern int TS = 200 ;       // тащить его станем на стока сзади пип за ценой

extern int STEP = 200 ;     // расстояние меджу отложками

extern int TP = 10000 ;     // тейк ордеров

extern int SL = 10000 ;     // тейк ордеров

extern bool Buy = false ;     // только покупать

extern bool Sell = true ;   // только продавать

extern double PROSADKA = 0.5 ;   // когда эквити равно или менее вот такой части от баланса

extern int magicbuy = 777 ;

extern int magicsell = 888 ;



int M;

double buystop_OP, sellstop_OP;

double selllimit_OP, buylimit_OP;



int start()

  {

             // ---------------------------------------------------------------------

         



             // ---------------------------------------------------------------------

             // смотрим, какие ордера у нас есть:

                 int buy = 0 ,sell = 0 ;

                 int buystop = 0 ,sellstop = 0 ;

                 int selllimit = 0 ,buylimit = 0 ;

                 int buys = 0 , sells = 0 ;

                 int Total = 0 ;

                 for ( int i = 0 ; i < OrdersTotal (); i ++)

                   {

                     OrderSelect (i, SELECT_BY_POS, MODE_TRADES);

                         if (OrderMagicNumber() != magicbuy && OrderMagicNumber() != magicsell) continue ;

      

                        

                        

                           if (OrderType() == OP_BUYSTOP)

                              buystop = OrderTicket();

                                

                           if (OrderType() == OP_BUYLIMIT)

                              buylimit = OrderTicket();

                              

                           if (OrderType() == OP_BUYSTOP || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUY)   

                              buys ++;

                           

                           if (OrderType() == OP_SELLSTOP)

                              sellstop = OrderTicket();

                              

                           if (OrderType() == OP_SELLLIMIT)

                              selllimit = OrderTicket();

                              

                             if (OrderType() == OP_SELLSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELL )

                              sells ++;    

                        

                        Total ++;       

                   }

             

             

           

             // ---------------------------------------------------------------------

                 int LET = 0 ;

                 if (AccountEquity()/AccountBalance() < PROSADKA)

                    LET = 1 ;   // если просадки до фига - запрет на выставление новых отложек

           

             // --------------------------------------------------------------------- 

             // выставление отложек :

             if (LET == 0 && TimeCurrent () && M != iTime( Symbol (), 1 , 0 )) // раз в минуту

               {   

                 

                 if ( buystop < 1 && buys < N && Buy == true )

                     {

                        buystop_OP = NormalizeDouble (Ask+STEP* Point , Digits );

                        buystop = OrderSend ( Symbol (),OP_BUYSTOP,Lots,buystop_OP, 10 ,buystop_OP-SL* Point ,buystop_OP+TP* Point , NULL ,magicbuy, 0 ,Blue);

                     }

                     

                 if ( buylimit < 1 && buys < N && Buy == True)

                     {

                        buylimit_OP = NormalizeDouble (Ask-STEP* Point , Digits );

                        buylimit = OrderSend ( Symbol (),OP_BUYLIMIT,Lots,buylimit_OP, 100 ,buylimit_OP-SL* Point ,buylimit_OP+TP* Point , NULL ,magicbuy, 0 ,Red);     

                     }

                     

                 if ( sellstop < 1 && sells < N && Sell == true )

                     {

                        sellstop_OP = NormalizeDouble (Bid-STEP* Point , Digits );

                        sellstop = OrderSend ( Symbol (),OP_SELLSTOP,Lots,sellstop_OP, 10 ,sellstop_OP+SL* Point ,sellstop_OP-TP* Point , NULL ,magicsell, 0 ,Red);

                     }

                

                 if ( selllimit < 1 && sells < N && Sell == True)

                     {

                       selllimit_OP = NormalizeDouble (Bid+STEP* Point , Digits );

                       selllimit = OrderSend ( Symbol (),OP_SELLLIMIT,Lots,selllimit_OP, 100 ,selllimit_OP+SL* Point ,selllimit_OP-TP* Point , NULL ,magicsell, 0 ,Blue);

                     }

                     

                

                

                 M = iTime( Symbol (), 1 , 0 );

               }

             

             // --------------------------------------------------------------------- 

             // еси отложки дальше чем TS от цены, подтаскиваем их поближе :

             if ( OrderSelect (buystop,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_BUYSTOP && OrderOpenPrice() > Ask + TS* Point )

                OrderModify(buystop,Ask + TS* Point ,Ask + TS* Point -SL* Point ,Ask + TS* Point +TP* Point , 0 ,DeepSkyBlue);

             

             if ( OrderSelect (sellstop,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_SELLSTOP && OrderOpenPrice() < Bid - TS* Point )

                OrderModify(sellstop,Bid - TS* Point ,Bid - TS* Point +SL* Point ,Bid - TS* Point -TP* Point , 0 ,Orange);

             

             if ( OrderSelect (selllimit,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_SELLLIMIT && OrderOpenPrice() > Bid + TS* Point )

                OrderModify(selllimit,Bid + TS* Point ,Bid + TS* Point +SL* Point ,Bid + TS* Point -TP* Point , 0 ,DeepSkyBlue);

             

             if ( OrderSelect (buylimit,SELECT_BY_TICKET,MODE_TRADES) == true && OrderType() == OP_BUYLIMIT && OrderOpenPrice() < Ask - TS* Point )

                OrderModify(buylimit,Ask - TS* Point ,Ask - TS* Point -SL* Point ,Ask - TS* Point +TP* Point , 0 ,Orange);

            

             // --------------------------------------------------------------------- 

             // еси профит ордера больше PROF  стоп его дальше чем TS от цены, тралим этот стоп за ценой :

             for (i = 0 ; i < OrdersTotal (); i ++)

                   {

                     OrderSelect (i, SELECT_BY_POS, MODE_TRADES);

                     

                         if (OrderType() == OP_BUY && (Ask - OrderOpenPrice())/ Point > PROF && OrderStopLoss() < NormalizeDouble (Ask - TS* Point , Digits ))

                           OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble (Ask - TS* Point , Digits ),OrderTakeProfit(), 0 ,Blue);

             

                         if (OrderType() == OP_SELL && (OrderOpenPrice() - Bid)/ Point > PROF && OrderStopLoss() > NormalizeDouble (Bid + TS* Point , Digits ))

                           OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble (Bid + TS* Point , Digits ),OrderTakeProfit(), 0 ,Red);

             

                   }

             

          

   return ( 0 );

  }
 
Andrey Vaskin :

Bu alanda deneyim kazanmak için ilginç fikirleriniz ve stratejileriniz için ücretsiz 25 danışman yazacağım.

19 danışman kaldı

İyi günler, zaten başka bir konuya yazmıştım, burada tekrar edeceğim


İkili opsiyon stratejim var. Genel özü şu şekildedir: 20 periyotlu hareketli bir ortalama kullanarak trendi belirlerim, ADX kullanarak gücünü belirlerim (genellikle görsel olarak 25'in üzerindeki bir değeri güçlü olarak tanımlarım), grafik analiz kullanarak giriş noktalarını belirlerim (genellikle bunlar sabah, akşam yıldızları, çekiçler ve cellatlar ", simetrik gölgeli doji'yi düşünmüyorum, çünkü onları çelişkili buluyorum). Mum istenilen modelle kapandığında 5 saat giriyorum (6 ay boyunca D1'de manuel olarak geçmiş istatistiklerini yürüttüm çok az sinyal var: en iyi ihtimalle, tüm bu altı ay için bir tane. H4'ü düşünmüyorum. çünkü mumun geometrisi, farklı zamanlarda farklı komisyoncuların farklı kapanışları olduğu için oradadır.)

Genel olarak, aldığım istatistiklere göre, ayda ortalama olarak, her enstrüman %0.7-3 (anlaşma her zaman mevduatın %1'ini içeriyordu) 5 enstrümana manuel olarak baktım (ve brokerinin opsiyonlarında 42 enstrüman kullandığım, tüm istatistikler üzerinden manuel olarak çalışın, çok fazla iş yapılması gerekecek). Haberin sonuçlara etkisini hesaba katmadım.Ardından not aldığım terminalden, nereye girdiğim, hangi son kullanma süresinin kârlı olduğu, zararın nerede olduğu vs. dosyaları yükleyebilirim. Brokerdeki terminal MT4'ü kullanır. Belki birisinin bu stratejide bir şeyi nasıl geliştireceğine dair önerileri olacaktır?

Açıklamada, genel özü tanımladım, danışmanın her zaman periyodu için işlemin değerini hala otomatik olarak değiştirebilmesi güzel olurdu (örneğin, ayda bir).

 
Adelaur :
Bazen cevap verirken imleç alıntı alanına atlar ve oradan çıkmak istemez. Nasıl dövüşülür: Forum: Cevap verirken imleç bir alıntıya atlar