[Arşiv!] ÜCRETSİZ bir danışman yazacağım - sayfa 19

 

Programlamada başlangıç seviyesindeyim, hatta tam bir çaydanlık diyebilirsiniz. Ama şansınızı denemek ilginç. Haftada bir gün çalışacak basit bir Uzman Danışman yazmaya çalışıyorum. Örneğin Pazartesi günü 00-00'da açılıyor ve 24-00'da kapanıyor. Ayrı parçalar halinde net görünüyor, ancak her şeyi tek bir programda toplamak imkansız. Zorlaştırmıyorsa, bu konuda bir danışmanı nereden bulacağımı (indireceğimi) söyleyin. Ben bir örnek için.

 
asd05 :

Programlamada başlangıç seviyesindeyim, hatta tam bir çaydanlık diyebilirsiniz. Ama şansınızı denemek ilginç. Haftada bir gün çalışacak basit bir Uzman Danışman yazmaya çalışıyorum. Örneğin Pazartesi günü 00-00'da açılıyor ve 24-00'da kapanıyor. Ayrı parçalar halinde net görünüyor, ancak her şeyi tek bir programda toplamak imkansız. Zorlaştırmıyorsa, bu konuda bir danışmanı nereden bulacağımı (indireceğimi) söyleyin. Ben bir örnek için.


Spam göndermenizi tavsiye etmem. Belki bir yasak gelir
 
asd05 :

Programlamada başlangıç seviyesindeyim, hatta tam bir çaydanlık diyebilirsiniz. Ama şansınızı denemek ilginç. Haftada bir gün çalışacak basit bir Uzman Danışman yazmaya çalışıyorum. Örneğin Pazartesi günü 00-00'da açılıyor ve 24-00'da kapanıyor. Ayrı parçalar halinde net görünüyor, ancak her şeyi tek bir programda toplamak imkansız. Zorlaştırmıyorsa, bu konuda bir danışmanı nereden bulacağımı (indireceğimi) söyleyin. Ben bir örnek için.

İşte ilkel bir "gece avcısı" örneği. Varsayılan olarak her gün 21:00 - 8:00 saatleri arasında çalışır.
En basitinden şöyle bir şey deneyin:

 //+------------------------------------------------------------------+
//|                                                    222222222.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"


extern int    Magic = 31295 ;
 extern int      Start= 21 ; //начало работы вечером
extern int       End= 8 ; //конец работы утром
extern int       SL= 410 ;
extern int       TP= 280 ;
extern double   Lot= 0.1 ;

extern string   __________ = "=== Функция Трейлинг Стоп ====" ;
extern bool       UseTrailing = false; //Выключатель трейлинг стопа
extern int     MinProfit = 200 ; //порог включения трейлин стопа
extern int     TrailingStop = 150 ; // величина трейлинг стопа
extern int     TrailingStep = 10 ; // шаг трейлинг стопа 

bool Trade;
bool   gbNoInit    = False;   // Флаг неудачной инициализации

//----------------------------------------------------
int init()
{
//-----------------------------------------------------------
gbNoInit=False;  
if (!IsTradeAllowed()) {
    Message( "Для нормальной работы советника необходимо\n" +
             "Разрешить советнику торговать" );
    gbNoInit=True; return ;
  }
   if (!IsLibrariesAllowed()) {
    Message( "Для нормальной работы советника необходимо\n" +
             "Разрешить импорт из внешних экспертов" );
    gbNoInit=True; return ;    }
}
/ /-----------------------------------------------------

//===================================================
int start() {// функция СТАРТ

if (UseTrailing) TrailPositions(); // выключатель трейлинг стопа


if ( Hour()>Start || Hour()<End ) //если время - больше Start или меньше End
    Trade=true;     else Trade=false; //то торговля разрешена
Comment ( "Торговля разрешена с " ,Start , " до " ,End);
//---------------------------------------------------
if (Trade && NumberOfPositions( NULL ,OP_BUY,Magic)< 1 ) {
//если тоговля разрешена и нет откр. длинных позиций
   OrderSend ( Symbol (),OP_BUY,Lot,Ask, 3 ,Ask-SL* Point ,Ask+TP* Point , "хи - хи" ,Magic, 0 , SkyBlue );
                                               }
//---------------------------------------------------   
 if (Trade && NumberOfPositions( NULL ,OP_SELL,Magic)< 1 ) {
//если тоговля разрешена и нет откр. селл-  позиций 
   OrderSend ( Symbol (),OP_SELL,Lot,Bid, 3 ,Bid+SL* Point ,Bid-TP* Point , "тра-ля-ля" ,Magic, 0 , Green );
                                                   }
 //-----------------------------
 return ( 0 );                                      
} //конец функции СТАРТ 


//жжжжжжжжжжжжжжжжжжжжж Пользовательские функции жжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions( string sy= "" , int op=- 1 , int mn=- 1 ) {
   int i, k= OrdersTotal (), kp= 0 ;

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++)                                    {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))      {
       if (OrderSymbol()==sy || sy== "" )                   {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op)                   {
             if (mn< 0 || OrderMagicNumber()==mn) kp++;
          }}}}}   return (kp); }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 void TrailPositions() // функция трейлинг стоп
{
   int Orders = OrdersTotal ();
   for ( int i= 0 ; i<Orders; i++) {
     if (!( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))) continue ;
     if (OrderSymbol() != Symbol ()) continue ;
     if (OrderMagicNumber() == Magic ){    
     if (OrderType() == OP_BUY )  {
       if (Bid-OrderOpenPrice() > MinProfit* Point ) {
         if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep- 1 )* Point ) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop* Point ,
                                                     OrderTakeProfit(), 0 , Blue );
        }      }    }
     if (OrderType() == OP_SELL)  {
       if (OrderOpenPrice()-Ask >MinProfit* Point ) {
         if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep- 1 )* Point 
                                                       || OrderStopLoss() == 0 ) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop* Point ,
                                                      OrderTakeProfit(), 0 , Blue );
        }   }   }    }   }  }

//+----------------------------------------------------------------------------+
//|  Вывод сообщения в коммент и в журнал                                      |
//+----------------------------------------------------------------------------+
void Message( string m) {
   Comment (m);
   if ( StringLen (m)> 0 ) Print (m);
}
 

merhaba, yazım hala geçerli mi? :) aksi halde zaten burada çok şey yazıldı .... Bir danışman yazardım ... basit, iki vuruş ve bir momentum, bunu yapmak isteyen varsa daha da devam edeceğim.

iyi şanslar
 

Basit Uzman Danışman Enterra_Forex_Star_EA_3.1 biraz geliştirilmelidir.

İki RSI'dan birinde belirli bir zamanda işlem yapar ve altı zamanlayıcıda sanal bir kâr elde eder.

Fiyat negatif giderse, belirtilen puanların sayısını aşan aynı yönde ek emirler açma işlevi vardır (ortalama gibi bir şey).

Sorun: ek açılır. sadece belirtilen işlem zamanında pozisyon alır ve alımı yeniden hesaplamaz.

Yapma ihtiyacı:

Fiyat, açık bir emrin karlı yönünden negatif gittiğinde, aynı hacimde bir emir (ve sonra bir başkası ve bir başkası - miktarın ayarlanması gerekir) açmak için, "çalışma" ne olursa olsun, aynı yönde zaman" bu koşullar altında (yalnızca birlikte "veya veya" değil):

- fiyatın negatif (ayarlanmış) olması gereken minimum puan sayısını aştı

Özelleştirilebilir I-Reg göstergesi (ekli) kâr yönünde "dönmelidir" (kanal genişliği ihmal edilebilir)

İlk açık (ve sonraki) siparişe "başabaş noktasından x puan" şeklinde bir ortalama alma mekanizması eklemek ve ilki gibi tüm "ortalama" siparişleri için bir alım yapabilme yeteneği eklemek gerekir ( zamanlayıcıya göre değiştiğini dikkate alarak).

Hepsi 4/5 basamaklı tırnak işaretleri dahil

Bütün bunlar, Ilan_RSI_mm_extr193'te (bağışçı olarak eklenmiştir) yapılması gerektiği gibidir, sadece bu dilde hiçbir şey anlamıyorum.

Misal:

10'dan 12'ye kadar belirtilen işlem süresi (açılış pozisyonları)

örneğin 11:10'da danışman 1.5000 fiyatından 5lot Sat'ı açar - fiyat yükselir ve ayarlarda belirttiğim gibi 20p'den sonra, yani 1.5020'de 11:20'de ikinci bir Satış emri açılır. aynı hacim. Her ikisi de danışmanda 6 zamanlayıcı tarafından ayarlanan (bir diğeri aslında ayarlanmış olmasına rağmen) ilkinin sanal çekimi ile kapatılır, örneğin alım 10p ve danışman 6p ile kapanır, kısacası bu çok önemli değil. Bu nedenle, fiyat ilk kovanın alımına düştüğünde kapanırlar (örn. 1.4094).

Durum zaten böyledir, ancak fiyat benim belirttiğim en az 20p'yi geçtiğinde, ancak yalnızca I-Reg göstergesi (benim tarafımdan yapılandırılan) bir trend dönüşü gösterdiğinde ek bir siparişin açılması gerekir.

Dediğim gibi ortalama parametreleri eklememiz gerekiyor.

Ve işte başka bir şey:

Sipariş 11:50 satışta açıldıysa ve fiyat 12:00'den sonra güçlü bir şekilde yükseldiyse, bu danışman artık emir açmaz - ortalama siparişleri açmak için bunu düzeltmeniz gerekir.

Daha açık bir şekilde açıklamak istedim ama bir şekilde kafa karıştırıcı olduğu ortaya çıktı.

Kim yapabilir?

Teşekkür ederim.

Dosyalar:
enterra.rar  23 kb
 
leonid553 :

İşte ilkel bir "gece avcısı" örneği. Varsayılan olarak her gün 21:00 - 8:00 saatleri arasında çalışır.
En basitinden şöyle bir şey deneyin:


Teşekkürler, deneyeceğim
 
Tünaydın! İlginç fikirler var, bunları EA'da uygulamak istiyorum. mrforex@mail.ru ile iletişime geçin. Çok minnettar olacağım.
 

Merhaba, mümkünse iki Hareketli Ortalamaya dayalı bir Uzman Danışman yazın ki kendisi kavşaklarda işlem açsın.Şimdiden teşekkürler ve Değerli Zamanınızı kullandığınız için özür dilerim.Örneği resimde ekliyorum.BÜYÜK TEŞEKKÜR EDERİM. chughoy@list.ru ile iletişim kurmak için


 
Tünaydın. Dört hareketli ortalamadan belirli ikisinin kesişimi hakkında bilgi verecek bir Uzman Danışmana ihtiyacım var. Ödemeye hazır. İletişim: shurik302(köpek)gmail.com
 
molodec8 :

Strateji ayda yüzde 40'a kadar getiriyor

5'DEN %40'A KADAR İYİ)))