Problem z prostym skryptem

O jezykach programowania w platformach i nie tylko.
goguś
Bywalec
Bywalec
Posty: 6
Rejestracja: 15 kwie 2011, 00:33

Problem z prostym skryptem

Nieprzeczytany post autor: goguś »

Witam wszystkich.W MQL jestem bardzo zielony i mam mały problem ze stworzeniem prostego skryptu.Założenie jest takie żeby w momencie uruchomienia składał on zlecenie oczekujące(buy stop),z ceną maksymalną ostatniego słupka(1)+1 pips.Do tego zlecenie stop loss na poziomie minimum tego słupka,oraz take profit który byłby 1,5 wielkością stoplossa.Na bazie innego skryptu stworzyłem coś takiego:

//+------------------------------------------------------------------+
//| trade.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property indicator_buffers 2
#include <stdlib.mqh>
#include <WinUser32.mqh>

double Buf_0[];
double Buf_1[];
int start()
{


//----StopLoss
double high,low,open,close;
double spread,wartsll,CO;
double tp,sl;
int i;
i=1;
Buf_0=High;
Buf_1=Low;
spread=Ask-Bid;
wartsll=Buf_0-Buf_1+spread+0.0001;
sl=Buf_1;
//-------------cena otwarcia
CO=Buf_0+spread;
//---------------take profit
tp=(wartsll*1.5)+CO;


//---------------------------------------------------------------
int ticket=OrderSend(Symbol(),OP_BUYSTOP,0.5,CO,20,sl,tp,"expert comment",255,0,Green);
if(ticket<1)
{
int error=GetLastError();
Print("Error = ",ErrorDescription(error));
return;
}
//----
OrderPrint();
return(0);
}
//+------------------------------------------------------------------+

No i tu się pojawia problem,bo platforma nie przyjmuje tego skryptu a komunikat to "removed"
Próbowałem już na wszystkie mi znane sposoby to zmieniać ale nic nie wymyśliłem,wiec gdyby ktoś mógł pomoc to bardzo proszę.Pozdrawiam

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Sorrt za OT, ale mam nadzieje, że wiesz że zlecenie BUYSTOP jest aktywowane przez cenę Ask. W takim razie jesli spread wynosi 3 pipsy to zlecenie zostanie otwarte 2 pipsy poniżej ostatniego słupka.
Solą życia jest kasa.

goguś
Bywalec
Bywalec
Posty: 6
Rejestracja: 15 kwie 2011, 00:33

Nieprzeczytany post autor: goguś »

Wiem,dlatego do ceny otwarcia(CO) dodałem spread,ale problemem jest to ze skrypt w ogole nie otwiera zlecenia.Wcześniej myślałem jeszcze ze winne są zbyt bliskie poziomy stoploss i take profit,ale na danych dziennych tez nie działa.Pzdr

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

goguś pisze://-------------cena otwarcia
CO=Buf_0+spread;

A nie tak ?:

Kod: Zaznacz cały

//-------------cena otwarcia 
CO=Buf_0[i]+(spread*Point)
Solą życia jest kasa.

goguś
Bywalec
Bywalec
Posty: 6
Rejestracja: 15 kwie 2011, 00:33

Nieprzeczytany post autor: goguś »

Wiesz,wydawało mi się ze jeśli spread jest już wcześniej zdefiniowany(jako ask-bid) to nie ma potrzeby mnożenia go jeszcze przez Point,ale niewykluczone ze się mylę,bo to ciągle dla mnie czarna magia:)

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

goguś pisze:jest już wcześniej zdefiniowany(jako ask-bid)
Masz rację. To nie to. Nie ma co z tym kombinowac.
Solą życia jest kasa.

ODPOWIEDZ