[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 328

 
ФВ > 30 olan herhangi bir parametre seti yoksa, danışman fırındadır.

Ve bu tür PV'ye sahip çok sayıda danışmanınız var ve aynı zamanda işlem sayısı en az 200 (alış ve satış için 100)?!

AYNI ZAMANDA, Z EKSENİNDE, yalnızca "net kar" parametresini değil, aynı zamanda "kurtarma faktörünü" veya maksimum düşüşü de ayarlayın - ve zaten bu konumlardan bakın.

MT5'te zaten böyle bir şey var, bu programda olduğu gibi "dilimler" yapılamasa da oldukça kullanışlı ve görsel. Belki geliştiricilere sorun ve onlar yapacaklar ...
 
FelixFX :

Merhaba!

Özel bir işlevden birden çok değeri nasıl döndüreceğimi anlayamıyorum? Zor değilse söyle.



Bu sizin için Pascal değil - burada prosedür yok ... :-) Bir fonksiyon - bir değer ... :-)

Tüm siparişleri kapatmak için betiğin GetMarketInfo işlevine bakın - dizileri kullanmak mümkündür.

 //+------------------------------------------------------------------+
//|                                               CloseAllOrders.mq4 |
//|                       Copyright © 2008, PRMQuotes Software Corp. |
//|                                           Jedimedic77@gmail.com  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, PRMQuotes Software Corp."
#property link       ""
//+------------------------------------------------------------------+
//| EX4 imports                                                      |
//+------------------------------------------------------------------+
#include <stdlib.mqh>
//+------------------------------------------------------------------+
//| global variables to program:                                     |
//+------------------------------------------------------------------+
double Price[ 2 ];
int     giSlippage;
bool    CloseOpenOrders = true;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start() {
   int iOrders= OrdersTotal ()- 1 , i;
  
   if (CloseOpenOrders) {
     for (i=iOrders; i>= 0 ; i--) {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) && ( OrderType ()<=OP_SELL) && GetMarketInfo() && ! OrderClose ( OrderTicket (), OrderLots (),Price[ 1 - OrderType ()],giSlippage)) Print (OrderError());
    }
  }
}
//+------------------------------------------------------------------+
//| Function..: OrderError                                           |
//+------------------------------------------------------------------+
string OrderError() {
   int iError= GetLastError ();
   return ( StringConcatenate ( "Order:" , OrderTicket (), " GetLastError()=" ,iError, " " ,ErrorDescription(iError)));
}
//+------------------------------------------------------------------+
//| Function..: GetMarketInfo                                        |
//+------------------------------------------------------------------+
bool GetMarketInfo() {
   RefreshRates ();
  Price[ 0 ]= MarketInfo ( OrderSymbol (),MODE_ASK);
  Price[ 1 ]= MarketInfo ( OrderSymbol (),MODE_BID);
   double dPoint= MarketInfo ( OrderSymbol (),MODE_POINT);
   if (dPoint== 0 ) return (false);
  giSlippage=(Price[ 0 ]-Price[ 1 ])/dPoint;
   return (Price[ 0 ]> 0.0 && Price[ 1 ]> 0.0 );
}
//+------------------------------------------------------------------+
 
Diubakin :

Ve bu tür PV'ye sahip çok sayıda danışmanınız var ve aynı zamanda işlem sayısı en az 200 (alış ve satış için 100)?!

...

Yeterlik. FV=34. Ve aslında, bana bu soruyu yanlış adrese yönelttiniz ... :-) Ayrıca, bu dalları okursanız - yazar açıkça orada yazdı ki bu sayılar

Araç için 30 ve evrak çantası için 100 - IMHO'su .... " Sözleri çarpıtma lütfen. Öyle olması gerektiğini söylemedim. 30 benim kişisel hevesim. Başka bir şey yok ... "

 

Roman

...

Üzgünüm, başka bir alıntı yaptığınızı fark etmedim, ancak rapor etkileyici.

 
Diubakin :

Üzgünüm, başka bir alıntı yaptığınızı fark etmedim, ancak rapor etkileyici.


:-) Üzerinde çalışmak...
 
                           ticket= OrderSend ( Symbol (),OP_BUYSTOP , 0.01 ,Ask+q* Point , 5 , 0 ,Ask+ 50 * Point , "Aw" ,MN, 0 , CLR_NONE );
                           ticket= OrderSend ( Symbol (),OP_SELLSTOP, 0.01 ,Bid-q* Point , 5 , 0 ,Bid- 50 * Point , "Aw" ,MN, 0 , CLR_NONE );
                           if (!ticket) Print ( GetLastError ());

                        ticket= OrderTicket ();                           
                         for (i= OrdersTotal (); i> 0 ;  i--)
                        {
                           if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==true)
                           {
                               if ( OrderComment ()== "Aw" )
                              {
                                 if ( OrderType ()==OP_BUYSTOP)
                                 {
                                    t= OrderModify ( OrderTicket (),pb, 0 ,TPb, 0 , CLR_NONE );
                                     if (!t) Print ( "BUY О Ш И Б К А = " , GetLastError ());
                                 }
                                    
                                 if ( OrderType ()==OP_SELLSTOP)
                                 {
                                    t= OrderModify ( OrderTicket (),ps, 0 ,TPs, 0 , CLR_NONE );
                                     if (!t) Print ( "SELL О Ш Ы Б К А = " , GetLastError ());
                                 }
                              }
                           }
                        }

yardım istiyorum!

Kod iki sekme açar. ve her ikisini de değiştirmelisiniz ..

Ancak yalnızca sal mevduatını değiştirir.

q=20;

pb=Sor+20*Puan;

ps=Teklif+20*Puan;

Tb=Sor+50*Puan;

Ts=Teklif+50*Puan;

 
smartemiy :

yardım istiyorum!

Kod iki sekme açar. ve her ikisini de değiştirmelisiniz ..

Ancak yalnızca sal mevduatını değiştirir.

q=20;

pb=Sor+20*Puan;

ps=Teklif+20*Puan;

Tb=Sor+50*Puan;

Ts=Teklif+50*Puan;

sayılarla ne elde ettiğinizi görün

 if ( OrderType ()==OP_ BUYSTOP )
{
 t= OrderModify ( OrderTicket (), pb , 0 ,TPb, 0 , CLR_NONE );
 if (!t) Print ( "BUY О Ш И Б К А = " , GetLastError ());
}
                                    
if ( OrderType ()==OP_ SELLSTOP )
{
  t= OrderModify ( OrderTicket (), ps , 0 ,TPs, 0 , CLR_NONE );
  if (!t) Print ( "SELL О Ш Ы Б К А = " , GetLastError ());
 }

hem buystop hem de sellstop'u mevcut fiyatın 20 pip üstüne yerleştirmek istiyorsunuz

 
ilunga :

sayılarla ne elde ettiğinizi görün

hem buystop hem de sellstop'u mevcut fiyatın 20 pip üstüne yerleştirmek istiyorsunuz

elle yazılmış..

bu gibi kodda:

pb=Sor+20*Puan;

ps=Teklif-20*Puan;

Tb=Sor+50*Puan;

Ts=Teklif+50*Puan;

 
harici int değişken = 0;
harici int kaydırma = 0.0000;
harici int shift2 = 0.0000;
int init()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),15,variable,0,MODE_SMA,PRICE_CLOSE,0), shift ,2),Bisque,735,277,0,14);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),15,variable,0,MODE_SMA,PRICE_CLOSE,0), shift2 ,2),Bisque,680,27 7,0,14);
//----
dönüş(0);
}
//+------------------------------------------- --------------------+


void SetLabel(dize nm, dize tx, renk cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL , 0, 0,0);
ObjectSetText(nm,tx,fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}



daha fazlasını söyle lütfen.
Fareden dikey ofset yukarı kaydırma ve aşağı kaydırma2 atayamıyorum.
böylece bu parametre her grafik için ayrı ayrı ayarlanır.
derleme yaparken hata alıyorum
 
smartemiy :

elle yazılmış..

bu gibi kodda:

pb=Sor+20*Puan;

ps=Teklif-20*Puan;

Tb=Sor+50*Puan;

Ts=Teklif+50*Puan;

TPb ve TP'ler anlamında Tb ve Ts? sonra tekrar bir yöne gittik ama emirler farklı

tüm değerleri yazdırın ve ne olduğunu görün

Neden: