[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 180

 
MQL414:

if (((アスク>=オーダーテイクプロフィット()))&& (OrderType() == OP_BUY)){x=1;}

if((Bid<=OrderTakeProfit())の場合)&& (OrderType() == OP_SELL)){y=1;}

if(Hour()==00:00) {x=0;y=0;}.

買いx=0、売りy=0を追加。



ありがとうございました。ちょうどいいようです。
 

ヘルプ)コードのバグとは何ですか)テスターではすべて正常です)、デモではすべて死んでいる)1つの位置が開かない)とエラーはありません)このように何日ではない)ここでは、コードです)。

extern inttern Tenkan=5;
extern int dd=9;
extern int slowing=3;
extern int kk=9;
extern inttern UrovenUp=56;
extern double TakeProfit=100;
extern double Lots=3;
extern double StopLoss=100;

int start()
{ダブルMY,価格Buy,価格Buy2,Ich,D,K,K1;
double Cc1,C2,C3,C4;
int ticketです。


MY=(Open[0] + Close[0] )/2;
Ich=((Open[iHighest(NULL, 0, MODE_OPEN, Tenkan)]) + (オープン[iHighest(NULL, 0, MODE_OPEN, Tenkan)])
(Close[iLowest(NULL、0、MODE_CLOSE、Tenkan)]))/2;

D=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_SIGNAL,0))
K=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,0))
K1=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,1))
Cc1=Close[2]<Close[1]です。
C2=Close[0]>Close[1]となります。
C3=K>K1です。
C4=D<UrovenUp。


//売買価格条件//
priceBuy=MarketInfo(Symbol(),MODE_ASK)とする。
priceBuy2=MarketInfo(Symbol(),MODE_BID)とする。


//購入条件


{if (MY > Ich && Cc1 && C2 && C3 && C4)

//ticket=OrderS³;/ticket=OrderS³;/condition for buying and selling//.
{ticket=OrderSend(Symbol(),OP_BUY,Lots,priceBuy,3,priceBuy2-StopLoss*Point,priceBuy2+TakeProfit*Point),
"私の赤ちゃん",123453,0,緑);
if(チケット>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0)です。
}

}

}
 

iCustom()関数を理解しようとしているのですが。

私は、2つのMAのクロスを分析し、1または2のシグナル(買いまたは売り)を与えるシグナルインジケータを書きました。以下はそのコードである。

#property indicator_chart_window

extern int MA_Light=13;
extern int MA_Hard=89;

bool sig;
int Signal=-1;
double MA_L1, MA_H1, 
       MA_L2, MA_H2;


int init()
 {
   sig=true;
 }

int start()
  {
   int    counted_bars=IndicatorCounted();
   
   MA_L1=iMA(Symbol(),0,MA_Light,0,MODE_EMA,PRICE_CLOSE,1);
   MA_H1=iMA(Symbol(),0,MA_Hard,0,MODE_EMA,PRICE_CLOSE,1);
   MA_L2=iMA(Symbol(),0,MA_Light,0,MODE_EMA,PRICE_CLOSE,2);
   MA_H2=iMA(Symbol(),0,MA_Hard,0,MODE_EMA,PRICE_CLOSE,2);
   //----------------------------------------------------------------

    if(MA_L2<=MA_H2 && MA_L1>MA_H1 && sig==true)
     {
      Signal=1;
      Alert("Покупай!!! ", Signal);
      sig=false;
     }
    if(MA_L2>=MA_H2 && MA_L1<MA_H1 && sig==true)
     {
      Signal=2;
      Alert("Продавай!!! ", Signal);
      sig=false;
     }
   
   if((MA_L2<MA_H2 && MA_L1<MA_H1 && sig==false) || // чтобы сигналило один раз
      (MA_L2>MA_H2 && MA_L1>MA_H1 && sig==false))
      sig=true;  
   
   Signal=-1;
   return(0);
  }

iCustomを使って、このシグナルで取引するExpert Advisorを作成 しようとしましたが、うまくいきません。Sigでは0という値が出ました。

extern double Lots=0.1;

double Sig;
string Symb;
bool Ans;

int init()
  {
   Symb=Symbol();

   return(0);
  }

int deinit()
  {

   return(0);
  }
int start()
  {
   Sig=iCustom(Symb,0,"experiment_iCustom_indicator",13,89,0,0);
   
   if(Sig==1)
    {
      Alert("Попытка открыть Buy...");
      Ans=OrderSend(Symb,OP_BUY,Lots,Ask,3,0,0,"",69,0);
       if(Ans==true)
        Alert("Ордер buy открыт");
       if(Ans==false)
        Alert("Произошла ошибка", GetLastError()); 
    }
   if(Sig==2)
    {
      Alert("Попытка открыть sell...");
      Ans=OrderSend(Symb,OP_SELL,Lots,Bid,3,0,0,"",69,0);
       if(Ans==true)
        Alert("Ордер sell открыт");
       if(Ans==false)
        Alert("Произошла ошибка", GetLastError()); 
    }
   
   return(0);
  }

何が間違っていたのか、どうすれば正しいのか、説明してください。

ありがとうございます。

 
silhouette:

iCustom()関数を理解しようとしています。

私は、2つのMAのクロスを分析し、1または2のシグナル(買いまたは売り)を与えるシグナルインジケータを書きました。以下はそのコードである。

iCustomを使って、このシグナルで取引するExpert Advisorを作成しようとしましたが、うまくいきません。Sigでは0という値が出ました。

何が間違っていたのか、どうすれば正しいのか、説明してください。

ありがとうございます。

まず、iCustom()の詳細をお読みください。インジケーターバッファーのみで動作します。

シグナルインジケータにバッファがない(0)ため、データを引き出すことができません。iCustom()は、インジケータから普通のint型変数が必要であることをどのようにして知ることができるのでしょうか?

 
こんにちは!たくさんの未決済注文の中から、新しい注文の前に開かれた注文を見つける方法を教えてください。コードとは何ですか?
 
alsu:

再起動後読書



ありがとうございました。 整理しました。

 

OrderCloseBy.

なぜこのような状況が発生するのか、説明できる人。

青い線である上の注文 Buy - 0.01
下の2番目の注文 Sell - 0.02
チャート上の黄色い矢印である ordersCloseBy() が呼ばれた時点。1回目の注文では-3、2回目の注文では+4でした。
この関数が呼ば れた後、1つ目は0、2つ目は+1で閉じられると思います。
しかし、それが判明したのは

0〜6行目で1順目が終了。そして、2番目の注文は-1.10で決済されました
この-1.10はどこから来たのでしょうか?例では2つの注文の合計利益が+1になっているので、マイナスごと決済してしまったからです

 
EAの動作を証券会社から隠すにはどうしたらいいですか? 例えば、取引にコメントをつけていないが、EAがMT4 EAのジャーナルにすべての定義済みデータを書き込んでいるとします(証券会社のサーバー上にもあると理解しています)。しかし、EAのバガブーからそのようなライン上で、Expert Advisorが取引していることはすべて明らかですが、チャート上に何かを描いていないことが判明しました 2012.06.14 20:30:36 MouseTrade 1.6.1 EURUSDm,M1入力。use_timer=true; delete_on_deinit=true; default_sl_level=90; default_trailing_stop=0; default_tp_level=200;use_be=true; default_be_level=50; be_offset=10;use_cl=false; default_cl_level=100;use_cp=false; cp_size_or_percent=false です。cp_levels="50,100,150"; cp_lots="10,50,50"; ロギングを無効にするにはどうしたらいいでしょうか。...: ロードに成功しました" 私は理解できないか、それは全く提供されていないのですか?

 
ご指摘をお願いします。エクセルでトレーディングをエミュレートしたい。エクセルで(自分の相場で)売買をエミュレートしたい。私は引用符のデータ(日付、高値、安値、歴史は重要ではありません)の配列を持っている場合、どのように計算を行うことができますExcelに正しく(数式を使用してください)現在の株式のバランスを計算した。ある気配値に対して売り+買い 注文を出したい場合、必要なセルにロットを入れ、それに現在のロットを追加する(両者が逆であれば相互にクローズする)。もしかしたら、誰かがプリセットを持っているかも?
 
エクセルでは数式だけではダメなのでは?マクロを書く必要があります。テーブル構成があるなら見せてくれ。マクロでお手伝いします。
Excelを自分のもののように愛しています。