Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 204

 

Merhaba.

Bir sorum var. Martin hakkında bir danışman yazdı . Siparişleri değiştirme, TakeProfit'i yerleştirme anında gökyüzüne uçar. Ve bu sadece gerçek hayatta olur. Test cihazında her şey yolunda ve demoda her şey yolunda. Komik olan ne anlamıyorum.

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

double BuyAverange=0, SellAverange=0, SellPrice=0, BuyPrice=0, BuyLot=0,SellLot=0;

for(int i = OrdersTotal()-1; i>=0; i--)

if(SiparişSeçimi(i,SELECT_BY_POS))

if(OrderSymbol()==Symbol())

if(OrderMagicNumber()==Büyü)

{

if (OrderType()==OP_BUY)

{

BuyPrice+=OrderOpenPrice()*OrderLots();

BuyLot+=SiparişLots();

}

if (OrderType()==OP_SEL)

{

SellPrice+=OrderOpenPrice()*OrderLots();

SellLot+=OrderLots();

}

}

if(b>1&&Satın Al>0)

BuyAverange=NormalizeDouble(BuyFiyat/Satın Al+Kâr*Puan(),Rakamlar());

if(s>1&&SellLot>0)

SellAverange=NormalizeDouble(SellPrice/SellLot-Profit*Puan(),Rakamlar());

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

for(int i = OrdersTotal()-1; i>=0; i--)

if(SiparişSeçimi(i,SELECT_BY_POS))

if(OrderSymbol()==Symbol())

if(OrderMagicNumber()==Büyü)

{

if (OrderType()==OP_BUY)

{

eğer(b==1)

if(OrderTakeProfit()==0)

if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TakeProfit*Point(),Digits()),0,clrGreen)==yanlış)

Print("Hata N",GetLastError());

(b>1) ise

if(OrderTakeProfit()!=Ortalama Satın Al)

if(Sor<Satın Alma Ortalaması)

if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(BuyAverange,Digits()),0,clrGreen)==yanlış)

Print("Hata N",GetLastError());

}

if (OrderType()==OP_SEL)

{

if(s==1)

if(OrderTakeProfit()==0)

if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TakeProfit*Point(),Digits()),0,clrGreen)==yanlış)

Print("Hata N",GetLastError());

(s>1) ise

if(OrderTakeProfit()!=SellAverange)

if(Teklif>Ortalama Sat)

if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(SellAverange,Digits()),0,clrGreen)==yanlış)

Print("Hata N",GetLastError());

}

}

 

Meslektaşlarım - Başka nerede olduğunu bilmediğim için buraya yazmaya karar verdim. Lütfen düzeltin - MT 4'te - bir varsayılan profili korurken - varsayılan - birkaç sekmede birkaç robotla çalışırken - genel olarak, bu konu eurobucks, poundbucks, vb.'nin altındadır. - terminali yeniden başlatırken - bir karışıma giriyor ve varsayılan bir profil yüklerken - aynı zamanda karışık - ÇOK elverişsiz, dizileri manuel olarak ayrıştırmanız gerekiyor - neyin ardından gitti, vb.


düzeltilebilir mi?

 
#property strict
#property copyright "Alex Kolodin"
#property link "www."
#property version "1.00"
#property show_inputs

input color buy =clrGreen;
input color sell =clrCoral;
input int _width=3;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int i,k=OrdersHistoryTotal(), r=-1;
   string sy=Symbol();
   for(i=0; i<k; i++)
   {
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
      {
       if(OrderType()==OP_BUY)
        {
         if(OrderSymbol()==sy)
         {
          TrendCreate(0,"Trendline"+(string)OrderTicket(),0,
                        OrderOpenTime(),
                        OrderOpenPrice(),
                        OrderCloseTime(),
                        OrderClosePrice(),
                        buy,
                        STYLE_SOLID,
                        _width
                        );
        }    
         if(OrderType()==OP_SELL)
              {
               TrendCreate(0,"TrendLine"+(string)OrderTicket(),0,
                        OrderOpenPrice(),
                        OrderOpenTime(),
                        OrderCloseTime(),
                        OrderClosePrice(),
                        sell,            
                        STYLE_SOLID,
                        _width
                        );
              }
          }
         } 
 
 
      }
    }
    
//+------------------------------------------------------------------+
bool TrendCreate(const long chart_ID=0,
const string namename="trendLine",
const int sub_window=0,
datetime time1=0,
double price1=0,
datetime time2=0,

double price2=0,
const color clr=clrRed,
const ENUM_LINE_STYLE style=STYLE_SOLID,
const int width=1,
const bool back=false,
const bool selection=false, 
const bool ray_right=false,
const bool hidden=true,
const long z_order=0)
{

ResetLastError();
 if(!ObjectCreate(chart_ID,namename,OBJ_ARROW,sub_window,time1,price1,time2,price2))
     {
      Print(__FUNCTION__,
            ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
      return(false);
     }
     ObjectSetInteger(chart_ID,namename,OBJPROP_COLOR,clr);
     ObjectSetInteger(chart_ID,namename,OBJPROP_STYLE,style);
     ObjectSetInteger(chart_ID,namename,OBJPROP_WIDTH,width);
     ObjectSetInteger(chart_ID,namename,OBJPROP_BACK,back);
     ObjectSetInteger(chart_ID,namename,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_ID,namename,OBJPROP_SELECTED,selection);
   ObjectSetInteger(chart_ID,namename,OBJPROP_RAY_RIGHT,ray_right);
   ObjectSetInteger(chart_ID,namename,OBJPROP_HIDDEN,hidden);
   ObjectSetInteger(chart_ID,namename,OBJPROP_ZORDER,z_order);
   return(true);

//
     }Здраствуй, читающий уважаемый(АЯ), вот такой код по идее выдаст трендовую линию по двум точкам. Компилируется, а результата нет. Помогите, спасибо.
 

Güzel gün!

Neden mt4'teki tablo mt5'teki tablodan farklı? Ve mümkünse, mt5 grafiğini mt4'e nasıl aktarabilirim? (Sadece aracım mt5'teki gibi fiyat verilerini kullanıyor, ancak tüm favori göstergelerim mt4'te)

 

E-postanın neden çalışmadığını söyleyebilir misiniz?


 
Vitaly Muzichenko :

E-postanın neden çalışmadığını söyleyebilir misiniz?


Belki kimden ve kime göre farklı olmalı?

 
Сергей Таболин :

Belki kimden ve kime göre farklı olmalı?

Evet zaten denedim, hiçbir şey yardımcı olmuyor.

 
Vitaly Muzichenko :

Evet zaten denedim, hiçbir şey yardımcı olmuyor.

Artık tüm postalar, üçüncü taraf bir uygulama için ayrı bir parola oluşturmanızı gerektiriyor. Posta gönderinizin yardımını okuyun - büyük olasılıkla ayrı bir parola oluşturmanız gerekir.


Ayrıca, SMTP sunucusunun bağlantı noktasını doğru şekilde kaydetmeniz gerekir, bunun gibi bir şey:

smtp.ukr.net: 465
 
Vladimir Karputov :

Artık tüm postalar, üçüncü taraf bir uygulama için ayrı bir parola oluşturmanızı gerektiriyor. Posta gönderinizin yardımını okuyun - büyük olasılıkla ayrı bir parola oluşturmanız gerekir.

Ayrıca, SMTP sunucusunun bağlantı noktasını doğru şekilde kaydetmeniz gerekir, bunun gibi bir şey:

Aynısını denedim - işe yaramadı.

Öngörülen bağlantı noktası: smtp.ukr.net:465


 
Genel olarak, en az bir postası olan biri için işe yarar mı?