[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 697

 
rensbit :
Çapa açısı - bu, nesnenin penceredeki konumunun hesaplanacağı açıdır. Açılar saat yönünde soldan sağa doğru sayılır.

Sağ alt köşeye yapışırsam, o zaman ne, negatif koordinatlar mı ayarlayacağım?
 
valenok2003 :

Sağ alt köşeye yapışırsam, o zaman ne, negatif koordinatlar mı ayarlayacağım?
Hayır, pozitif koordinatlar, terminal istenen noktayı kendisi hesaplayacaktır. Örneğin: 2 köşeden 15 piksel
 
Azerus :

Söylemek,

Sürekli olayların sayısını hesaplamak için (örneğin, kapanışın açılıştan daha yüksek olduğu bir dizideki çubukların sayısı ve bunun tersi), sadece şunu düşünebildim:

İki soru (yukarıdakiler mantıklıysa): (1) sürekli seri durmuşsa sayacın nasıl sıfırlanacağı; ve (2) Tampon[i] nasıl düzgün yazılır - yani. Sonucun kendisini nasıl "görebilirsin"?

Yani, belirli bir çubuğun göstergesi "-3" gösteriyorsa, bu, açıklığın altında kapanan bir satırdaki üçüncü çubuk olduğu anlamına gelir; onu takip eden çubuk açıklığın üzerinde kapanırsa, gösterge "1" gösterecektir......

int i=Barlar-1

while (i > 0) {

intx=0;

int y=0;

if ( Kapat[i] > Aç[i] ) { x++ ;

Buf[i]=x; }

if (Kapat[i] < Aç[i] ) { y-- ;

Buf2[i]=y; }

ben--;

}

 
rensbit :
Hayır, pozitif koordinatlar, terminal istenen noktayı kendisi hesaplayacaktır. Örneğin: 2 köşeden 15 piksel
Teşekkürler, hepsi iyi çalıştı.
 
artmedia70 :
Tahmin etmek zorunda kalmamak için kodunuzu gösterin


Martin ilavesiyle Gorando programında yapılmıştır.

//+------------------------------------------- --------------------+
//| Telif Hakkı 2005 Gordago Yazılım A.Ş. |
//| http://www.gordago.com/ |
//| sürüm 2.0 |
//+------------------------------------------- --------------------+

#property telif hakkı "Telif hakkı 2005, Gordago Software Corp."
#özellik bağlantısı "http://www.gordago.com"

#define MIN_STOPLOSS_POINT 10
#define MIN_TAKEPROFIT_POINT 10
#define MAGIC 218650

extern string sNameExpert = "Gordago'dan Oluştur";
harici int nHesap =0;
harici çift dBuyStopLossPoint = 0;
harici çift dSellStopLossPoint = 0;
harici çift dBuyTakeProfitPoint = 0;
harici çift dSellTakeProfitPoint = 0;
harici çift dBuyTrailingStopPoint = 0;
harici çift dSellTrailingStopPoint = 0;
harici çift Parti = 0.10;
extern int nSlippage = 30;
extern bool lFlagUseHourTrade = True;
harici int nFromHourTrade = 0;
harici int nToHourTrade = 23;
extern bool lFlagUseSound = Yanlış;
harici dize sSoundFileName = "alert.wav";
dış renk colorOpenBuy = Mavi;
dış renk rengiCloseBuy = Aqua;
dış renk colorOpenSell = Kırmızı;
dış renk rengiKapatSat = Aqua;


geçersiz tanım() {
Yorum("");
}

//+------------------------------------------- --------------------+
//| |
//+------------------------------------------- --------------------+
int start(){
if (lFlagUseHourTrade){
if (!(Hour()>=nFromHourTrade && Hour()<=nToHourTrade)) {
Comment("Ticaret zamanı daha gelmedi!");
dönüş(0);
}
}

if(çubuk < 100){
Print("100'den küçük barlar");
dönüş(0);
}

if (nHesap > 0 && nHesap != HesapNumarası()){
Comment("Hesapta işlem :"+HesapNumarası()+" YASAK!");
dönüş(0);
}

if((dBuyStopLossPoint > 0 && dBuyStopLossPoint < MIN_STOPLOSS_POINT) ||
(dSellStopLossPoint > 0 && dSellStopLossPoint < MIN_STOPLOSS_POINT)){
Print("StopLoss daha az " + MIN_STOPLOSS_POINT);
dönüş(0);
}
if((dBuyTakeProfitPoint > 0 && dBuyTakeProfitPoint < MIN_TAKEPROFIT_POINT) ||
(dSellTakeProfitPoint > 0 && dSellTakeProfitPoint < MIN_TAKEPROFIT_POINT)){
Print("TakeProfit az " + MIN_TAKEPROFIT_POINT);
dönüş(0);
}

çift diOpen0=iOpen(NULL,60,0);
çift d1=(0.00030);
double diHigh2=iHigh(NULL,60,0);
çift diOpen3=iOpen(NULL,60,0);
çift d4=(0.00030);
double diLow5=iLow(NULL,60,0);
double diOpen6=iOpen(NULL,60,1);
double diClose7=iClose(NULL,60,1);
double diOpen8=iOpen(NULL,60,2);
double diClose9=iClose(NULL,60,2);
çift diOpen10=iOpen(NULL,60,0);
çift d11=(0.00030);
double diHigh12=iHigh(NULL,60,0);
çift diOpen13=iOpen(NULL,60,0);
çift d14=(0.00030);
double diLow15=iLow(NULL,60,0);
çift diOpen16=iOpen(NULL,60,1);
double diClose17=iClose(NULL,60,1);
double diOpen18=iOpen(NULL,60,2);
double diClose19=iClose(NULL,60,2);


if(AccountFreeMargin() < (1000*Lot)){
Print("Paramız yok. Serbest Marj = " + AccountFreeMargin());
dönüş(0);
}

bool lFlagBuyOpen = false, lFlagSellOpen = false, lFlagBuyClose = false, lFlagSellClose = false;

lFlagBuyOpen = (diOpen0+d1>diHigh2 && diOpen3-d4<diLow5 && diOpen6<diClose7 && diOpen8>diClose9);
lFlagSellOpen = (diOpen10+d11>diHigh12 && diOpen13-d14<diLow15 && diOpen16>diClose17 && diOpen18<diClose19);
lFlagBuyClose = Yanlış;
lFlagSellClose = Yanlış;

if (!ExistPositions()){

if (lFlagBuyOpen){
açık satın();
dönüş(0);
}

if (lFlagSellOpen){
OpenSell();
dönüş(0);
}
}
if (ExistPositions()){
if(OrderType()==OP_BUY){
if (lFlagBuyClose){
bool flagCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, nSlippage, colorCloseBuy);
if (flagCloseBuy && lFlagUseSound)
PlaySound(sSoundFileName);
dönüş(0);
}
}
if(OrderType()==OP_SEL){
if (lFlagSellClose){
bool flagCloseSell = OrderClose(OrderTicket(), OrderLots(), Ask, nSlippage, colorCloseSell);
if (flagCloseSell && lFlagUseSound)
PlaySound(sSoundFileName);
dönüş(0);
}
}
}

if (dBuyTrailingStopPoint > 0 || dSellTrailingStopPoint > 0){

for (int i=0; i<SiparişlerToplam(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
bool lMagic = doğru;
if (MAGIC > 0 && OrderMagicNumber() != MAGIC)
sihir=yanlış;

if (OrderSymbol()==Symbol() && lMagic) {
if (OrderType()==OP_BUY && dBuyTrailingStopPoint > 0) {
if (Bid-OrderOpenPrice() > dBuyTrailingStopPoint*Point) {
if (OrderStopLoss()<Bid-dBuyTrailingStopPoint*Point)
ModifyStopLoss(Bid-dBuyTrailingStopPoint*Puan);
}
}
if (OrderType()==OP_SELL) {
if (OrderOpenPrice()-Ask>dSellTrailingStopPoint*Nokta) {
if (OrderStopLoss()>Ask+dSellTrailingStopPoint*Point || OrderStopLoss()==0)
ModifyStopLoss(Sor+dSellTrailingStopPoint*Nokta);
}
}
}
}
}
}
dönüş(0);
}

bool ExistPositions() {
for (int i=0; i<SiparişlerToplam(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
bool lMagic = doğru;

if (MAGIC > 0 && OrderMagicNumber() != MAGIC)
sihir=yanlış;

if (OrderSymbol()==Symbol() && lMagic) {
dönüş(Doğru);
}
}
}
dönüş(yanlış);
}

void ModifyStopLoss(çift ldStopLoss) {
bool lFlagModify = OrderModify(OrderTicket(), OrderOpenPrice(), ldStopLoss, OrderTakeProfit(), 0, CLR_NONE);
if (lFlagModify && lFlagUseSound)
PlaySound(sSoundFileName);
}

//+------------------------------------------- ------------------------------+
//| Yazar : Kim Igor V. namı diğer KimIV, http://www.kimiv.ru |
//+------------------------------------------- ------------------------------+
//| Sürüm : 02/19/2008 |
//| Açıklama : Son konum kaybı bayrağını döndürür. |
//+------------------------------------------- ------------------------------+
//| Seçenekler: |
//| sy - enstrüman adı ("" - herhangi bir sembol, |
//| NULL - geçerli karakter) |
//| operasyon - operasyon (-1 - herhangi bir pozisyon) |
//| mn - MagicNumber (-1 - herhangi bir büyü) |
//+------------------------------------------- ------------------------------+
bool isLossLastPos(string sy="", int op=-1, int mn=-1) {
tarihsaat t;
int i, j=-1, k=OrdersHistoryTotal();

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==dk) {
if (t<SiparişKapatZamanı()) {
t=SiparişKapatZamanı();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderProfit()<0) return(True);
}
dönüş(yanlış);
}





geçersiz OpenBuy() {
çift dStopLoss = 0, dTakeProfit = 0;
double Lots_New = Lot;

if (isLossLastPos(NULL, -1, MAGIC))
Çok_Yeni *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Çok;


eğer (dBuyStopLossPoint > 0)
dStopLoss = Teklif-dBuyStopLossPoint*Puan;

if (dBuyTakeProfitPoint > 0)
dTakeProfit = Teklif + dBuyTakeProfitPoint * Puan;

int numorder = OrderSend(Symbol(), OP_BUY, Lots_New, Ask, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenBuy);

if (sayı > -1 && lFlagUseSound)
PlaySound(sSoundFileName);
}

geçersiz OpenSell() {
çift dStopLoss = 0, dTakeProfit = 0;
double Lots_New = Lot;

if (isLossLastPos(NULL, -1, MAGIC))
Çok_Yeni *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Çok;

if (dSellStopLossPoint > 0)
dStopLoss = Sor+dSellStopLossPoint*Puan;

if (dSellTakeProfitPoint > 0)
dTakeProfit = Ask-dSellTakeProfitPoint*Puan;

int numorder = OrderSend(Symbol(),OP_SELL, Lots_New, Bid, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenSell);

if (sayı > -1 && lFlagUseSound)
PlaySound(sSoundFileName);
}

 
valenok2003 :

Örnekte zor değilse, gerektiği gibi düzeltin, nedense yapamıyorum
      ObjectSetText( "info" , str3, fontsize, fontname);
      ObjectSet( "info" , OBJPROP_CORNER , corner);
      ObjectSet( "info" , OBJPROP_XDISTANCE , xdistance);
      ObjectSet( "info" , OBJPROP_YDISTANCE , ydistance);
      ObjectSet( "info" , OBJPROP_COLOR , clr);

Köşe değişkenini harici yaptım (kolaylık olması için). Koordinatların hesaplanacağı açının numarasını içerir.

 
Roger :


değiştirmeyi dene

if (OrderStopLoss()<pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0)

üzerinde

if (OrderStopLoss()>pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0)

Roger, teşekkürler, ama yine de doğru çalışmıyor. Başka bir izi sabitlemeye çalıştım, ancak hata hala devam ediyor :( Aynı anda bir poz ve birkaç poz için iz herhangi bir şeyde farklılık gösteriyor mu?
 
rensbit :

Köşe değişkenini harici yaptım (kolaylık olması için). Koordinatların hesaplanacağı açının numarasını içerir.

Teşekkür ederim!

Bir soru daha. Wingdings'ten yorumlara bir sembol nasıl doğru bir şekilde eklenir?

 
ne sembolü?
 
rensbit :
ne sembolü?

telif hakkı