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

 
nuan :

charter , siparişi 30 dakika sonra değil, aynı saniyede kapattığı anlamına gelir.


Örnekte olduğu gibi kodda ayarladım


Diğer nedenlerden dolayı robot hiçbir şekilde kapanmaz, yani. durarak değil, kâr ederek değil.


1 2011.07.29 00:00 1 satın al 0.01 1.4328 1.3328 1.5328 0.00 1000.00
2 2011.07.29 00:01 kapat 1 0.01 1.4327 1.3328 1.5328 -0.10 999.90
3 2011.07.29 00:01 2 satın al 0.01 1.4329 1.3329 1.5329 0.00 999.90
4 2011.07.29 00:01 kapat 2 0.01 1.4326 1.3329 1.5329 -0.30 999.60
5 2011.07.29 00:01 3 satın al 0.01 1.4328 1.3328 1.5328 0.00 999.60
6 2011.07.29 00:03 kapat 3 0.01 1.4327 1.3328 1.5328 -0.10 999.50
7 2011.07.29 00:03 4 satın al 0.01 1.4329 1.3329 1.5329 0.00 999.50
8 2011.07.29 00:03 kapat 4 0.01 1.4329 1.3329 1.5329 0.00 999.50


Tüm bunları start() fonksiyonunun en sonuna koyun. Operasyonlarınız bununla yüzleşmeli.

 datetime TimeM30= iTime ( NULL , 30 , 0 );
     if (TimeM30==prevtime) return ( 0 ); 
    prevtime = TimeM30;   
    CloseAllPosTime();
 
nuan :
start() içinde bu seçenekle değiştirin:
 datetime CloseTime;
//=====================
 int start(){

   if ( TimeCurrent ()-CloseTime > 30 * 60 ){CloseAllPos();CloseTime= TimeCurrent ();} //Можно поставить в любом месте функции старт.
   return ( 0 );
 }
//====================
 
forexnew :

Anladım.

Ve başlangıç olarak 0$'lık bir hesap açmayı ve bakiyenin 1. ikmalini tamamlama olarak düşünürsek. Hesaba yapılan tüm yedekleri (birincisi dahil) programlı olarak belirlemek mümkün müdür?


:-R

Yanlış yöne kürek çekiyorsun ... :-)))

bir işlev var

 double AccountBalance ( ) 

onun yardımıyla, herhangi bir zamanda kapatılan işlemler için ticaret hesabı bakiyesinin durumunu belirlersiniz.

Sonra - piyasaya girdiğimizi varsayalım - açık pozisyonlu hesapta dalgalı bir eksi var , sonra hesabı yenilersiniz ... Burada hacmi ayarlamak için (varsa) kontör miktarını programlı olarak belirlemek zaten gereklidir ( açık pozisyonların artırılması) başlangıç \u200b\u200bçekme / kâr için " ödeneği " kaydetmek için, diyelim ki, sermayenin bir yüzdesi olarak, "başlangıç" piyasa pozisyonlarının hacimlerinin hesaplandığı ilk miktardan (doldurmadan önce). Bu sorunun çözümü nedir?

 
CloseTime 
Нужно задавать этот параметр? если да то как?
 
nuan :


Gerek yok. Bu, her zaman son kapanışın zamanına eşit olan bir "ara" zaman değişkenidir.

Tepki süresi saniye olarak ayarlanır. Senin durumunda 30*60.
30'u bir değişkenle değiştirebilirsiniz, örneğin exstern int closetime = 30.
Ardından yanıt süresi şöyle görünecektir: closetime*60.

 
charter :


Gerek yok. Bu, her zaman son kapanışın zamanına eşit olan bir "ara" zaman değişkenidir.

Tepki süresi saniye olarak ayarlanır. Senin durumunda 30*60.
30'u bir değişkenle değiştirebilirsiniz, örneğin exstern int closetime = 30.
Ardından yanıt süresi şöyle görünecektir: closetime*60.

Ben de aynı şeyi denedim, başlangıç vücudun sonunda .... Bunu neden anlamıyorum. Belki başka bir seçenek vardır?
 
Roman. :


:-R

Yanlış yöne kürek çekiyorsun ... :-)))

bir işlev var

onun yardımıyla, herhangi bir zamanda kapatılan işlemler için ticaret hesabı bakiyesinin durumunu belirlersiniz.

Sonra - piyasaya girdiğinizi varsayalım - açık pozisyonları olan hesapta değişken bir eksi var, sonra hesabı yenilersiniz ... Burada, hacmi ayarlamak için (varsa) kontör miktarını programlı olarak belirlemek zaten gereklidir ( açık pozisyonların artırılması) başlangıç \u200b\u200bçekme / kâr için " ödeneği " kaydetmek için, diyelim ki, sermayenin bir yüzdesi olarak, "başlangıç" piyasa pozisyonlarının hacimlerinin hesaplandığı ilk miktardan (doldurmadan önce). Bu sorunun çözümü nedir?


Başlangıç bakiyesinin (başlangıç bakiyesi) StarLot'a (başlangıç partisi) oranını başlangıçta belirlenen risklere göre belirlediyseniz, tamamlama tutarı özkaynaktan belirlenmelidir:

if(AccountEquity()<StartBalance) Yükleme = (AccountBalance()+(StartBalance-AccountEquity()))*Yeni Parti/StarLots

Bu, AccountCredit() olmadan. Seni doğru anladıysam tabii.

 
nuan :
Ben de aynı şeyi denedim, başlangıç vücudun sonunda .... Bunu neden anlamıyorum. Belki başka bir seçenek vardır?
Hatayı başka yerde arayın.
Her iki seçenek de çalışmalıdır.
 
teşekkürler bulundu!
 

Merhaba. Sana bir sorum var. En yakın maksimum ve minimumu bulmam gerekiyor. Ancak Open[0]'dan + - 10 puan içinde olmaları;

Şimdi buna sahibim:

için (int i=1;i<100;i++)

if (Yüksek[i+1]<Yüksek[i] && Yüksek[i]>Yüksek[i-1] kırılma;

en yakın maksimumu bulur,

High[i]>(Open[0]+0.0010) ve High[i]<(Open[0]+0.0020) karşılaştırmasını eklersem şöyle görünür:

if (Yüksek[i+1]<Yüksek[i] && Yüksek[i]>Yüksek[i-1] && Yüksek[i]>(Açık[0]+0.0010) && Yüksek[i]<(Açık[0] +0.0020) ara;

Program yanlış maksimumu veriyor.Sorun nedir?

Henüz minimumu denemedim.