Meta Traderでのスプレッド取引 - ページ 159

 

情報をありがとうございました。

ここで、どうしてもわからないことがあります。MarketInfo()で取得した日付を使用する場合。

 int exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
 int exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);

3週間以内にポジションを建てる ことを禁止する条件を設定するには?そして、それに対応して、私の理解が正しければ、既存のポジションを決済するのが合理的です。これは有効期限であり、近いほど不可抗力のリスクが高くなります。

 
leonid553:

ここでは、ビッド・アスク・スプレッドを 追跡するスクリプトを紹介します(特に証券会社のブローカー向け)。

スレッドの真ん中より上のどこかに、同じバージョンがありますが、インジケータとして。

私のスクリプトはCPUリソースを大量に消費するので(-schedule)、開閉の直前に置いて、一気に削除するのがよいでしょう。

6NZ0、M1

Goldtraderの例を、あなたのスクリプトのコードで使ってみてはいかがでしょうか。

    //Задаем цены аск и бид тикера
    Ask_Tiker = MarketInfo(_tiker,MODE_ASK);
    Bid_Tiker = MarketInfo(_tiker,MODE_BID);
EAのフィルターみたいなもの。しかも、台本は必要ない。
削除済み  
Vitya:

情報をありがとうございました。

ここで、どうしてもわからないことがあります。MarketInfo()で取得した日付を使用する場合。

3週間以内にポジションを建てることを禁止する条件を設定するには?そして、それに対応して、私の理解が正しければ、既存のポジションを決済するのが合理的です。これは有効期限であり、近いほど不可抗力のリスクが高くなります。

エキスパートアドバイザーでは、各取引を最大許容スプレッドに照らして確認する必要があります。
 
Vitya:

そして、goldtraderが提案した構造を、あなたのスクリプトのコードで使用した場合

Expert Advisor のフィルタと同じです。そして、スクリプトは必要ありません。


そりゃあ、当たり前でしょう!?スクリプトは手動取引にのみ 必要です。

また、EAにティッカー別のクローズ/オープン条件を挿入することも可能です。しかし、そこには複雑な事情がある。EAはその作業でループする必要があります(したがって、プロセッサに過度の負荷がかかります)、さもなければ、このフィルタは流動性の低い契約には全く役に立ちません。

 

こんにちは、私の質問は正にその通りです。

スプレッド・インディケーターは、PROPERTIES(プロパティ)で、商品の名称を設定することができます。

extern stringSymbol_1= "GCG1";
extern string Symbol_2 = "SIF1"。

どのように書けばいいのか

doubleiCustom()

文字列 symbol, int timeframe,

- 1つ目と2つ目のツールはどちらを選べばよいのでしょうか?それとも、どれでもいいのか?



削除済み  
Rita:


待ったなし

Expert Advisorにコードを埋め込み、そこで条件を指定する必要があります。

//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;

int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j=0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);

if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{



код советника




}
}
//+------------------------------------------------------------------+

 
なるほど、ありがとうございます。
 
forex-k:

待ったなし

Expert Advisorにコードを埋め込み、そこで条件を指定する必要があります。

//----
extern string Simbol1 = "ESZ0"; extern double k1 =1;
extern string Simbol2 = "NQZ0"; extern double k2 =1;
extern double lot =1;
//----
extern double maxSpred =30;
extern int MinTimeExp =1800000;

int exp1,exp2,v1,v2;
//+------------------------------------------------------------------+
double StoimPunkt(string B){return(MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)));}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
double sred(int typ,string B)
{double j;RefreshRates();
if(typ==0)j=((MarketInfo(B+"#I",MODE_ASK)-MarketInfo(B,MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(typ==1)j=((MarketInfo(B,MODE_BID)-MarketInfo(B+"#I",MODE_BID))/MarketInfo(B,MODE_POINT))*StoimPunkt(B);
if(j<0)j}0;return(j);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
int start()
{
exp1 =MarketInfo(Simbol1,MODE_EXPIRATION);
exp2 =MarketInfo(Simbol2,MODE_EXPIRATION);
v1 =MarketInfo(Simbol1,MODE_TRADEALLOWED);
v2 =MarketInfo(Simbol2,MODE_TRADEALLOWED);

if((sred(0,Simbol1)*lot*k1+sred(1,Simbol1)*lot*k1<maxSpred)&&(sred(0,Simbol2)*lot*k2+sred(1,Simbol2)*lot*k2<maxSpred)&&
(TimeCurrent()+MinTimeExp<exp1)&&(TimeCurrent()+MinTimeExp<exp2)&&(v1 ==1)&&(v2 ==1))
{



код советника




}
}
//+------------------------------------------------------------------+



また、ありがとうございました。私の疑問にも答えてくれています。
 

振り返りのための情報...

mc - ym(4 ^ 9)

 
leonid553:

振り返りのための情報...

mc - ym(4 ^ 9)


=================================